template<class RangeFieldType, int dimension, int maxDegree>
struct Dune::Functions::MonomialSet< RangeFieldType, dimension, maxDegree >
Function, which evaluates all monomials up to degree maxDegree in a given coordinate.
- Template Parameters
-
| RangeFieldType | scalar type. |
| dim | Domain dimension. |
| maxDegree | Maximal monomial degree. |
The Range of this (differentiable) function is a vector of monomial evaluations [1,x,y,z,xx,xy,yy,xz,yz,zz,...] in the coordinate vector [x,y,z]. The maximal degree of the provided monomial evaluations is given by the parameter maxDegree. The number of coordinate components is given by the dimension. From maxDegree and dimension the total number of monomials can be computed as binomial(maxDegree+dimension, dimension) and is provided as static constant ::size in the class.
The function models the Concept::DifferentiableFunction<Range(Domain)> concept.
The MonomialSet function is specialized for dim = 1, dim = 2, and dim = 3 only.
template<class RangeFieldType, int dimension, int maxDegree>
Return array of monomial exponents with shape size x dim.
The k-the entry of the returned array is the exponent multi-index of the monomial corresponding the the k-th component of the function. Note that the ordering is tensor based, e.g., for the set of 3d monomials 1,x,y,z,xx,xy,yy,xz,yz,zz, ... we get the exponents: [ [0,0,0], [1,0,0], [0,1,0], [0,0,1], [2,0,0], [1,1,0], [0,2,0], [1,0,1],
[0,1,1], [0,0,2], ...]