Implements the scalar power operator within the symbolic operators family. More...
#include <power.hpp>

Public Member Functions | |
| virtual returnValue | AD_backward (int dim, VariableType *varType, int *component, Operator *seed, Operator **df, int &nNewIS, TreeProjection ***newIS) |
| virtual returnValue | AD_backward (int number, double seed, double *df) |
| virtual returnValue | AD_backward2 (int number, double seed1, double seed2, double *df, double *ddf) |
| virtual Operator * | AD_forward (int dim, VariableType *varType, int *component, Operator **seed, int &nNewIS, TreeProjection ***newIS) |
| virtual returnValue | AD_forward (int number, double *seed, double *df) |
| virtual returnValue | AD_forward (int number, double *x, double *seed, double *f, double *df) |
| virtual returnValue | AD_forward2 (int number, double *seed1, double *seed2, double *df, double *ddf) |
| virtual returnValue | AD_symmetric (int dim, VariableType *varType, int *component, Operator *l, Operator **S, int dimS, Operator **dfS, Operator **ldf, Operator **H, int &nNewLIS, TreeProjection ***newLIS, int &nNewSIS, TreeProjection ***newSIS, int &nNewHIS, TreeProjection ***newHIS) |
| virtual Operator * | clone () const |
| virtual Operator * | differentiate (int index) |
| virtual returnValue | evaluate (int number, double *x, double *result) |
| virtual returnValue | evaluate (EvaluationBase *x) |
| virtual CurvatureType | getCurvature () |
| virtual MonotonicityType | getMonotonicity () |
| virtual OperatorName | getName () |
| virtual returnValue | initDerivative () |
| virtual BooleanType | isLinearIn (int dim, VariableType *varType, int *component, BooleanType *implicit_dep) |
| virtual BooleanType | isPolynomialIn (int dim, VariableType *varType, int *component, BooleanType *implicit_dep) |
| virtual BooleanType | isRationalIn (int dim, VariableType *varType, int *component, BooleanType *implicit_dep) |
| Power & | operator= (const Power &arg) |
| Power () | |
| Power (Operator *_argument1, Operator *_argument2) | |
| Power (const Power &arg) | |
| virtual std::ostream & | print (std::ostream &stream) const |
| virtual Operator * | substitute (int index, const Operator *sub) |
| ~Power () | |
Protected Attributes | |
| TreeProjection * | derivative01 |
| TreeProjection * | derivative02 |
| TreeProjection * | derivative12 |
| TreeProjection * | derivative21 |
| TreeProjection * | derivative22 |
| TreeProjection * | derivative23 |
Implements the scalar power operator within the symbolic operators family.
The class Power_Int implements the scalar power operator within the symbolic operators family.
| Power::Power | ( | Operator * | _argument1, |
| Operator * | _argument2 | ||
| ) |
| Power::Power | ( | const Power & | arg | ) |
| Power::~Power | ( | ) |
| returnValue Power::AD_backward | ( | int | dim, |
| VariableType * | varType, | ||
| int * | component, | ||
| Operator * | seed, | ||
| Operator ** | df, | ||
| int & | nNewIS, | ||
| TreeProjection *** | newIS | ||
| ) | [virtual] |
Automatic Differentiation in backward mode on the symbolic
level. This function generates an expression for a
backward derivative
| dim | number of directions |
| varType | the variable types |
| component | and their components |
| seed | the backward seed |
| df | the result |
| nNewIS | the number of new IS |
| newIS | the new IS-pointer |
Implements BinaryOperator.
| returnValue Power::AD_backward | ( | int | number, |
| double | seed, | ||
| double * | df | ||
| ) | [virtual] |
Automatic Differentiation in backward mode based on
buffered values
| number | the buffer position |
| seed | the seed |
| df | the derivative of the expression |
Implements BinaryOperator.
| returnValue Power::AD_backward2 | ( | int | number, |
| double | seed1, | ||
| double | seed2, | ||
| double * | df, | ||
| double * | ddf | ||
| ) | [virtual] |
Automatic Differentiation in backward mode for 2nd order
derivatives based on buffered values.
| number | the buffer position |
| seed1 | the seed1 |
| seed2 | the seed2 |
| df | the 1st derivative of the expression |
| ddf | the 2nd derivative of the expression |
Implements BinaryOperator.
| Operator * Power::AD_forward | ( | int | dim, |
| VariableType * | varType, | ||
| int * | component, | ||
| Operator ** | seed, | ||
| int & | nNewIS, | ||
| TreeProjection *** | newIS | ||
| ) | [virtual] |
Automatic Differentiation in forward mode on the symbolic
level. This function generates an expression for a
forward derivative
| dim | dimension of the seed |
| varType | the variable types |
| component | and their components |
| seed | the forward seed |
| nNewIS | the number of new IS |
| newIS | the new IS-pointer |
Implements BinaryOperator.
| returnValue Power::AD_forward | ( | int | number, |
| double * | seed, | ||
| double * | df | ||
| ) | [virtual] |
Automatic Differentiation in forward mode.
This function uses the intermediate
results from a buffer
| number | storage position |
| seed | the seed |
| df | the derivative of the expression |
Implements BinaryOperator.
| returnValue Power::AD_forward | ( | int | number, |
| double * | x, | ||
| double * | seed, | ||
| double * | f, | ||
| double * | df | ||
| ) | [virtual] |
Automatic Differentiation in forward mode.
This function stores the intermediate
results in a buffer (needed for 2nd order automatic
differentiation in backward mode)
| number | storage position |
| x | The evaluation point x |
| seed | the seed |
| f | the value of the expression at x |
| df | the derivative of the expression |
Implements BinaryOperator.
| returnValue Power::AD_forward2 | ( | int | number, |
| double * | seed1, | ||
| double * | seed2, | ||
| double * | df, | ||
| double * | ddf | ||
| ) | [virtual] |
Automatic Differentiation in forward mode for
2nd derivatives.
This function uses intermediate
results from a buffer.
| number | the buffer position |
| seed1 | the seed |
| seed2 | the seed for the first derivative |
| df | the derivative of the expression |
| ddf | the 2nd derivative of the expression |
Implements BinaryOperator.
| returnValue Power::AD_symmetric | ( | int | dim, |
| VariableType * | varType, | ||
| int * | component, | ||
| Operator * | l, | ||
| Operator ** | S, | ||
| int | dimS, | ||
| Operator ** | dfS, | ||
| Operator ** | ldf, | ||
| Operator ** | H, | ||
| int & | nNewLIS, | ||
| TreeProjection *** | newLIS, | ||
| int & | nNewSIS, | ||
| TreeProjection *** | newSIS, | ||
| int & | nNewHIS, | ||
| TreeProjection *** | newHIS | ||
| ) | [virtual] |
Automatic Differentiation in symmetric mode on the symbolic
level. This function generates an expression for a
second order derivative.
| dim | number of directions |
| varType | the variable types |
| component | and their components |
| l | the backward seed |
| S | forward seed matrix |
| dimS | dimension of forward seed |
| dfS | first order foward result |
| ldf | first order backward result |
| H | upper trianglular part of the Hessian |
| nNewLIS | the number of newLIS |
| newLIS | the new LIS-pointer |
| nNewSIS | the number of newSIS |
| newSIS | the new SIS-pointer |
| nNewHIS | the number of newHIS |
| newHIS | the new HIS-pointer |
Implements BinaryOperator.
| Operator * Power::clone | ( | ) | const [virtual] |
Provides a deep copy of the expression.
Implements BinaryOperator.
| Operator * Power::differentiate | ( | int | index | ) | [virtual] |
Returns the derivative of the expression with respect
to the variable var(index).
| index | diff. index |
Implements BinaryOperator.
| returnValue Power::evaluate | ( | int | number, |
| double * | x, | ||
| double * | result | ||
| ) | [virtual] |
Evaluates the expression and stores the intermediate
results in a buffer (needed for automatic differentiation
in backward mode)
| number | storage position |
| x | the input variable x |
| result | the result |
Implements BinaryOperator.
| returnValue Power::evaluate | ( | EvaluationBase * | x | ) | [virtual] |
Evaluates the expression (templated version)
Implements BinaryOperator.
| CurvatureType Power::getCurvature | ( | ) | [virtual] |
Returns the curvature of the expression
Implements BinaryOperator.
| MonotonicityType Power::getMonotonicity | ( | ) | [virtual] |
Returns the monotonicity of the expression.
Implements BinaryOperator.
| OperatorName Power::getName | ( | ) | [virtual] |
| returnValue Power::initDerivative | ( | ) | [virtual] |
Reimplemented from BinaryOperator.
| BooleanType Power::isLinearIn | ( | int | dim, |
| VariableType * | varType, | ||
| int * | component, | ||
| BooleanType * | implicit_dep | ||
| ) | [virtual] |
Checks whether the expression is linear in
(or not depending on) a variable
| dim | number of directions |
| varType | the variable types |
| component | and their components |
| implicit_dep | implicit dependencies |
Implements BinaryOperator.
| BooleanType Power::isPolynomialIn | ( | int | dim, |
| VariableType * | varType, | ||
| int * | component, | ||
| BooleanType * | implicit_dep | ||
| ) | [virtual] |
Checks whether the expression is polynomial in
the specified variables
| dim | number of directions |
| varType | the variable types |
| component | and their components |
| implicit_dep | implicit dependencies |
Implements BinaryOperator.
| BooleanType Power::isRationalIn | ( | int | dim, |
| VariableType * | varType, | ||
| int * | component, | ||
| BooleanType * | implicit_dep | ||
| ) | [virtual] |
Checks whether the expression is rational in
the specified variables
| dim | number of directions |
| varType | the variable types |
| component | and their components |
| implicit_dep | implicit dependencies |
Implements BinaryOperator.
| std::ostream & Power::print | ( | std::ostream & | stream | ) | const [virtual] |
| Operator * Power::substitute | ( | int | index, |
| const Operator * | sub | ||
| ) | [virtual] |
Substitutes var(index) with the expression sub.
| index | subst. index |
| sub | the substitution |
Implements BinaryOperator.
TreeProjection* Power::derivative01 [protected] |
TreeProjection* Power::derivative02 [protected] |
TreeProjection* Power::derivative12 [protected] |
TreeProjection* Power::derivative21 [protected] |
TreeProjection* Power::derivative22 [protected] |
TreeProjection* Power::derivative23 [protected] |