ChebyshevBasisElement represents an element of Chebyshev polynomial basis, written as the product of Chebyshev polynomials, in the form Tₚ₀(x₀)Tₚ₁(x₁)...Tₚₙ(xₙ), where each Tₚᵢ(xᵢ) is a (univariate) Chebyshev polynomial of degree pᵢ.
|
| ChebyshevBasisElement () |
| Constructs a ChebyshevBasisElement equals to 1. More...
|
|
| ChebyshevBasisElement (const std::map< Variable, int > &var_to_degree_map) |
|
| ChebyshevBasisElement (const Variable &var) |
| Constructs a Chebyshev polynomial T₁(var). More...
|
|
| ChebyshevBasisElement (const Variable &var, int degree) |
| Constructs a Chebyshev polynomial Tₙ(var) where n = degree. More...
|
|
| ChebyshevBasisElement (std::nullptr_t) |
| Constructs a default value 1. More...
|
|
| ChebyshevBasisElement (const Eigen::Ref< const VectorX< Variable >> &vars, const Eigen::Ref< const Eigen::VectorXi > °rees) |
|
| ~ChebyshevBasisElement () override |
|
bool | operator< (const ChebyshevBasisElement &other) const |
| Compares two ChebyshevBasisElement in lexicographic order. More...
|
|
std::map< ChebyshevBasisElement, double > | Differentiate (const Variable &var) const |
| Differentiates the ChebyshevBasisElement with respect to a variable. More...
|
|
std::map< ChebyshevBasisElement, double > | Integrate (const Variable &var) const |
| Integrates a ChebyshevBasisElement for a variable. More...
|
|
void | MergeBasisElementInPlace (const ChebyshevBasisElement &other) |
| Merges this Chebyshev basis element with another Chebyshev basis element other by merging their var_to_degree_map. More...
|
|
std::pair< double, ChebyshevBasisElement > | EvaluatePartial (const Environment &env) const |
| Partially evaluates using a given environment env . More...
|
|
|
| ChebyshevBasisElement (const ChebyshevBasisElement &)=default |
|
ChebyshevBasisElement & | operator= (const ChebyshevBasisElement &)=default |
|
| ChebyshevBasisElement (ChebyshevBasisElement &&)=default |
|
ChebyshevBasisElement & | operator= (ChebyshevBasisElement &&)=default |
|
| PolynomialBasisElement ()=default |
| Constructs a polynomial basis with empty var_to_degree map. More...
|
|
| PolynomialBasisElement (const std::map< Variable, int > &var_to_degree_map) |
| Constructs a polynomial basis given the variable and the degree of that variable. More...
|
|
| PolynomialBasisElement (const Eigen::Ref< const VectorX< Variable >> &vars, const Eigen::Ref< const Eigen::VectorXi > °rees) |
| Constructs a polynomial basis, such that it contains the variable-to-degree map vars(i)→degrees(i). More...
|
|
virtual | ~PolynomialBasisElement () |
|
const std::map< Variable, int > & | var_to_degree_map () const |
|
const std::map< Variable, int > & | get_powers () const |
| Returns variable to degree map. More...
|
|
int | total_degree () const |
| Returns the total degree of a polynomial basis. More...
|
|
int | degree (const Variable &v) const |
| Returns the degree of this PolynomialBasisElement in a variable v . More...
|
|
Variables | GetVariables () const |
|
double | Evaluate (const Environment &env) const |
| Evaluates under a given environment env . More...
|
|
bool | operator== (const PolynomialBasisElement &other) const |
|
bool | operator!= (const PolynomialBasisElement &other) const |
|
Expression | ToExpression () const |
|
| PolynomialBasisElement (const PolynomialBasisElement &)=default |
|
PolynomialBasisElement & | operator= (const PolynomialBasisElement &)=default |
|
| PolynomialBasisElement (PolynomialBasisElement &&)=default |
|
PolynomialBasisElement & | operator= (PolynomialBasisElement &&)=default |
|
Partially evaluates using a given environment env
.
The evaluation result is of type pair<double, ChebyshevBasisElement>. The first component (: double) represents the coefficient part while the second component represents the remaining parts of the ChebyshevBasisElement which was not evaluated, the product of the first and the second component is the result of the partial evaluation. For example, if this ChebyshevBasisElement is T₂(x)T₃(y)T₁(z), and env
stores x→ 3, y→ 2, then the partial evaluation is T₂(3)*T₃(2)*T₁(z) = 17 * 26 * T₁(z) = 442*T₁(z), then we return the pair (442, T₁(z)).