ACADO Toolkit
1.2.0beta
Toolkit for Automatic Control and Dynamic Optimization
|
Implements the scalar addition operator within the symbolic expressions family. More...
#include <addition.hpp>
Public Member Functions | |
Addition () | |
Default constructor. | |
Addition (Operator *_argument1, Operator *_argument2) | |
Default constructor. | |
Addition (const Addition &arg) | |
Copy constructor (deep copy). | |
~Addition () | |
Default destructor. | |
Addition & | operator= (const Addition &arg) |
Assignment Operator (deep copy). | |
virtual returnValue | evaluate (int number, double *x, double *result) |
Evaluates the expression and stores the intermediate results in a buffer (needed for automatic differentiation in backward mode) . | |
virtual returnValue | evaluate (EvaluationBase *x) |
Evaluates the expression (templated version) | |
virtual Operator * | differentiate (int index) |
Returns the derivative of the expression with respect to the variable var(index). | |
virtual Operator * | AD_forward (int dim, VariableType *varType, int *component, Operator **seed, int &nNewIS, TreeProjection ***newIS) |
Automatic Differentiation in forward mode on the symbolic level. | |
virtual returnValue | AD_backward (int dim, VariableType *varType, int *component, Operator *seed, Operator **df) |
Automatic Differentiation in backward mode on the symbolic level. | |
virtual Operator * | substitute (int index, const Operator *sub) |
Substitutes var(index) with the expression sub. | |
virtual BooleanType | isLinearIn (int dim, VariableType *varType, int *component, BooleanType *implicit_dep) |
Checks whether the expression is linear in (or not depending on) a variable . | |
virtual BooleanType | isPolynomialIn (int dim, VariableType *varType, int *component, BooleanType *implicit_dep) |
Checks whether the expression is polynomial in the specified variables . | |
virtual BooleanType | isRationalIn (int dim, VariableType *varType, int *component, BooleanType *implicit_dep) |
Checks whether the expression is rational in the specified variables . | |
virtual MonotonicityType | getMonotonicity () |
Returns the monotonicity of the expression. | |
virtual CurvatureType | getCurvature () |
Returns the curvature of the expression . | |
virtual double | getValue () const |
Return the value of the constant. | |
virtual returnValue | AD_forward (int number, double *seed, double *df) |
Automatic Differentiation in forward mode. | |
virtual returnValue | AD_forward (int number, double *x, double *seed, double *f, double *df) |
Automatic Differentiation in forward mode. | |
virtual returnValue | AD_backward (int number, double seed, double *df) |
Automatic Differentiation in backward mode based on buffered values . | |
virtual returnValue | AD_forward2 (int number, double *seed1, double *seed2, double *df, double *ddf) |
Automatic Differentiation in forward mode for 2nd derivatives. | |
virtual returnValue | AD_backward2 (int number, double seed1, double seed2, double *df, double *ddf) |
Automatic Differentiation in backward mode for 2nd order derivatives based on buffered values. | |
virtual Stream & | print (Stream &stream) const |
Prints the expression into a stream. | |
virtual Operator * | clone () const |
Provides a deep copy of the expression. | |
virtual OperatorName | getName () |
Asks the expression for its name. | |
virtual NeutralElement | isOneOrZero () const |
Checks whether the expression is zero or one . | |
virtual BooleanType | isDependingOn (VariableType var) const |
Asks the expression whether it is depending on a certian type of variable. | |
virtual BooleanType | isDependingOn (int dim, VariableType *varType, int *component, BooleanType *implicit_dep) |
Checks whether the expression is depending on a variable . | |
virtual returnValue | setMonotonicity (MonotonicityType monotonicity_) |
Overwrites the monotonicity of the expression. | |
virtual returnValue | setCurvature (CurvatureType curvature_) |
Overwrites the curvature of the expression. | |
virtual returnValue | clearBuffer () |
Clears the buffer and resets the buffer size to 1. | |
virtual returnValue | enumerateVariables (SymbolicIndexList *indexList) |
Enumerates all variables based on a common IndexList. | |
virtual BooleanType | isVariable (VariableType &varType, int &component) const |
Asks the expression whether it is a variable. | |
virtual returnValue | loadIndices (SymbolicIndexList *indexList) |
The function loadIndices passes an IndexList through the whole expression tree. | |
virtual BooleanType | isSymbolic () const |
Asks whether all elements are purely symbolic. | |
virtual returnValue | setVariableExportName (const VariableType &_type, const Stream *_name) |
Sets the name of the variable that is used for code export. | |
TreeProjection & | operator+= (const double &arg) |
TreeProjection & | operator+= (const Vector &arg) |
TreeProjection & | operator+= (const Matrix &arg) |
TreeProjection & | operator+= (const Expression &arg) |
TreeProjection & | operator-= (const double &arg) |
TreeProjection & | operator-= (const Vector &arg) |
TreeProjection & | operator-= (const Matrix &arg) |
TreeProjection & | operator-= (const Expression &arg) |
TreeProjection & | operator*= (const double &arg) |
TreeProjection & | operator*= (const Vector &arg) |
TreeProjection & | operator*= (const Matrix &arg) |
TreeProjection & | operator*= (const Expression &arg) |
TreeProjection & | operator/= (const double &arg) |
TreeProjection & | operator/= (const Expression &arg) |
Expression | operator+ (const double &arg) const |
Expression | operator+ (const Vector &arg) const |
Expression | operator+ (const Matrix &arg) const |
Expression | operator+ (const Operator &arg) const |
Expression | operator+ (const Expression &arg) const |
Expression | operator- (const double &arg) const |
Expression | operator- (const Vector &arg) const |
Expression | operator- (const Matrix &arg) const |
Expression | operator- (const Operator &arg) const |
Expression | operator- (const Expression &arg) const |
Expression | operator- () const |
Expression | operator* (const double &arg) const |
Expression | operator* (const Vector &arg) const |
Expression | operator* (const Matrix &arg) const |
Expression | operator* (const Operator &arg) const |
Expression | operator* (const Expression &arg) const |
Expression | operator/ (const double &arg) const |
Expression | operator/ (const Operator &arg) const |
Expression | operator/ (const Expression &arg) const |
ConstraintComponent | operator<= (const double &ub) const |
ConstraintComponent | operator<= (const Vector &ub) const |
ConstraintComponent | operator<= (const VariablesGrid &ub) const |
ConstraintComponent | operator>= (const double &lb) const |
ConstraintComponent | operator>= (const Vector &lb) const |
ConstraintComponent | operator>= (const VariablesGrid &lb) const |
ConstraintComponent | operator== (const double &b) const |
ConstraintComponent | operator== (const Vector &b) const |
ConstraintComponent | operator== (const VariablesGrid &b) const |
virtual BooleanType | isSmooth () const |
Checks whether the expression is smooth in time . | |
Stream | operator<< (Stream &stream) |
Prints the expression into a stream ("flush" version). | |
Stream & | operator<< (Stream &stream) const |
Prints the expression into a stream ("flush" version). | |
virtual TreeProjection * | cloneTreeProjection () const |
Provides a deep copy of a tree projection. | |
virtual int | getGlobalIndex () const |
Asks the variable for its relative index. | |
virtual Operator * | passArgument () const |
Returns the argument or NULL if no intermediate argument available. | |
Public Attributes | |
int | nCount |
Protected Member Functions | |
void | copy (const BinaryOperator &arg) |
void | deleteAll () |
Protected Attributes | |
Operator * | argument1 |
The first summand. | |
Operator * | argument2 |
The second summand. | |
Operator * | dargument1 |
The derivative of the first summand. | |
Operator * | dargument2 |
The derivative of the second summand. | |
double * | argument1_result |
The results for the first summand. | |
double * | argument2_result |
The results for the second summand. | |
double * | dargument1_result |
The results for the first derivative of the first summand. | |
double * | dargument2_result |
The results for the first derivative of the second summand. | |
int | bufferSize |
The size of the buffer. | |
CurvatureType | curvature |
MonotonicityType | monotonicity |
Friends | |
class | Power_Int |
Expression | operator+ (const double &arg1, const Operator &arg2) |
Expression | operator+ (const Vector &arg1, const Operator &arg2) |
Expression | operator+ (const Matrix &arg1, const Operator &arg2) |
Expression | operator- (const double &arg1, const Operator &arg2) |
Expression | operator- (const Vector &arg1, const Operator &arg2) |
Expression | operator- (const Matrix &arg1, const Operator &arg2) |
Expression | operator* (const double &arg1, const Operator &arg2) |
Expression | operator* (const Vector &arg1, const Operator &arg2) |
Expression | operator* (const Matrix &arg1, const Operator &arg2) |
Expression | operator/ (const double &arg1, const Operator &arg2) |
Expression | operator/ (const Vector &arg1, const Operator &arg2) |
Expression | operator/ (const Matrix &arg1, const Operator &arg2) |
ConstraintComponent | operator<= (double lb, const Operator &arg) |
ConstraintComponent | operator<= (Vector lb, const Operator &arg) |
ConstraintComponent | operator<= (VariablesGrid lb, const Operator &arg) |
ConstraintComponent | operator>= (double ub, const Operator &arg) |
ConstraintComponent | operator>= (Vector ub, const Operator &arg) |
ConstraintComponent | operator>= (VariablesGrid ub, const Operator &arg) |
ConstraintComponent | operator== (double b, const Operator &arg) |
ConstraintComponent | operator== (Vector b, const Operator &arg) |
ConstraintComponent | operator== (VariablesGrid b, const Operator &arg) |
Stream & | operator<< (Stream &stream, const Operator &arg) |
Prints the expression into a stream ("flush" version). | |
returnValue | operator<< (FILE *file, const Operator &arg) |
Prints the expression into a stream ("flush" version). |
The class Addition implements the scalar addition operator within the symbolic expressions family.
Referenced by AD_forward(), clone(), differentiate(), and substitute().
Addition::Addition | ( | Operator * | _argument1, |
Operator * | _argument2 | ||
) |
Addition::Addition | ( | const Addition & | arg | ) |
returnValue Addition::AD_backward | ( | int | dim, |
VariableType * | varType, | ||
int * | component, | ||
Operator * | seed, | ||
Operator ** | df | ||
) | [virtual] |
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 |
Implements BinaryOperator.
References Operator::AD_backward(), BinaryOperator::argument1, BinaryOperator::argument2, TreeProjection::clone(), and SUCCESSFUL_RETURN.
returnValue Addition::AD_backward | ( | int | number, |
double | seed, | ||
double * | df | ||
) | [virtual] |
number | the buffer position |
seed | the seed |
df | the derivative of the expression |
Implements BinaryOperator.
References Operator::AD_backward(), BinaryOperator::argument1, BinaryOperator::argument2, and SUCCESSFUL_RETURN.
returnValue Addition::AD_backward2 | ( | int | number, |
double | seed1, | ||
double | seed2, | ||
double * | df, | ||
double * | ddf | ||
) | [virtual] |
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.
References Operator::AD_backward2(), BinaryOperator::argument1, BinaryOperator::argument2, and SUCCESSFUL_RETURN.
Operator * Addition::AD_forward | ( | int | dim, |
VariableType * | varType, | ||
int * | component, | ||
Operator ** | seed, | ||
int & | nNewIS, | ||
TreeProjection *** | newIS | ||
) | [virtual] |
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.
References Operator::AD_forward(), Addition(), BinaryOperator::argument1, BinaryOperator::argument2, Operator::clone(), BinaryOperator::dargument1, BinaryOperator::dargument2, Operator::isOneOrZero(), and NE_ZERO.
returnValue Addition::AD_forward | ( | int | number, |
double * | seed, | ||
double * | df | ||
) | [virtual] |
This function uses the intermediate
results from a buffer
number | storage position |
seed | the seed |
df | the derivative of the expression |
Implements BinaryOperator.
References Operator::AD_forward(), BinaryOperator::argument1, BinaryOperator::argument2, BinaryOperator::dargument1_result, BinaryOperator::dargument2_result, and SUCCESSFUL_RETURN.
returnValue Addition::AD_forward | ( | int | number, |
double * | x, | ||
double * | seed, | ||
double * | f, | ||
double * | df | ||
) | [virtual] |
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.
References Operator::AD_forward(), BinaryOperator::argument1, BinaryOperator::argument1_result, BinaryOperator::argument2, BinaryOperator::argument2_result, BinaryOperator::bufferSize, BinaryOperator::dargument1_result, BinaryOperator::dargument2_result, and SUCCESSFUL_RETURN.
returnValue Addition::AD_forward2 | ( | int | number, |
double * | seed1, | ||
double * | seed2, | ||
double * | df, | ||
double * | ddf | ||
) | [virtual] |
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.
References Operator::AD_forward2(), BinaryOperator::argument1, BinaryOperator::argument2, and SUCCESSFUL_RETURN.
returnValue BinaryOperator::clearBuffer | ( | ) | [virtual, inherited] |
Implements SmoothOperator.
References BinaryOperator::argument1_result, BinaryOperator::argument2_result, BinaryOperator::bufferSize, BinaryOperator::dargument1_result, BinaryOperator::dargument2_result, and SUCCESSFUL_RETURN.
Operator * Addition::clone | ( | ) | const [virtual] |
Implements BinaryOperator.
References Addition(), BinaryOperator::argument1, BinaryOperator::argument2, Operator::clone(), Operator::isOneOrZero(), and NE_ZERO.
TreeProjection * SmoothOperator::cloneTreeProjection | ( | ) | const [virtual, inherited] |
Reimplemented from Operator.
Reimplemented in TreeProjection.
References ACADOERROR, ASSERT, and RET_UNKNOWN_BUG.
void BinaryOperator::copy | ( | const BinaryOperator & | arg | ) | [protected, inherited] |
References BinaryOperator::argument1_result, BinaryOperator::argument2_result, BinaryOperator::bufferSize, Operator::clone(), BinaryOperator::curvature, BinaryOperator::dargument1, BinaryOperator::dargument1_result, BinaryOperator::dargument2, BinaryOperator::dargument2_result, BinaryOperator::monotonicity, and SmoothOperator::nCount.
Referenced by BinaryOperator::BinaryOperator(), and BinaryOperator::operator=().
void BinaryOperator::deleteAll | ( | ) | [protected, inherited] |
References BinaryOperator::argument1, BinaryOperator::argument1_result, BinaryOperator::argument2, BinaryOperator::argument2_result, BinaryOperator::dargument1, BinaryOperator::dargument1_result, BinaryOperator::dargument2, and BinaryOperator::dargument2_result.
Referenced by BinaryOperator::operator=(), and BinaryOperator::~BinaryOperator().
Operator * Addition::differentiate | ( | int | index | ) | [virtual] |
index | diff. index |
Implements BinaryOperator.
References Addition(), BinaryOperator::argument1, BinaryOperator::argument2, Operator::clone(), BinaryOperator::dargument1, BinaryOperator::dargument2, Operator::differentiate(), Operator::isOneOrZero(), and NE_ZERO.
returnValue BinaryOperator::enumerateVariables | ( | SymbolicIndexList * | indexList | ) | [virtual, inherited] |
Implements SmoothOperator.
References BinaryOperator::argument1, BinaryOperator::argument2, Operator::enumerateVariables(), and SUCCESSFUL_RETURN.
returnValue Addition::evaluate | ( | int | number, |
double * | x, | ||
double * | result | ||
) | [virtual] |
number | storage position |
x | the input variable x |
result | the result |
Implements BinaryOperator.
References BinaryOperator::argument1, BinaryOperator::argument1_result, BinaryOperator::argument2, BinaryOperator::argument2_result, BinaryOperator::bufferSize, BinaryOperator::dargument1_result, BinaryOperator::dargument2_result, Operator::evaluate(), and SUCCESSFUL_RETURN.
returnValue Addition::evaluate | ( | EvaluationBase * | x | ) | [virtual] |
Implements BinaryOperator.
References EvaluationBase::addition(), BinaryOperator::argument1, BinaryOperator::argument2, and SUCCESSFUL_RETURN.
CurvatureType Addition::getCurvature | ( | ) | [virtual] |
Implements BinaryOperator.
References BinaryOperator::argument1, BinaryOperator::argument2, CT_AFFINE, CT_CONCAVE, CT_CONSTANT, CT_CONVEX, CT_NEITHER_CONVEX_NOR_CONCAVE, CT_UNKNOWN, BinaryOperator::curvature, and Operator::getCurvature().
int SmoothOperator::getGlobalIndex | ( | ) | const [virtual, inherited] |
Asks the variable for its global index.
Reimplemented from Operator.
Reimplemented in Projection.
References ACADOERROR, and RET_UNKNOWN_BUG.
MonotonicityType Addition::getMonotonicity | ( | ) | [virtual] |
Implements BinaryOperator.
References BinaryOperator::argument1, BinaryOperator::argument2, Operator::getMonotonicity(), BinaryOperator::monotonicity, MT_CONSTANT, MT_NONDECREASING, MT_NONINCREASING, MT_NONMONOTONIC, and MT_UNKNOWN.
OperatorName Addition::getName | ( | ) | [virtual] |
double Addition::getValue | ( | ) | const [virtual] |
Reimplemented from SmoothOperator.
References acadoIsEqual(), BinaryOperator::argument1, BinaryOperator::argument2, BT_TRUE, Operator::getValue(), and INFTY.
BooleanType BinaryOperator::isDependingOn | ( | VariableType | var | ) | const [virtual, inherited] |
Implements SmoothOperator.
References BinaryOperator::argument1, BinaryOperator::argument2, BT_FALSE, BT_TRUE, and Operator::isDependingOn().
Referenced by Power::isLinearIn().
BooleanType BinaryOperator::isDependingOn | ( | int | dim, |
VariableType * | varType, | ||
int * | component, | ||
BooleanType * | implicit_dep | ||
) | [virtual, inherited] |
dim | number of directions |
varType | the variable types |
component | and their components |
implicit_dep | implicit dependencies |
Implements SmoothOperator.
References BinaryOperator::argument1, BinaryOperator::argument2, BT_FALSE, BT_TRUE, and Operator::isDependingOn().
BooleanType Addition::isLinearIn | ( | int | dim, |
VariableType * | varType, | ||
int * | component, | ||
BooleanType * | implicit_dep | ||
) | [virtual] |
dim | number of directions |
varType | the variable types |
component | and their components |
implicit_dep | implicit dependencies |
Implements BinaryOperator.
References BinaryOperator::argument1, BinaryOperator::argument2, BT_FALSE, BT_TRUE, and Operator::isLinearIn().
NeutralElement BinaryOperator::isOneOrZero | ( | ) | const [virtual, inherited] |
Implements SmoothOperator.
References NE_NEITHER_ONE_NOR_ZERO.
BooleanType Addition::isPolynomialIn | ( | int | dim, |
VariableType * | varType, | ||
int * | component, | ||
BooleanType * | implicit_dep | ||
) | [virtual] |
dim | number of directions |
varType | the variable types |
component | and their components |
implicit_dep | implicit dependencies |
Implements BinaryOperator.
References BinaryOperator::argument1, BinaryOperator::argument2, BT_FALSE, BT_TRUE, and Operator::isPolynomialIn().
BooleanType Addition::isRationalIn | ( | int | dim, |
VariableType * | varType, | ||
int * | component, | ||
BooleanType * | implicit_dep | ||
) | [virtual] |
dim | number of directions |
varType | the variable types |
component | and their components |
implicit_dep | implicit dependencies |
Implements BinaryOperator.
References BinaryOperator::argument1, BinaryOperator::argument2, BT_FALSE, BT_TRUE, and Operator::isRationalIn().
BooleanType SmoothOperator::isSmooth | ( | ) | const [virtual, inherited] |
BooleanType BinaryOperator::isSymbolic | ( | ) | const [virtual, inherited] |
Implements SmoothOperator.
References BinaryOperator::argument1, BinaryOperator::argument2, BT_FALSE, BT_TRUE, and Operator::isSymbolic().
BooleanType BinaryOperator::isVariable | ( | VariableType & | varType, |
int & | component | ||
) | const [virtual, inherited] |
returnValue BinaryOperator::loadIndices | ( | SymbolicIndexList * | indexList | ) | [virtual, inherited] |
Whenever a variable gets the
IndexList it tries to make an entry. However if a
variable recognices that it has already been added
before it will not be allowed to make a second entry.
Note that all variables, in paticular the intermediate
states, will keep in mind whether they were allowed
to make an entry or not. This guarantees that
intermediate states are never evaluated twice if they
occur at several knots of the tree.
THIS FUNCTION IS FOR INTERNAL USE ONLY.
PLEASE CALL THIS FUNTION AT MOST ONES FOR AN EXPRESSION
AS A KIND OF INIT ROUTINE.
indexList | The index list to be filled with entries |
Implements SmoothOperator.
References BinaryOperator::argument1, BinaryOperator::argument2, Operator::loadIndices(), and SUCCESSFUL_RETURN.
Expression SmoothOperator::operator* | ( | const double & | arg | ) | const [inherited] |
Reimplemented from Operator.
Expression SmoothOperator::operator* | ( | const Vector & | arg | ) | const [inherited] |
Reimplemented from Operator.
Expression SmoothOperator::operator* | ( | const Matrix & | arg | ) | const [inherited] |
Reimplemented from Operator.
Expression SmoothOperator::operator* | ( | const Operator & | arg | ) | const [inherited] |
Reimplemented from Operator.
Expression SmoothOperator::operator* | ( | const Expression & | arg | ) | const [inherited] |
Reimplemented from Operator.
TreeProjection & SmoothOperator::operator*= | ( | const double & | arg | ) | [inherited] |
Reimplemented from Operator.
References SmoothOperator::operator=().
TreeProjection & SmoothOperator::operator*= | ( | const Vector & | arg | ) | [inherited] |
Reimplemented from Operator.
References SmoothOperator::operator=().
TreeProjection & SmoothOperator::operator*= | ( | const Matrix & | arg | ) | [inherited] |
Reimplemented from Operator.
References SmoothOperator::operator=().
TreeProjection & SmoothOperator::operator*= | ( | const Expression & | arg | ) | [inherited] |
Reimplemented from Operator.
References SmoothOperator::operator=().
Expression SmoothOperator::operator+ | ( | const double & | arg | ) | const [inherited] |
Reimplemented from Operator.
Expression SmoothOperator::operator+ | ( | const Vector & | arg | ) | const [inherited] |
Reimplemented from Operator.
Expression SmoothOperator::operator+ | ( | const Matrix & | arg | ) | const [inherited] |
Reimplemented from Operator.
Expression SmoothOperator::operator+ | ( | const Operator & | arg | ) | const [inherited] |
Reimplemented from Operator.
Expression SmoothOperator::operator+ | ( | const Expression & | arg | ) | const [inherited] |
Reimplemented from Operator.
TreeProjection & SmoothOperator::operator+= | ( | const double & | arg | ) | [inherited] |
Reimplemented from Operator.
References SmoothOperator::operator=().
TreeProjection & SmoothOperator::operator+= | ( | const Vector & | arg | ) | [inherited] |
Reimplemented from Operator.
References SmoothOperator::operator=().
TreeProjection & SmoothOperator::operator+= | ( | const Matrix & | arg | ) | [inherited] |
Reimplemented from Operator.
References SmoothOperator::operator=().
TreeProjection & SmoothOperator::operator+= | ( | const Expression & | arg | ) | [inherited] |
Reimplemented from Operator.
References SmoothOperator::operator=().
Expression SmoothOperator::operator- | ( | const double & | arg | ) | const [inherited] |
Reimplemented from Operator.
Expression SmoothOperator::operator- | ( | const Vector & | arg | ) | const [inherited] |
Reimplemented from Operator.
Expression SmoothOperator::operator- | ( | const Matrix & | arg | ) | const [inherited] |
Reimplemented from Operator.
Expression SmoothOperator::operator- | ( | const Operator & | arg | ) | const [inherited] |
Reimplemented from Operator.
Expression SmoothOperator::operator- | ( | const Expression & | arg | ) | const [inherited] |
Reimplemented from Operator.
Expression SmoothOperator::operator- | ( | ) | const [inherited] |
Reimplemented from Operator.
TreeProjection & SmoothOperator::operator-= | ( | const double & | arg | ) | [inherited] |
Reimplemented from Operator.
References SmoothOperator::operator=().
TreeProjection & SmoothOperator::operator-= | ( | const Vector & | arg | ) | [inherited] |
Reimplemented from Operator.
References SmoothOperator::operator=().
TreeProjection & SmoothOperator::operator-= | ( | const Matrix & | arg | ) | [inherited] |
Reimplemented from Operator.
References SmoothOperator::operator=().
TreeProjection & SmoothOperator::operator-= | ( | const Expression & | arg | ) | [inherited] |
Reimplemented from Operator.
References SmoothOperator::operator=().
Expression SmoothOperator::operator/ | ( | const double & | arg | ) | const [inherited] |
Reimplemented from Operator.
Expression SmoothOperator::operator/ | ( | const Operator & | arg | ) | const [inherited] |
Reimplemented from Operator.
Expression SmoothOperator::operator/ | ( | const Expression & | arg | ) | const [inherited] |
Reimplemented from Operator.
TreeProjection & SmoothOperator::operator/= | ( | const double & | arg | ) | [inherited] |
Reimplemented from Operator.
References SmoothOperator::operator=().
TreeProjection & SmoothOperator::operator/= | ( | const Expression & | arg | ) | [inherited] |
Reimplemented from Operator.
References SmoothOperator::operator=().
ConstraintComponent SmoothOperator::operator<= | ( | const double & | ub | ) | const [inherited] |
Reimplemented from Operator.
ConstraintComponent SmoothOperator::operator<= | ( | const Vector & | ub | ) | const [inherited] |
Reimplemented from Operator.
ConstraintComponent SmoothOperator::operator<= | ( | const VariablesGrid & | ub | ) | const [inherited] |
Reimplemented from Operator.
ConstraintComponent SmoothOperator::operator== | ( | const double & | b | ) | const [inherited] |
Reimplemented from Operator.
ConstraintComponent SmoothOperator::operator== | ( | const Vector & | b | ) | const [inherited] |
Reimplemented from Operator.
ConstraintComponent SmoothOperator::operator== | ( | const VariablesGrid & | b | ) | const [inherited] |
Reimplemented from Operator.
ConstraintComponent SmoothOperator::operator>= | ( | const double & | lb | ) | const [inherited] |
Reimplemented from Operator.
ConstraintComponent SmoothOperator::operator>= | ( | const Vector & | lb | ) | const [inherited] |
Reimplemented from Operator.
ConstraintComponent SmoothOperator::operator>= | ( | const VariablesGrid & | lb | ) | const [inherited] |
Reimplemented from Operator.
Operator * SmoothOperator::passArgument | ( | ) | const [virtual, inherited] |
Reimplemented from Operator.
Reimplemented in TreeProjection.
Stream & Addition::print | ( | Stream & | stream | ) | const [virtual] |
Implements BinaryOperator.
References acadoIsFinite(), BinaryOperator::argument1, BinaryOperator::argument2, BT_FALSE, and Operator::getValue().
returnValue BinaryOperator::setCurvature | ( | CurvatureType | curvature_ | ) | [virtual, inherited] |
(For the case that the curvature is explicitly known)
Implements SmoothOperator.
References BinaryOperator::curvature, and SUCCESSFUL_RETURN.
returnValue BinaryOperator::setMonotonicity | ( | MonotonicityType | monotonicity_ | ) | [virtual, inherited] |
(For the case that the monotonicity is explicitly known)
Implements SmoothOperator.
References BinaryOperator::monotonicity, and SUCCESSFUL_RETURN.
returnValue BinaryOperator::setVariableExportName | ( | const VariableType & | _type, |
const Stream * | _name | ||
) | [virtual, inherited] |
Reimplemented from Operator.
References BinaryOperator::argument1, BinaryOperator::argument2, and Operator::setVariableExportName().
Operator * Addition::substitute | ( | int | index, |
const Operator * | sub | ||
) | [virtual] |
index | subst. index |
sub | the substitution |
Implements BinaryOperator.
References Addition(), BinaryOperator::argument1, BinaryOperator::argument2, and Operator::substitute().
Expression operator* | ( | const double & | arg1, |
const Operator & | arg2 | ||
) | [friend, inherited] |
Expression operator* | ( | const Vector & | arg1, |
const Operator & | arg2 | ||
) | [friend, inherited] |
Expression operator* | ( | const Matrix & | arg1, |
const Operator & | arg2 | ||
) | [friend, inherited] |
Expression operator+ | ( | const double & | arg1, |
const Operator & | arg2 | ||
) | [friend, inherited] |
Expression operator+ | ( | const Vector & | arg1, |
const Operator & | arg2 | ||
) | [friend, inherited] |
Expression operator+ | ( | const Matrix & | arg1, |
const Operator & | arg2 | ||
) | [friend, inherited] |
Expression operator- | ( | const double & | arg1, |
const Operator & | arg2 | ||
) | [friend, inherited] |
Expression operator- | ( | const Vector & | arg1, |
const Operator & | arg2 | ||
) | [friend, inherited] |
Expression operator- | ( | const Matrix & | arg1, |
const Operator & | arg2 | ||
) | [friend, inherited] |
Expression operator/ | ( | const double & | arg1, |
const Operator & | arg2 | ||
) | [friend, inherited] |
Expression operator/ | ( | const Vector & | arg1, |
const Operator & | arg2 | ||
) | [friend, inherited] |
Expression operator/ | ( | const Matrix & | arg1, |
const Operator & | arg2 | ||
) | [friend, inherited] |
returnValue operator<< | ( | FILE * | file, |
const Operator & | arg | ||
) | [friend, inherited] |
ConstraintComponent operator<= | ( | double | lb, |
const Operator & | arg | ||
) | [friend, inherited] |
ConstraintComponent operator<= | ( | Vector | lb, |
const Operator & | arg | ||
) | [friend, inherited] |
ConstraintComponent operator<= | ( | VariablesGrid | lb, |
const Operator & | arg | ||
) | [friend, inherited] |
ConstraintComponent operator== | ( | double | b, |
const Operator & | arg | ||
) | [friend, inherited] |
ConstraintComponent operator== | ( | Vector | b, |
const Operator & | arg | ||
) | [friend, inherited] |
ConstraintComponent operator== | ( | VariablesGrid | b, |
const Operator & | arg | ||
) | [friend, inherited] |
ConstraintComponent operator>= | ( | double | ub, |
const Operator & | arg | ||
) | [friend, inherited] |
ConstraintComponent operator>= | ( | Vector | ub, |
const Operator & | arg | ||
) | [friend, inherited] |
ConstraintComponent operator>= | ( | VariablesGrid | ub, |
const Operator & | arg | ||
) | [friend, inherited] |
friend class Power_Int [friend, inherited] |
Referenced by Quotient::AD_backward(), Quotient::AD_forward(), and Quotient::differentiate().
Operator* BinaryOperator::argument1 [protected, inherited] |
Referenced by AD_backward(), Subtraction::AD_backward(), Quotient::AD_backward(), Product::AD_backward(), Power::AD_backward(), Subtraction::AD_backward2(), Power::AD_backward2(), Quotient::AD_backward2(), Product::AD_backward2(), AD_backward2(), AD_forward(), Subtraction::AD_forward(), Quotient::AD_forward(), Product::AD_forward(), Power::AD_forward(), Power::AD_forward2(), Subtraction::AD_forward2(), Quotient::AD_forward2(), AD_forward2(), Product::AD_forward2(), BinaryOperator::BinaryOperator(), clone(), BinaryOperator::deleteAll(), differentiate(), Subtraction::differentiate(), Quotient::differentiate(), Product::differentiate(), Power::differentiate(), BinaryOperator::enumerateVariables(), evaluate(), Subtraction::evaluate(), Quotient::evaluate(), Product::evaluate(), Power::evaluate(), Subtraction::getCurvature(), Quotient::getCurvature(), getCurvature(), Product::getCurvature(), Power::getCurvature(), Subtraction::getMonotonicity(), Quotient::getMonotonicity(), getMonotonicity(), Product::getMonotonicity(), Power::getMonotonicity(), Quotient::getValue(), Subtraction::getValue(), Product::getValue(), getValue(), BinaryOperator::isDependingOn(), Subtraction::isLinearIn(), isLinearIn(), Quotient::isLinearIn(), Product::isLinearIn(), Power::isLinearIn(), Quotient::isPolynomialIn(), isPolynomialIn(), Subtraction::isPolynomialIn(), Product::isPolynomialIn(), Power::isPolynomialIn(), isRationalIn(), Quotient::isRationalIn(), Subtraction::isRationalIn(), Product::isRationalIn(), Power::isRationalIn(), BinaryOperator::isSymbolic(), BinaryOperator::loadIndices(), Power::print(), Quotient::print(), Subtraction::print(), Product::print(), print(), Power_Int::print(), BinaryOperator::setVariableExportName(), substitute(), Subtraction::substitute(), Quotient::substitute(), Product::substitute(), and Power::substitute().
double* BinaryOperator::argument1_result [protected, inherited] |
Referenced by Power::AD_backward(), Quotient::AD_backward(), Product::AD_backward(), Power::AD_backward2(), Quotient::AD_backward2(), Product::AD_backward2(), Power::AD_forward(), Subtraction::AD_forward(), Quotient::AD_forward(), AD_forward(), Product::AD_forward(), Power::AD_forward2(), Quotient::AD_forward2(), Product::AD_forward2(), BinaryOperator::BinaryOperator(), BinaryOperator::clearBuffer(), BinaryOperator::copy(), BinaryOperator::deleteAll(), evaluate(), Quotient::evaluate(), Subtraction::evaluate(), Product::evaluate(), and Power::evaluate().
Operator* BinaryOperator::argument2 [protected, inherited] |
Referenced by AD_backward(), Subtraction::AD_backward(), Quotient::AD_backward(), Product::AD_backward(), Power::AD_backward(), Subtraction::AD_backward2(), Power::AD_backward2(), Quotient::AD_backward2(), Product::AD_backward2(), AD_backward2(), AD_forward(), Subtraction::AD_forward(), Quotient::AD_forward(), Product::AD_forward(), Power::AD_forward(), Power::AD_forward2(), Subtraction::AD_forward2(), Quotient::AD_forward2(), AD_forward2(), Product::AD_forward2(), BinaryOperator::BinaryOperator(), clone(), BinaryOperator::deleteAll(), differentiate(), Subtraction::differentiate(), Quotient::differentiate(), Product::differentiate(), Power::differentiate(), BinaryOperator::enumerateVariables(), evaluate(), Subtraction::evaluate(), Quotient::evaluate(), Product::evaluate(), Power::evaluate(), Subtraction::getCurvature(), Quotient::getCurvature(), getCurvature(), Product::getCurvature(), Power::getCurvature(), Subtraction::getMonotonicity(), Quotient::getMonotonicity(), getMonotonicity(), Product::getMonotonicity(), Power::getMonotonicity(), Quotient::getValue(), Subtraction::getValue(), Product::getValue(), getValue(), BinaryOperator::isDependingOn(), Subtraction::isLinearIn(), isLinearIn(), Quotient::isLinearIn(), Product::isLinearIn(), Power::isLinearIn(), Quotient::isPolynomialIn(), isPolynomialIn(), Subtraction::isPolynomialIn(), Product::isPolynomialIn(), Power::isPolynomialIn(), isRationalIn(), Quotient::isRationalIn(), Subtraction::isRationalIn(), Product::isRationalIn(), Power::isRationalIn(), BinaryOperator::isSymbolic(), BinaryOperator::loadIndices(), Power::print(), Quotient::print(), Subtraction::print(), Product::print(), print(), Power_Int::print(), BinaryOperator::setVariableExportName(), substitute(), Subtraction::substitute(), Quotient::substitute(), Product::substitute(), and Power::substitute().
double* BinaryOperator::argument2_result [protected, inherited] |
Referenced by Power::AD_backward(), Quotient::AD_backward(), Product::AD_backward(), Power::AD_backward2(), Quotient::AD_backward2(), Product::AD_backward2(), Power::AD_forward(), Subtraction::AD_forward(), Quotient::AD_forward(), AD_forward(), Product::AD_forward(), Power::AD_forward2(), Quotient::AD_forward2(), Product::AD_forward2(), BinaryOperator::BinaryOperator(), BinaryOperator::clearBuffer(), BinaryOperator::copy(), BinaryOperator::deleteAll(), evaluate(), Quotient::evaluate(), Subtraction::evaluate(), Product::evaluate(), and Power::evaluate().
int BinaryOperator::bufferSize [protected, inherited] |
Referenced by Power::AD_forward(), Subtraction::AD_forward(), Quotient::AD_forward(), Product::AD_forward(), AD_forward(), BinaryOperator::BinaryOperator(), BinaryOperator::clearBuffer(), BinaryOperator::copy(), evaluate(), Quotient::evaluate(), Subtraction::evaluate(), Product::evaluate(), and Power::evaluate().
CurvatureType BinaryOperator::curvature [protected, inherited] |
Operator* BinaryOperator::dargument1 [protected, inherited] |
Referenced by AD_forward(), Quotient::AD_forward(), Subtraction::AD_forward(), Product::AD_forward(), Power::AD_forward(), BinaryOperator::BinaryOperator(), BinaryOperator::copy(), BinaryOperator::deleteAll(), differentiate(), Quotient::differentiate(), Subtraction::differentiate(), Product::differentiate(), and Power::differentiate().
double* BinaryOperator::dargument1_result [protected, inherited] |
Referenced by Power::AD_backward2(), Quotient::AD_backward2(), Product::AD_backward2(), Power::AD_forward(), Subtraction::AD_forward(), Quotient::AD_forward(), AD_forward(), Product::AD_forward(), Power::AD_forward2(), Quotient::AD_forward2(), Product::AD_forward2(), BinaryOperator::BinaryOperator(), BinaryOperator::clearBuffer(), BinaryOperator::copy(), BinaryOperator::deleteAll(), evaluate(), Subtraction::evaluate(), Quotient::evaluate(), Product::evaluate(), and Power::evaluate().
Operator* BinaryOperator::dargument2 [protected, inherited] |
Referenced by AD_forward(), Quotient::AD_forward(), Subtraction::AD_forward(), Product::AD_forward(), Power::AD_forward(), BinaryOperator::BinaryOperator(), BinaryOperator::copy(), BinaryOperator::deleteAll(), differentiate(), Quotient::differentiate(), Subtraction::differentiate(), Product::differentiate(), and Power::differentiate().
double* BinaryOperator::dargument2_result [protected, inherited] |
Referenced by Power::AD_backward2(), Quotient::AD_backward2(), Product::AD_backward2(), Power::AD_forward(), Subtraction::AD_forward(), Quotient::AD_forward(), AD_forward(), Product::AD_forward(), Power::AD_forward2(), Quotient::AD_forward2(), Product::AD_forward2(), BinaryOperator::BinaryOperator(), BinaryOperator::clearBuffer(), BinaryOperator::copy(), BinaryOperator::deleteAll(), evaluate(), Subtraction::evaluate(), Quotient::evaluate(), Product::evaluate(), and Power::evaluate().
MonotonicityType BinaryOperator::monotonicity [protected, inherited] |
int SmoothOperator::nCount [inherited] |
Reimplemented from Operator.
Referenced by BinaryOperator::BinaryOperator(), COperator::COperator(), BinaryOperator::copy(), COperator::copy(), Projection::copy(), DoubleConstant::DoubleConstant(), UnaryOperator::operator=(), DoubleConstant::operator=(), Power_Int::operator=(), Power_Int::Power_Int(), Projection::Projection(), and UnaryOperator::UnaryOperator().