Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes

Implements the tree-projection operator within the family of SymbolicOperators. More...

#include <tree_projection.hpp>

Inheritance diagram for TreeProjection:
Inheritance graph
[legend]

List of all members.

Public Member Functions

returnValue clearStaticCounters ()
virtual TreeProjectionclone () const
virtual TreeProjectioncloneTreeProjection () const
OperatorgetArgument () const
virtual returnValue initDerivative ()
virtual BooleanType isDependingOn (int dim, VariableType *varType, int *component, BooleanType *implicit_dep)
virtual BooleanType isLinearIn (int dim, VariableType *varType, int *component, BooleanType *implicit_dep)
virtual NeutralElement isOneOrZero () const
virtual BooleanType isPolynomialIn (int dim, VariableType *varType, int *component, BooleanType *implicit_dep)
virtual BooleanType isRationalIn (int dim, VariableType *varType, int *component, BooleanType *implicit_dep)
virtual BooleanType isTrivial () const
virtual returnValue loadIndices (SymbolicIndexList *indexList)
Operatoroperator= (const Operator &arg)
virtual Operatoroperator= (const Expression &arg)
virtual Operatoroperator= (const double &arg)
virtual OperatorpassArgument () const
 TreeProjection ()
 TreeProjection (const std::string &name_)
 TreeProjection (const TreeProjection &arg)
virtual ~TreeProjection ()

Protected Member Functions

virtual returnValue ADbackwardProtected (int dim, VariableType *varType, int *component, Operator *seed, Operator **df, int &nNewIS, TreeProjection ***newIS)
virtual OperatorADforwardProtected (int dim, VariableType *varType, int *component, Operator **seed, int &nNewIS, TreeProjection ***newIS)
virtual returnValue ADsymmetricProtected (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 void copy (const Projection &arg)
virtual returnValue setVariableExportName (const VariableType &_type, const std::vector< std::string > &_name)

Protected Attributes

Operatorargument
NeutralElement ne

Static Protected Attributes

static int count = 0

Detailed Description

Implements the tree-projection operator within the family of SymbolicOperators.

The class TreeProjection implements a tree projection within the family of SymbolicOperators.

Author:
Boris Houska, Hans Joachim Ferreau

Definition at line 58 of file tree_projection.hpp.


Constructor & Destructor Documentation

Default constructor

Definition at line 47 of file tree_projection.cpp.

TreeProjection::TreeProjection ( const std::string &  name_)

Default constructor

Definition at line 58 of file tree_projection.cpp.

Copy constructor (deep copy).

Definition at line 70 of file tree_projection.cpp.

Default destructor.

Definition at line 87 of file tree_projection.cpp.


Member Function Documentation

returnValue TreeProjection::ADbackwardProtected ( int  dim,
VariableType varType,
int *  component,
Operator seed,
Operator **  df,
int &  nNewIS,
TreeProjection ***  newIS 
) [protected, 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

Reimplemented from Projection.

Definition at line 267 of file tree_projection.cpp.

Operator * TreeProjection::ADforwardProtected ( int  dim,
VariableType varType,
int *  component,
Operator **  seed,
int &  nNewIS,
TreeProjection ***  newIS 
) [protected, 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

Reimplemented from Projection.

Definition at line 215 of file tree_projection.cpp.

returnValue TreeProjection::ADsymmetricProtected ( 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 
) [protected, 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

Reimplemented from Projection.

Definition at line 335 of file tree_projection.cpp.

This function clears all static counters. Although this
function is public it should never be used in C-code.
It is necessary for some Matlab-specific interfaces.
Please have a look into the header file
include/utils/matlab_acado_utils.hpp
for more details.

Definition at line 552 of file tree_projection.cpp.

TreeProjection * TreeProjection::clone ( ) const [virtual]

Provides a deep copy of the expression.

Returns:
a clone of the expression.

Reimplemented from Projection.

Definition at line 202 of file tree_projection.cpp.

Provides a deep copy of a tree projection.

Returns:
a clone of the TreeProjection.

Reimplemented from SmoothOperator.

Definition at line 208 of file tree_projection.cpp.

void TreeProjection::copy ( const Projection arg) [protected, virtual]

Copy function.

Reimplemented from Projection.

Definition at line 573 of file tree_projection.cpp.

Get argument from intermediate state

Definition at line 559 of file tree_projection.cpp.

Reimplemented from Operator.

Definition at line 602 of file tree_projection.cpp.

BooleanType TreeProjection::isDependingOn ( int  dim,
VariableType varType,
int *  component,
BooleanType implicit_dep 
) [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

Reimplemented from Projection.

Definition at line 504 of file tree_projection.cpp.

BooleanType TreeProjection::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

Reimplemented from Projection.

Definition at line 516 of file tree_projection.cpp.

Checks whether the expression is zero or one

Returns:
NE_ZERO
NE_ONE
NE_NEITHER_ONE_NOR_ZERO

Reimplemented from Projection.

Definition at line 566 of file tree_projection.cpp.

BooleanType TreeProjection::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

Reimplemented from Projection.

Definition at line 528 of file tree_projection.cpp.

BooleanType TreeProjection::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

Reimplemented from Projection.

Definition at line 540 of file tree_projection.cpp.

Reimplemented from Projection.

Definition at line 596 of file tree_projection.cpp.

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

Reimplemented from Projection.

Definition at line 478 of file tree_projection.cpp.

Operator & TreeProjection::operator= ( const Operator arg) [virtual]

Assignment Operator (deep copy).

Reimplemented from SmoothOperator.

Definition at line 103 of file tree_projection.cpp.

Operator & TreeProjection::operator= ( const Expression arg) [virtual]

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

Reimplemented from SmoothOperator.

Definition at line 162 of file tree_projection.cpp.

Operator & TreeProjection::operator= ( const double &  arg) [virtual]

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

Reimplemented from SmoothOperator.

Definition at line 193 of file tree_projection.cpp.

Operator * TreeProjection::passArgument ( ) const [virtual]

Returns the argument or NULL if no intermediate argument available

Reimplemented from SmoothOperator.

Definition at line 579 of file tree_projection.cpp.

returnValue TreeProjection::setVariableExportName ( const VariableType _type,
const std::vector< std::string > &  _name 
) [protected, virtual]

Sets the name of the variable that is used for code export.

Returns:
SUCCESSFUL_RETURN

Reimplemented from Projection.

Definition at line 585 of file tree_projection.cpp.


Member Data Documentation

Definition at line 281 of file tree_projection.hpp.

BEGIN_NAMESPACE_ACADO int TreeProjection::count = 0 [static, protected]

Definition at line 282 of file tree_projection.hpp.

Definition at line 283 of file tree_projection.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:26