Public Member Functions | Public Attributes | List of all members

Abstract base class for all scalar-valued symbolic operators. More...

#include <smooth_operator.hpp>

Inheritance diagram for SmoothOperator:
Inheritance graph
[legend]

Public Member Functions

virtual returnValue AD_backward (int dim, VariableType *varType, int *component, Operator *seed, Operator **df, int &nNewIS, TreeProjection ***newIS)=0
 
virtual returnValue AD_backward (int number, double seed, double *df)=0
 
virtual returnValue AD_backward2 (int number, double seed1, double seed2, double *df, double *ddf)=0
 
virtual OperatorAD_forward (int dim, VariableType *varType, int *component, Operator **seed, int &nNewIS, TreeProjection ***newIS)=0
 
virtual returnValue AD_forward (int number, double *x, double *seed, double *f, double *df)=0
 
virtual returnValue AD_forward (int number, double *seed, double *df)=0
 
virtual returnValue AD_forward2 (int number, double *seed1, double *seed2, double *df, double *ddf)=0
 
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)=0
 
virtual returnValue clearBuffer ()=0
 
virtual Operatorclone () const =0
 
virtual TreeProjectioncloneTreeProjection () const
 
virtual Operatordifferentiate (int index)=0
 
virtual returnValue enumerateVariables (SymbolicIndexList *indexList)=0
 
virtual returnValue evaluate (int number, double *x, double *result)=0
 
virtual returnValue evaluate (EvaluationBase *x)=0
 
virtual CurvatureType getCurvature ()=0
 
virtual int getGlobalIndex () const
 
virtual MonotonicityType getMonotonicity ()=0
 
virtual OperatorName getName ()=0
 
virtual double getValue () const
 
virtual BooleanType isDependingOn (VariableType var) const =0
 
virtual BooleanType isDependingOn (int dim, VariableType *varType, int *component, BooleanType *implicit_dep)=0
 
virtual BooleanType isLinearIn (int dim, VariableType *varType, int *component, BooleanType *implicit_dep)=0
 
virtual NeutralElement isOneOrZero () const =0
 
virtual BooleanType isPolynomialIn (int dim, VariableType *varType, int *component, BooleanType *implicit_dep)=0
 
virtual BooleanType isRationalIn (int dim, VariableType *varType, int *component, BooleanType *implicit_dep)=0
 
virtual BooleanType isSmooth () const
 
virtual BooleanType isSymbolic () const =0
 
virtual BooleanType isVariable (VariableType &varType, int &component) const =0
 
virtual returnValue loadIndices (SymbolicIndexList *indexList)=0
 
Expression operator* (const double &arg) const
 
Expression operator* (const DVector &arg) const
 
Expression operator* (const DMatrix &arg) const
 
Expression operator* (const Operator &arg) const
 
Expression operator* (const Expression &arg) const
 
Operatoroperator*= (const double &arg)
 
Operatoroperator*= (const DVector &arg)
 
Operatoroperator*= (const DMatrix &arg)
 
Operatoroperator*= (const Expression &arg)
 
Expression operator+ (const double &arg) const
 
Expression operator+ (const DVector &arg) const
 
Expression operator+ (const DMatrix &arg) const
 
Expression operator+ (const Operator &arg) const
 
Expression operator+ (const Expression &arg) const
 
Operatoroperator+= (const double &arg)
 
Operatoroperator+= (const DVector &arg)
 
Operatoroperator+= (const DMatrix &arg)
 
Operatoroperator+= (const Expression &arg)
 
Expression operator- (const double &arg) const
 
Expression operator- (const DVector &arg) const
 
Expression operator- (const DMatrix &arg) const
 
Expression operator- (const Operator &arg) const
 
Expression operator- (const Expression &arg) const
 
Expression operator- () const
 
Operatoroperator-= (const double &arg)
 
Operatoroperator-= (const DVector &arg)
 
Operatoroperator-= (const DMatrix &arg)
 
Operatoroperator-= (const Expression &arg)
 
Expression operator/ (const double &arg) const
 
Expression operator/ (const Operator &arg) const
 
Expression operator/ (const Expression &arg) const
 
Operatoroperator/= (const double &arg)
 
Operatoroperator/= (const Expression &arg)
 
ConstraintComponent operator<= (const double &ub) const
 
ConstraintComponent operator<= (const DVector &ub) const
 
ConstraintComponent operator<= (const VariablesGrid &ub) const
 
virtual Operatoroperator= (const double &arg)
 
virtual Operatoroperator= (const DVector &arg)
 
virtual Operatoroperator= (const DMatrix &arg)
 
virtual Operatoroperator= (const Expression &arg)
 
virtual Operatoroperator= (const Operator &arg)
 
ConstraintComponent operator== (const double &b) const
 
ConstraintComponent operator== (const DVector &b) const
 
ConstraintComponent operator== (const VariablesGrid &b) const
 
ConstraintComponent operator>= (const double &lb) const
 
ConstraintComponent operator>= (const DVector &lb) const
 
ConstraintComponent operator>= (const VariablesGrid &lb) const
 
virtual OperatorpassArgument () const
 
virtual std::ostream & print (std::ostream &stream) const =0
 
virtual returnValue setCurvature (CurvatureType curvature_)=0
 
virtual returnValue setMonotonicity (MonotonicityType monotonicity_)=0
 
 SmoothOperator ()
 
virtual Operatorsubstitute (int index, const Operator *sub)=0
 
virtual ~SmoothOperator ()
 
- Public Member Functions inherited from Operator
virtual returnValue initDerivative ()
 
virtual BooleanType isTrivial () const
 
virtual OperatormyAdd (Operator *a, Operator *b)
 
virtual OperatormyLogarithm (Operator *a)
 
virtual OperatormyPower (Operator *a, Operator *b)
 
virtual OperatormyPowerInt (Operator *a, int b)
 
virtual OperatormyProd (Operator *a, Operator *b)
 
virtual OperatormySubtract (Operator *a, Operator *b)
 
 Operator ()
 
Expression operator* (const double &arg) const
 
Expression operator* (const DVector &arg) const
 
Expression operator* (const DMatrix &arg) const
 
Expression operator* (const Operator &arg) const
 
Expression operator* (const Expression &arg) const
 
Operatoroperator*= (const double &arg)
 
Operatoroperator*= (const DVector &arg)
 
Operatoroperator*= (const DMatrix &arg)
 
Operatoroperator*= (const Expression &arg)
 
Expression operator+ (const double &arg) const
 
Expression operator+ (const DVector &arg) const
 
Expression operator+ (const DMatrix &arg) const
 
Expression operator+ (const Operator &arg) const
 
Expression operator+ (const Expression &arg) const
 
Operatoroperator+= (const double &arg)
 
Operatoroperator+= (const DVector &arg)
 
Operatoroperator+= (const DMatrix &arg)
 
Operatoroperator+= (const Expression &arg)
 
Expression operator- (const double &arg) const
 
Expression operator- (const DVector &arg) const
 
Expression operator- (const DMatrix &arg) const
 
Expression operator- (const Operator &arg) const
 
Expression operator- (const Expression &arg) const
 
Expression operator- () const
 
Operatoroperator-= (const double &arg)
 
Operatoroperator-= (const DVector &arg)
 
Operatoroperator-= (const DMatrix &arg)
 
Operatoroperator-= (const Expression &arg)
 
Expression operator/ (const double &arg) const
 
Expression operator/ (const Operator &arg) const
 
Expression operator/ (const Expression &arg) const
 
Operatoroperator/= (const double &arg)
 
Operatoroperator/= (const Expression &arg)
 
ConstraintComponent operator<= (const double &ub) const
 
ConstraintComponent operator<= (const DVector &ub) const
 
ConstraintComponent operator<= (const VariablesGrid &ub) const
 
ConstraintComponent operator== (const double &b) const
 
ConstraintComponent operator== (const DVector &b) const
 
ConstraintComponent operator== (const VariablesGrid &b) const
 
ConstraintComponent operator>= (const double &lb) const
 
ConstraintComponent operator>= (const DVector &lb) const
 
ConstraintComponent operator>= (const VariablesGrid &lb) const
 
virtual returnValue setVariableExportName (const VariableType &_type, const std::vector< std::string > &_name)
 
virtual ~Operator ()
 

Public Attributes

int nCount
 
- Public Attributes inherited from Operator
int nCount
 

Additional Inherited Members

- Protected Member Functions inherited from Operator
returnValue ADsymCommon (Operator *a, TreeProjection &da, TreeProjection &dda, 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)
 
returnValue ADsymCommon2 (Operator *a, Operator *b, TreeProjection &dx, TreeProjection &dy, TreeProjection &dxx, TreeProjection &dxy, TreeProjection &dyy, 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 TreeProjectionconvert2TreeProjection (Operator *a) const
 
- Protected Attributes inherited from Operator
BooleanType initialized
 

Detailed Description

Abstract base class for all scalar-valued symbolic operators.

The class Operator serves as an abstract base class for all scalar-valued symbolic operators.

Author
Boris Houska, Hans Joachim Ferreau

Definition at line 56 of file smooth_operator.hpp.

Constructor & Destructor Documentation

BEGIN_NAMESPACE_ACADO SmoothOperator::SmoothOperator ( )

Default constructor.

Definition at line 44 of file smooth_operator.cpp.

SmoothOperator::~SmoothOperator ( )
virtual

Definition at line 48 of file smooth_operator.cpp.

Member Function Documentation

virtual returnValue SmoothOperator::AD_backward ( int  dim,
VariableType varType,
int *  component,
Operator seed,
Operator **  df,
int &  nNewIS,
TreeProjection ***  newIS 
)
pure virtual

Automatic Differentiation in backward mode on the symbolic
level. This function generates an expression for a
backward derivative

Returns
SUCCESSFUL_RETURN
Parameters
dimnumber of directions
varTypethe variable types
componentand their components
seedthe backward seed
dfthe result
nNewISthe number of new IS
newISthe new IS-pointer

Implements Operator.

Implemented in COperator, Projection, Power, Power_Int, BinaryOperator, DoubleConstant, Product, Quotient, Subtraction, Addition, and UnaryOperator.

virtual returnValue SmoothOperator::AD_backward ( int  number,
double  seed,
double *  df 
)
pure virtual

Automatic Differentiation in backward mode based on
buffered values

Returns
SUCCESFUL_RETURN
RET_NAN
Parameters
numberthe buffer position
seedthe seed
dfthe derivative of the expression

Implements Operator.

Implemented in Projection, COperator, BinaryOperator, DoubleConstant, Power_Int, UnaryOperator, Addition, Product, Subtraction, Power, and Quotient.

virtual returnValue SmoothOperator::AD_backward2 ( int  number,
double  seed1,
double  seed2,
double *  df,
double *  ddf 
)
pure virtual

Automatic Differentiation in backward mode for 2nd order
derivatives based on buffered values.

Returns
SUCCESFUL_RETURN
RET_NAN
Parameters
numberthe buffer position
seed1the seed1
seed2the seed2
dfthe 1st derivative of the expression
ddfthe 2nd derivative of the expression

Implements Operator.

Implemented in Projection, COperator, BinaryOperator, DoubleConstant, Power_Int, UnaryOperator, Addition, Product, Subtraction, Power, and Quotient.

virtual Operator* SmoothOperator::AD_forward ( int  dim,
VariableType varType,
int *  component,
Operator **  seed,
int &  nNewIS,
TreeProjection ***  newIS 
)
pure virtual

Automatic Differentiation in forward mode on the symbolic
level. This function generates an expression for a
forward derivative

Returns
SUCCESSFUL_RETURN
Parameters
dimdimension of the seed
varTypethe variable types
componentand their components
seedthe forward seed
nNewISthe number of new IS
newISthe new IS-pointer

Implements Operator.

Implemented in COperator, Projection, Power, Power_Int, BinaryOperator, DoubleConstant, Product, Quotient, Subtraction, UnaryOperator, and Addition.

virtual returnValue SmoothOperator::AD_forward ( int  number,
double *  x,
double *  seed,
double *  f,
double *  df 
)
pure virtual

Automatic Differentiation in forward mode.
This function stores the intermediate
results in a buffer (needed for 2nd order automatic
differentiation in backward mode)

Returns
SUCCESFUL_RETURN
RET_NAN
Parameters
numberstorage position
xThe evaluation point x
seedthe seed
fthe value of the expression at x
dfthe derivative of the expression

Implements Operator.

Implemented in COperator, Projection, DoubleConstant, Power_Int, BinaryOperator, UnaryOperator, Addition, Product, Subtraction, Power, and Quotient.

virtual returnValue SmoothOperator::AD_forward ( int  number,
double *  seed,
double *  df 
)
pure virtual

Automatic Differentiation in forward mode.
This function uses the intermediate
results from a buffer

Returns
SUCCESFUL_RETURN
RET_NAN
Parameters
numberstorage position
seedthe seed
dfthe derivative of the expression

Implements Operator.

Implemented in BinaryOperator, COperator, Projection, DoubleConstant, Power_Int, UnaryOperator, Addition, Product, Subtraction, Power, and Quotient.

virtual returnValue SmoothOperator::AD_forward2 ( int  number,
double *  seed1,
double *  seed2,
double *  df,
double *  ddf 
)
pure virtual

Automatic Differentiation in forward mode for
2nd derivatives.
This function uses intermediate
results from a buffer.

Returns
SUCCESFUL_RETURN
RET_NAN
Parameters
numberthe buffer position
seed1the seed
seed2the seed for the first derivative
dfthe derivative of the expression
ddfthe 2nd derivative of the expression

Implements Operator.

Implemented in Projection, COperator, BinaryOperator, DoubleConstant, Power_Int, UnaryOperator, Addition, Product, Subtraction, Power, and Quotient.

virtual returnValue SmoothOperator::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 
)
pure virtual

Automatic Differentiation in symmetric mode on the symbolic
level. This function generates an expression for a
second order derivative.

Returns
SUCCESSFUL_RETURN
Parameters
dimnumber of directions
varTypethe variable types
componentand their components
lthe backward seed
Sforward seed matrix
dimSdimension of forward seed
dfSfirst order foward result
ldffirst order backward result
Hupper trianglular part of the Hessian
nNewLISthe number of newLIS
newLISthe new LIS-pointer
nNewSISthe number of newSIS
newSISthe new SIS-pointer
nNewHISthe number of newHIS
newHISthe new HIS-pointer

Implements Operator.

Implemented in Projection, COperator, Power, Power_Int, BinaryOperator, DoubleConstant, Product, Subtraction, Addition, Quotient, and UnaryOperator.

virtual returnValue SmoothOperator::clearBuffer ( )
pure virtual

Clears the buffer and resets the buffer size
to 1.

Returns
SUCCESFUL_RETURN

Implements Operator.

Implemented in Projection, COperator, DoubleConstant, Power_Int, BinaryOperator, and UnaryOperator.

virtual Operator* SmoothOperator::clone ( ) const
pure virtual

Provides a deep copy of the expression.

Returns
a clone of the expression.

Implements Operator.

Implemented in Projection, COperator, DoubleConstant, Power_Int, BinaryOperator, UnaryOperator, Addition, Product, Subtraction, Quotient, Power, Cos, Exp, Logarithm, Sin, Tan, Acos, Asin, Atan, and TreeProjection.

TreeProjection * SmoothOperator::cloneTreeProjection ( ) const
virtual

Provides a deep copy of a tree projection.

Returns
a clone of the TreeProjection or
an assertion if the type this is
expression is no TreeProjection.

Reimplemented from Operator.

Reimplemented in TreeProjection.

Definition at line 89 of file smooth_operator.cpp.

virtual Operator* SmoothOperator::differentiate ( int  index)
pure virtual

Returns the derivative of the expression with respect
to the variable var(index).

Returns
The expression for the derivative.
Parameters
indexdiff. index

Implements Operator.

Implemented in COperator, Projection, Power, Power_Int, BinaryOperator, DoubleConstant, Product, UnaryOperator, Quotient, Subtraction, and Addition.

virtual returnValue SmoothOperator::enumerateVariables ( SymbolicIndexList indexList)
pure virtual

Enumerates all variables based on a common
IndexList.

Returns
SUCCESFUL_RETURN

Implements Operator.

Implemented in Projection, COperator, BinaryOperator, DoubleConstant, Power_Int, and UnaryOperator.

virtual returnValue SmoothOperator::evaluate ( int  number,
double *  x,
double *  result 
)
pure virtual

Evaluates the expression and stores the intermediate
results in a buffer (needed for automatic differentiation
in backward mode)

Returns
SUCCESFUL_RETURN
RET_NAN
Parameters
numberstorage position
xthe input variable x
resultthe result

Implements Operator.

Implemented in Projection, COperator, Power, BinaryOperator, DoubleConstant, Power_Int, Product, UnaryOperator, Quotient, Subtraction, and Addition.

virtual returnValue SmoothOperator::evaluate ( EvaluationBase x)
pure virtual

Evaluates the expression (templated version)

Implements Operator.

Implemented in Projection, COperator, Power, BinaryOperator, DoubleConstant, Power_Int, Product, UnaryOperator, Quotient, Subtraction, Addition, Acos, Atan, Cos, Exp, Logarithm, Sin, Tan, and Asin.

virtual CurvatureType SmoothOperator::getCurvature ( )
pure virtual

Returns the curvature of the expression

Returns
CT_CONSTANT
CT_AFFINE
CT_CONVEX
CT_CONCAVE

Implements Operator.

Implemented in COperator, Projection, DoubleConstant, BinaryOperator, Power_Int, UnaryOperator, Power, Addition, Product, Subtraction, Quotient, Exp, and Logarithm.

int SmoothOperator::getGlobalIndex ( ) const
virtual

Asks the variable for its relative index. the variable for its global index.

Reimplemented from Operator.

Reimplemented in Projection.

Definition at line 181 of file smooth_operator.cpp.

virtual MonotonicityType SmoothOperator::getMonotonicity ( )
pure virtual

Returns the monotonicity of the expression.

Returns
MT_NONDECREASING
MT_NONINCREASING
MT_NONMONOTONIC

Implements Operator.

Implemented in COperator, Projection, DoubleConstant, BinaryOperator, Power_Int, UnaryOperator, Power, Addition, Product, Subtraction, and Quotient.

virtual OperatorName SmoothOperator::getName ( )
pure virtual

Asks the expression for its name.

Returns
the name of the expression.

Implements Operator.

Implemented in COperator, Projection, BinaryOperator, DoubleConstant, Power_Int, UnaryOperator, Addition, Product, Subtraction, Quotient, and Power.

double SmoothOperator::getValue ( ) const
virtual

Return the value of the constant

Reimplemented from Operator.

Reimplemented in DoubleConstant, Addition, Product, Subtraction, and Quotient.

Definition at line 179 of file smooth_operator.cpp.

virtual BooleanType SmoothOperator::isDependingOn ( VariableType  var) const
pure virtual

Asks the expression whether it is depending on a certian type of
variable.

Returns
BT_TRUE if a dependency is detected,
BT_FALSE otherwise.

Implements Operator.

Implemented in Projection, COperator, Power_Int, BinaryOperator, DoubleConstant, and UnaryOperator.

virtual BooleanType SmoothOperator::isDependingOn ( int  dim,
VariableType varType,
int *  component,
BooleanType implicit_dep 
)
pure virtual

Checks whether the expression is depending on a variable

Returns
BT_FALSE if no dependence is detected
BT_TRUE otherwise
Parameters
dimnumber of directions
varTypethe variable types
componentand their components
implicit_depimplicit dependencies

Implements Operator.

Implemented in Projection, COperator, BinaryOperator, DoubleConstant, Power_Int, UnaryOperator, and TreeProjection.

virtual BooleanType SmoothOperator::isLinearIn ( int  dim,
VariableType varType,
int *  component,
BooleanType implicit_dep 
)
pure virtual

Checks whether the expression is linear in
(or not depending on) a variable

Returns
BT_FALSE if no linearity is
detected
BT_TRUE otherwise
Parameters
dimnumber of directions
varTypethe variable types
componentand their components
implicit_depimplicit dependencies

Implements Operator.

Implemented in Projection, COperator, BinaryOperator, DoubleConstant, Power_Int, UnaryOperator, Power, Product, Subtraction, Addition, Quotient, and TreeProjection.

virtual NeutralElement SmoothOperator::isOneOrZero ( ) const
pure virtual

Checks whether the expression is zero or one

Returns
NE_ZERO
NE_ONE
NE_NEITHER_ONE_NOR_ZERO

Implements Operator.

Implemented in TreeProjection, Projection, COperator, Power_Int, BinaryOperator, DoubleConstant, and UnaryOperator.

virtual BooleanType SmoothOperator::isPolynomialIn ( int  dim,
VariableType varType,
int *  component,
BooleanType implicit_dep 
)
pure virtual

Checks whether the expression is polynomial in
the specified variables

Returns
BT_FALSE if the expression is not polynomial
BT_TRUE otherwise
Parameters
dimnumber of directions
varTypethe variable types
componentand their components
implicit_depimplicit dependencies

Implements Operator.

Implemented in Projection, COperator, BinaryOperator, DoubleConstant, Power_Int, UnaryOperator, Power, Product, Subtraction, Addition, Quotient, and TreeProjection.

virtual BooleanType SmoothOperator::isRationalIn ( int  dim,
VariableType varType,
int *  component,
BooleanType implicit_dep 
)
pure virtual

Checks whether the expression is rational in
the specified variables

Returns
BT_FALSE if the expression is not rational
BT_TRUE otherwise
Parameters
dimnumber of directions
varTypethe variable types
componentand their components
implicit_depimplicit dependencies

Implements Operator.

Implemented in Projection, COperator, BinaryOperator, DoubleConstant, Power_Int, UnaryOperator, Power, Product, Subtraction, Addition, Quotient, and TreeProjection.

BooleanType SmoothOperator::isSmooth ( ) const
virtual

Checks whether the expression is smooth in time

Returns
BT_FALSE if the expression is not smooth
BT_TRUE otherwise

Implements Operator.

Definition at line 173 of file smooth_operator.cpp.

virtual BooleanType SmoothOperator::isSymbolic ( ) const
pure virtual

Asks whether all elements are purely symbolic.

Returns
BT_TRUE if the complete tree is symbolic.
BT_FALSE otherwise (e.g. if C functions are linked).

Implements Operator.

Implemented in Projection, DoubleConstant, COperator, Power_Int, BinaryOperator, and UnaryOperator.

virtual BooleanType SmoothOperator::isVariable ( VariableType varType,
int &  component 
) const
pure virtual

Asks the expression whether it is a variable.

Returns
The answer.

Implements Operator.

Implemented in Projection, COperator, Power_Int, DoubleConstant, BinaryOperator, and UnaryOperator.

virtual returnValue SmoothOperator::loadIndices ( SymbolicIndexList indexList)
pure virtual

The function loadIndices passes an IndexList through
the whole expression tree. 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.

Returns
the name of the expression.
Parameters
indexListThe index list to be filled with entries

Implements Operator.

Implemented in Projection, COperator, Power_Int, DoubleConstant, BinaryOperator, UnaryOperator, and TreeProjection.

Expression SmoothOperator::operator* ( const double &  arg) const

Definition at line 137 of file smooth_operator.cpp.

Expression SmoothOperator::operator* ( const DVector arg) const

Definition at line 138 of file smooth_operator.cpp.

Expression SmoothOperator::operator* ( const DMatrix arg) const

Definition at line 139 of file smooth_operator.cpp.

Expression SmoothOperator::operator* ( const Operator arg) const

Definition at line 142 of file smooth_operator.cpp.

Expression SmoothOperator::operator* ( const Expression arg) const

Definition at line 154 of file smooth_operator.cpp.

Operator & SmoothOperator::operator*= ( const double &  arg)

Definition at line 112 of file smooth_operator.cpp.

Operator & SmoothOperator::operator*= ( const DVector arg)

Definition at line 113 of file smooth_operator.cpp.

Operator & SmoothOperator::operator*= ( const DMatrix arg)

Definition at line 114 of file smooth_operator.cpp.

Operator & SmoothOperator::operator*= ( const Expression arg)

Definition at line 115 of file smooth_operator.cpp.

Expression SmoothOperator::operator+ ( const double &  arg) const

Definition at line 123 of file smooth_operator.cpp.

Expression SmoothOperator::operator+ ( const DVector arg) const

Definition at line 124 of file smooth_operator.cpp.

Expression SmoothOperator::operator+ ( const DMatrix arg) const

Definition at line 125 of file smooth_operator.cpp.

Expression SmoothOperator::operator+ ( const Operator arg) const

Definition at line 126 of file smooth_operator.cpp.

Expression SmoothOperator::operator+ ( const Expression arg) const

Definition at line 127 of file smooth_operator.cpp.

Operator & SmoothOperator::operator+= ( const double &  arg)

Definition at line 102 of file smooth_operator.cpp.

Operator & SmoothOperator::operator+= ( const DVector arg)

Definition at line 103 of file smooth_operator.cpp.

Operator & SmoothOperator::operator+= ( const DMatrix arg)

Definition at line 104 of file smooth_operator.cpp.

Operator & SmoothOperator::operator+= ( const Expression arg)

Definition at line 105 of file smooth_operator.cpp.

Expression SmoothOperator::operator- ( const double &  arg) const

Definition at line 129 of file smooth_operator.cpp.

Expression SmoothOperator::operator- ( const DVector arg) const

Definition at line 130 of file smooth_operator.cpp.

Expression SmoothOperator::operator- ( const DMatrix arg) const

Definition at line 131 of file smooth_operator.cpp.

Expression SmoothOperator::operator- ( const Operator arg) const

Definition at line 132 of file smooth_operator.cpp.

Expression SmoothOperator::operator- ( const Expression arg) const

Definition at line 133 of file smooth_operator.cpp.

Expression SmoothOperator::operator- ( ) const

Definition at line 135 of file smooth_operator.cpp.

Operator & SmoothOperator::operator-= ( const double &  arg)

Definition at line 107 of file smooth_operator.cpp.

Operator & SmoothOperator::operator-= ( const DVector arg)

Definition at line 108 of file smooth_operator.cpp.

Operator & SmoothOperator::operator-= ( const DMatrix arg)

Definition at line 109 of file smooth_operator.cpp.

Operator & SmoothOperator::operator-= ( const Expression arg)

Definition at line 110 of file smooth_operator.cpp.

Expression SmoothOperator::operator/ ( const double &  arg) const

Definition at line 156 of file smooth_operator.cpp.

Expression SmoothOperator::operator/ ( const Operator arg) const

Definition at line 157 of file smooth_operator.cpp.

Expression SmoothOperator::operator/ ( const Expression arg) const

Definition at line 158 of file smooth_operator.cpp.

Operator & SmoothOperator::operator/= ( const double &  arg)

Definition at line 117 of file smooth_operator.cpp.

Operator & SmoothOperator::operator/= ( const Expression arg)

Definition at line 118 of file smooth_operator.cpp.

ConstraintComponent SmoothOperator::operator<= ( const double &  ub) const

Definition at line 160 of file smooth_operator.cpp.

ConstraintComponent SmoothOperator::operator<= ( const DVector ub) const

Definition at line 164 of file smooth_operator.cpp.

ConstraintComponent SmoothOperator::operator<= ( const VariablesGrid ub) const

Definition at line 168 of file smooth_operator.cpp.

Operator & SmoothOperator::operator= ( const double &  arg)
virtual

Sets the argument (note that arg should have dimension 1).

Reimplemented from Operator.

Reimplemented in TreeProjection.

Definition at line 53 of file smooth_operator.cpp.

Operator & SmoothOperator::operator= ( const DVector arg)
virtual

Reimplemented from Operator.

Definition at line 60 of file smooth_operator.cpp.

Operator & SmoothOperator::operator= ( const DMatrix arg)
virtual

Reimplemented from Operator.

Definition at line 67 of file smooth_operator.cpp.

Operator & SmoothOperator::operator= ( const Expression arg)
virtual

Reimplemented from Operator.

Reimplemented in TreeProjection.

Definition at line 74 of file smooth_operator.cpp.

Operator & SmoothOperator::operator= ( const Operator arg)
virtual

Reimplemented from Operator.

Reimplemented in TreeProjection.

Definition at line 81 of file smooth_operator.cpp.

ConstraintComponent SmoothOperator::operator== ( const double &  b) const

Definition at line 162 of file smooth_operator.cpp.

ConstraintComponent SmoothOperator::operator== ( const DVector b) const

Definition at line 166 of file smooth_operator.cpp.

ConstraintComponent SmoothOperator::operator== ( const VariablesGrid b) const

Definition at line 170 of file smooth_operator.cpp.

ConstraintComponent SmoothOperator::operator>= ( const double &  lb) const

Definition at line 161 of file smooth_operator.cpp.

ConstraintComponent SmoothOperator::operator>= ( const DVector lb) const

Definition at line 165 of file smooth_operator.cpp.

ConstraintComponent SmoothOperator::operator>= ( const VariablesGrid lb) const

Definition at line 169 of file smooth_operator.cpp.

Operator * SmoothOperator::passArgument ( ) const
virtual

Returns the argument or NULL if no intermediate argument available

Reimplemented from Operator.

Reimplemented in TreeProjection.

Definition at line 188 of file smooth_operator.cpp.

virtual std::ostream& SmoothOperator::print ( std::ostream &  stream) const
pure virtual

Prints the expression into a stream.

Returns
SUCCESFUL_RETURN

Implements Operator.

Implemented in BinaryOperator, Projection, COperator, DoubleConstant, Power_Int, UnaryOperator, Addition, Product, Subtraction, Power, and Quotient.

virtual returnValue SmoothOperator::setCurvature ( CurvatureType  curvature_)
pure virtual

Overwrites the curvature of the expression.
(For the case that the curvature is explicitly known)

Returns
SUCCESSFUL_RETURN

Implements Operator.

Implemented in COperator, Projection, DoubleConstant, BinaryOperator, Power_Int, and UnaryOperator.

virtual returnValue SmoothOperator::setMonotonicity ( MonotonicityType  monotonicity_)
pure virtual

Overwrites the monotonicity of the expression.
(For the case that the monotonicity is explicitly known)

Returns
SUCCESSFUL_RETURN

Implements Operator.

Implemented in COperator, Projection, DoubleConstant, BinaryOperator, Power_Int, and UnaryOperator.

virtual Operator* SmoothOperator::substitute ( int  index,
const Operator sub 
)
pure virtual

Substitutes var(index) with the expression sub.

Returns
The substituted expression.
Parameters
indexsubst. index
subthe substitution

Implements Operator.

Implemented in Projection, COperator, Power, Power_Int, BinaryOperator, DoubleConstant, Product, Subtraction, Addition, Quotient, UnaryOperator, Cos, Exp, Logarithm, Sin, Tan, Acos, Asin, and Atan.

Member Data Documentation

int SmoothOperator::nCount

Definition at line 516 of file smooth_operator.hpp.


The documentation for this class was generated from the following files:


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Mon Jun 10 2019 12:35:26