Public Member Functions | Protected Attributes

Implements the scalar power operator within the symbolic operators family. More...

#include <power.hpp>

Inheritance diagram for Power:
Inheritance graph
[legend]

List of all members.

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 OperatorAD_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 Operatorclone () const
virtual Operatordifferentiate (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)
Poweroperator= (const Power &arg)
 Power ()
 Power (Operator *_argument1, Operator *_argument2)
 Power (const Power &arg)
virtual std::ostream & print (std::ostream &stream) const
virtual Operatorsubstitute (int index, const Operator *sub)
 ~Power ()

Protected Attributes

TreeProjectionderivative01
TreeProjectionderivative02
TreeProjectionderivative12
TreeProjectionderivative21
TreeProjectionderivative22
TreeProjectionderivative23

Detailed Description

Implements the scalar power operator within the symbolic operators family.

The class Power_Int implements the scalar power operator within the symbolic operators family.

Author:
Boris Houska, Hans Joachim Ferreau

Definition at line 56 of file power.hpp.


Constructor & Destructor Documentation

Default constructor.

Definition at line 45 of file power.cpp.

Power::Power ( Operator _argument1,
Operator _argument2 
)

Default constructor.

Definition at line 55 of file power.cpp.

Power::Power ( const Power arg)

Copy constructor (deep copy).

Definition at line 66 of file power.cpp.

Default destructor.

Definition at line 85 of file power.cpp.


Member Function Documentation

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

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 BinaryOperator.

Definition at line 200 of file power.cpp.

returnValue Power::AD_backward ( int  number,
double  seed,
double *  df 
) [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 BinaryOperator.

Definition at line 498 of file power.cpp.

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.

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 BinaryOperator.

Definition at line 545 of file power.cpp.

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

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 BinaryOperator.

Definition at line 170 of file power.cpp.

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

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

Implements BinaryOperator.

Definition at line 484 of file power.cpp.

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)

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 BinaryOperator.

Definition at line 459 of file power.cpp.

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.

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 BinaryOperator.

Definition at line 511 of file power.cpp.

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.

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 BinaryOperator.

Definition at line 232 of file power.cpp.

Operator * Power::clone ( ) const [virtual]

Provides a deep copy of the expression.

Returns:
a clone of the expression.

Implements BinaryOperator.

Definition at line 596 of file power.cpp.

Operator * Power::differentiate ( int  index) [virtual]

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

Returns:
The expression for the derivative.
Parameters:
indexdiff. index

Implements BinaryOperator.

Definition at line 150 of file power.cpp.

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)

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

Implements BinaryOperator.

Definition at line 124 of file power.cpp.

Evaluates the expression (templated version)

Implements BinaryOperator.

Definition at line 143 of file power.cpp.

Returns the curvature of the expression

Returns:
CT_CONSTANT
CT_AFFINE
CT_CONVEX
CT_CONCAVE

Implements BinaryOperator.

Definition at line 402 of file power.cpp.

Returns the monotonicity of the expression.

Returns:
MT_NONDECREASING
MT_NONINCREASING
MT_NONMONOTONIC

Implements BinaryOperator.

Definition at line 363 of file power.cpp.

Asks the expression for its name.

Returns:
the name of the expression.

Implements BinaryOperator.

Definition at line 602 of file power.cpp.

Reimplemented from BinaryOperator.

Definition at line 261 of file power.cpp.

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

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 BinaryOperator.

Definition at line 305 of file power.cpp.

BooleanType Power::isPolynomialIn ( int  dim,
VariableType varType,
int *  component,
BooleanType implicit_dep 
) [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 BinaryOperator.

Definition at line 335 of file power.cpp.

BooleanType Power::isRationalIn ( int  dim,
VariableType varType,
int *  component,
BooleanType implicit_dep 
) [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 BinaryOperator.

Definition at line 349 of file power.cpp.

Power & Power::operator= ( const Power arg)

Assignment Operator (deep copy).

Definition at line 114 of file power.cpp.

std::ostream & Power::print ( std::ostream &  stream) const [virtual]

Prints the expression into a stream.

Returns:
SUCCESFUL_RETURN

Implements BinaryOperator.

Definition at line 576 of file power.cpp.

Operator * Power::substitute ( int  index,
const Operator sub 
) [virtual]

Substitutes var(index) with the expression sub.

Returns:
The substituted expression.
Parameters:
indexsubst. index
subthe substitution

Implements BinaryOperator.

Definition at line 297 of file power.cpp.


Member Data Documentation

An auxiliary variable to define the power.

Definition at line 334 of file power.hpp.

An auxiliary variable to define the power.

Definition at line 335 of file power.hpp.

An auxiliary variable to define the first order derivative of the power.

Definition at line 337 of file power.hpp.

An auxiliary variable to define the second order derivative of the power.

Definition at line 339 of file power.hpp.

An auxiliary variable to define the second order derivative of the power.

Definition at line 340 of file power.hpp.

An auxiliary variable to define the second order derivative of the power.

Definition at line 341 of file power.hpp.


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


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Sat Jun 8 2019 19:40:25