Class xlifepp::PolynomialBasisT#

template<typename K = real_t>
class PolynomialBasisT : public std::list<PolynomialT<real_t>>#

Inheritence diagram for xlifepp::PolynomialBasisT:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "2" [label="std::list< PolynomialT< real_t > >" tooltip="std::list< PolynomialT< real_t > >"] "3" [label="std::list< T >" tooltip="std::list< T >"] "1" [label="xlifepp::PolynomialBasisT< K >" tooltip="xlifepp::PolynomialBasisT< K >" fillcolor="#BFBFBF"] "2" -> "3" [dir=forward tooltip="template-instance"] "1" -> "2" [dir=forward tooltip="public-inheritance"] }

Collaboration diagram for xlifepp::PolynomialBasisT:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "2" [label="std::list< PolynomialT< real_t > >" tooltip="std::list< PolynomialT< real_t > >"] "3" [label="std::list< T >" tooltip="std::list< T >"] "1" [label="xlifepp::PolynomialBasisT< K >" tooltip="xlifepp::PolynomialBasisT< K >" fillcolor="#BFBFBF"] "2" -> "3" [dir=forward tooltip="template-instance"] "1" -> "2" [dir=forward tooltip="public-inheritance"] }

deals with a set of Polynomials

Public Functions

void add(const PolynomialBasisT&)#

add basis to current basis (do not check independancy nor compatibility dim!)

void buildQk(dimen_t)#

Polynomials of degree at most k on each variable (ai<=k)

void buildQks(dimen_t, dimen_t = 0, dimen_t = 0)#

Polynomials of degree at most ki on variable i (ai<=ki)

void buildTree()#

build tree representation

build tree representation of polynomials

inline void clean()#

remove monomials with coefficients < asZero

inline void clean(real_t asZero)#

remove monomials with coefficients < asZero

inline dimen_t degree() const#

maximal degree

inline std::vector<K> eval(const K &x1, const K &x2 = K(1), const K &x3 = K(1)) const#

evaluate at x=(x1,x2,x3) using monomials representation

inline std::vector<K> &eval(std::vector<K> &res, const K &x1, const K &x2 = K(1), const K &x3 = K(1)) const#

evaluate at x=(x1,x2,x3) using monomials representation

inline std::vector<K> evalTree(const K &x1, const K &x2 = K(1), const K &x3 = K(1)) const#

evaluate at x=(x1,x2,x3) using tree representation

inline std::vector<K> &evalTree(std::vector<K> &res, const K &x1, const K &x2 = K(1), const K &x3 = K(1)) const#

evaluate at x=(x1,x2,x3) using tree representation

inline std::vector<K> operator()(const K &x1, const K &x2 = K(1), const K &x3 = K(1)) const#

evaluate at x=(x1,x2,x3)

inline std::vector<K> &operator()(std::vector<K> &res, const K &x1, const K &x2 = K(1), const K &x3 = K(1)) const#

evaluate at x=(x1,x2,x3)

PolynomialBasisT<K> &swapVar(dimen_t v1, dimen_t v2, dimen_t v3)#

swap variables x1->xv1, x2->xv2, x3->xv3

Public Members

dimen_t dim#

number of variables in Polynomials

string_t name#

basis name