Public Member Functions | List of all members
OSnLNodeMatrixDeterminant Class Reference

The next few nodes evaluate to a scalar even though one or more of its arguments are matrices. More...

#include <OSnLNode.h>

Inheritance diagram for OSnLNodeMatrixDeterminant:
Inheritance graph
[legend]
Collaboration diagram for OSnLNodeMatrixDeterminant:
Collaboration graph
[legend]

Public Member Functions

 OSnLNodeMatrixDeterminant ()
 default constructor. More...
 
 ~OSnLNodeMatrixDeterminant ()
 default destructor. More...
 
virtual std::string getTokenName ()
 
virtual double calculateFunction (double *x)
 The implementation of the virtual functions. More...
 
virtual ADdouble constructADTape (std::map< int, int > *ADIdx, ADvector *XAD)
 The implementation of the virtual functions. More...
 
virtual OSnLNodecloneExprNode ()
 Create or clone a node of this type. More...
 
- Public Member Functions inherited from OSnLNode
 OSnLNode ()
 default constructor. More...
 
virtual ~OSnLNode ()
 default destructor. More...
 
virtual void getVariableIndexMap (std::map< int, int > *varIdx)
 varIdx is a map where the key is the index of an OSnLNodeVariable and (*varIdx)[ idx] is the kth variable in the map, e.g. More...
 
OSnLNodecreateExpressionTreeFromPrefix (std::vector< ExprNode * > nlNodeVec)
 Take a vector of ExprNodes (OSnLNodes and OSnLMNodes) in prefix format and create a scalar-valued OSExpressionTree root node. More...
 
virtual std::vector< ExprNode * > getPrefixFromExpressionTree ()
 Get a vector of pointers to OSnLNodes and OSnLMNodes that correspond to the (scalar-valued or matrix-valued) expression tree in prefix format. More...
 
virtual std::vector< ExprNode * > preOrderOSnLNodeTraversal (std::vector< ExprNode * > *prefixVector)
 Called by getPrefixFromExpressionTree(). More...
 
OSnLNodecreateExpressionTreeFromPostfix (std::vector< ExprNode * > nlNodeVec)
 Take a vector of ExprNodes (OSnLNodes and OSnLMNodes) in postfix format and create a scalar-valued OSExpressionTree root node. More...
 
virtual std::vector< ExprNode * > getPostfixFromExpressionTree ()
 Get a vector of pointers to ExprNodes that correspond to the expression tree in postfix format. More...
 
virtual std::vector< ExprNode * > postOrderOSnLNodeTraversal (std::vector< ExprNode * > *postfixVector)
 Called by getPostfixFromExpressionTree(). More...
 
virtual OSnLNodecopyNodeAndDescendants ()
 make a copy of this node and all its descendants More...
 
bool IsEqual (OSnLNode *that)
 A function to check for the equality of two objects. More...
 
- Public Member Functions inherited from ExprNode
 ExprNode ()
 default constructor. More...
 
virtual ~ExprNode ()
 default destructor. More...
 
virtual std::string getTokenNumber ()
 
virtual std::string getNonlinearExpressionInXML ()
 The following method writes an OSnLNode or OSnLMNode in OSiL format. More...
 
virtual bool IsEqual (ExprNode *that)
 A function to check for the equality of two objects. More...
 

Additional Inherited Members

- Public Attributes inherited from OSnLNode
double m_dFunctionValue
 m_dFunctionValue holds the function value given the current variable values. More...
 
ADdouble m_ADTape
 m_ADTape stores the expression tree for the this OSnLNode as an ADdouble. More...
 
- Public Attributes inherited from ExprNode
int inodeInt
 inodeInt is the unique integer assigned to the OSnLNode or OSnLMNode in OSParameters.h. More...
 
int inodeType
 inodeType essentially tracks whether the number of children are known or not. More...
 
unsigned int inumberOfChildren
 inumberOfChildren is the number of OSnLNode child elements If this number is not fixed, e.g., for a sum node, it is temporarily set to 0 More...
 
unsigned int inumberOfMatrixChildren
 inumberOfMatrixChildren is the number of OSnLMNode child elements If this number is not fixed, e.g., for a matrixProduct node, it is temporarily set to 0 More...
 
OSnLNode ** m_mChildren
 m_mChildren holds all the operands, that is, nodes that the current node operates on. More...
 
OSnLMNode ** m_mMatrixChildren
 m_mMatrixChildren holds all the matrix-valued operands, if any. More...
 

Detailed Description

The next few nodes evaluate to a scalar even though one or more of its arguments are matrices.

The OSnLNodeMatrixDeterminant Class.

Author
Horand Gassmann, Jun Ma, Kipp Martin
Date
11/06/2014
Since
OS2.8
Remarks
The in-memory representation of the OSnL element <matrixDeterminant>

Definition at line 1612 of file OSnLNode.h.

Constructor & Destructor Documentation

OSnLNodeMatrixDeterminant::OSnLNodeMatrixDeterminant ( )

default constructor.

OSnLNode objects with matrix arguments.

Definition at line 2197 of file OSnLNode.cpp.

OSnLNodeMatrixDeterminant::~OSnLNodeMatrixDeterminant ( )

default destructor.

Definition at line 2206 of file OSnLNode.cpp.

Member Function Documentation

std::string OSnLNodeMatrixDeterminant::getTokenName ( )
virtual
Returns
the value of operator name

Implements ExprNode.

Definition at line 2228 of file OSnLNode.cpp.

double OSnLNodeMatrixDeterminant::calculateFunction ( double *  x)
virtual

The implementation of the virtual functions.

Returns
a double.

Implements OSnLNode.

Definition at line 2214 of file OSnLNode.cpp.

double OSnLNodeMatrixDeterminant::constructADTape ( std::map< int, int > *  ADIdx,
ADvector XAD 
)
virtual

The implementation of the virtual functions.

Returns
a ADdouble.

Implements OSnLNode.

Definition at line 2234 of file OSnLNode.cpp.

OSnLNode * OSnLNodeMatrixDeterminant::cloneExprNode ( )
virtual

Create or clone a node of this type.

This is an abstract method which is required to be implemented by the concrete operator nodes that derive or extend from this class.

Implements ExprNode.

Definition at line 2249 of file OSnLNode.cpp.


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