cisst-saw
|
#include <nmrMultiVariablePowerBasis.h>
Public Types | |
typedef double | VariableType |
typedef nmrPolynomialTermPowerIndex::PowerType | PowerType |
typedef nmrPolynomialTermPowerIndex::VariableIndexType | VariableIndexType |
typedef VariableType | ValueType |
typedef nmrMultiVariablePowerBasis | BaseType |
typedef nmrMultiVariablePowerBasis | BaseType |
Protected Types | |
typedef vctDynamicMatrix < VariableType > | BasisContainerType |
Protected Member Functions | |
void | PrivateSetVariable (VariableIndexType varIndex, VariableType value) |
Protected Attributes | |
BasisContainerType | BasisContainer |
VariableIndexType | ImplicitVarIndex |
This class represents the set of variables and variable powers that is used in evaluating a polynomial. The functionality was factored out of the original location in the polynomial class, so that the polynomial can serve as a term container, and passes by const reference to functions.
The SetVariable() and SetVariables() functions are declared virtual, to support various bases, such as standard basis and barycentric basis.
|
protected |
typedef nmrPolynomialTermPowerIndex::VariableIndexType nmrMultiVariablePowerBasis::VariableIndexType |
typedef double nmrMultiVariablePowerBasis::VariableType |
|
inline |
|
inlinevirtual |
nmrMultiVariablePowerBasis::BarycentricBasis | ( | VariableIndexType | numVariables, |
PowerType | maxPower, | ||
VariableIndexType | implicitVarIndex = -1 |
||
) |
|
pure virtual |
Returns true if the value of variable indicated by the index can be set using SetVariable().
|
inlinevirtual |
|
inlinevirtual |
This function is provided for efficiency reasons. In some cases, such as computing integrals, the user would want to avoid the overhead of instantiating a nmrPolynomialTermPowerIndex and just evaluate the product, say, based on an external table. In these case, the user can call this quick-access method. Note that this method is not safe in general, since it does not perform validity checks on the input set of powers. It is specifically made for highest runtime efficiency – do not use it with untested code.
|
inline |
return the value of the implicit variable.
|
inline |
return the index of the implicit variable
|
inline |
|
inline |
|
inline |
Return the sum of all the variables
|
inline |
|
inline |
Return a specific power of a specific variable
|
inline |
Retrieve the values of the variables at the current point
void nmrMultiVariablePowerBasis::Initialize | ( | VariableIndexType | numVariables, |
PowerType | maxPower | ||
) |
This function initializes the all independent variables to zero and the degree to the given value. It is to be called during events such as serialization.
|
protected |
Actually set the value of a variable by index
|
inline |
choose which of the variables is the implicit one.
|
pure virtual |
Set the value of one variable
|
inlinevirtual |
|
virtual |
|
pure virtual |
Set the values of the polynomial variables to a specific n-dimensional point. This enables to pre-calculate the power basis for future evaluations. Implemented for each concrete polynomial class
|
virtual |
|
virtual |
|
inline |
|
protected |
|
protected |