Public Member Functions | Public Attributes | List of all members
ConReferenceMatrixElements Class Reference

a data structure to represent row reference elements in a MatrixType object Each nonzero element is of the form x_{k} where k is the index of a constraint More...

#include <OSMatrix.h>

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

Public Member Functions

 ConReferenceMatrixElements ()
 -------— Methods for class ConReferenceMatrixElements -------— More...
 
 ~ConReferenceMatrixElements ()
 
virtual
ENUM_MATRIX_CONSTRUCTOR_TYPE 
getNodeType ()
 
virtual ENUM_MATRIX_TYPE getMatrixType ()
 
virtual std::string getNodeName ()
 
virtual std::string getMatrixNodeInXML ()
 
virtual bool alignsOnBlockBoundary (int firstRow, int firstColumn, int nRows, int nCols)
 Check whether a submatrix aligns with the block partition of a matrix or block or other constructor. More...
 
virtual
ConReferenceMatrixElements
cloneMatrixNode ()
 
bool IsEqual (ConReferenceMatrixElements *that)
 A function to check for the equality of two objects. More...
 
bool setRandom (double density, bool conformant, int iMin, int iMax)
 A function to make a random instance of this class. More...
 
bool deepCopyFrom (ConReferenceMatrixElements *that)
 A function to make a deep copy of an instance of this class. More...
 
- Public Member Functions inherited from MatrixElements
 MatrixElements ()
 -------— Methods for class MatrixElements -------— More...
 
virtual ~MatrixElements ()
 
bool getRowMajor ()
 Returns whether the matrix is stored row-wise or column-wise. More...
 
bool IsEqual (MatrixElements *that)
 A function to check for the equality of two objects. More...
 
- Public Member Functions inherited from MatrixConstructor
 MatrixConstructor ()
 constructor More...
 
virtual ~MatrixConstructor ()
 destructor More...
 
- Public Member Functions inherited from MatrixNode
 MatrixNode ()
 default constructor More...
 
virtual ~MatrixNode ()
 destructor More...
 
std::vector< MatrixNode * > getPrefixFromNodeTree ()
 
std::vector< MatrixNode * > preOrderMatrixNodeTraversal (std::vector< MatrixNode * > *prefixVector)
 
std::vector< MatrixNode * > getPostfixFromNodeTree ()
 
std::vector< MatrixNode * > postOrderMatrixNodeTraversal (std::vector< MatrixNode * > *postfixVector)
 
virtual bool IsEqual (MatrixNode *that)
 A function to check for the equality of two objects. More...
 
bool setRandom (double density, bool conformant, int iMin, int iMax)
 A function to make a random instance of this class. More...
 
bool deepCopyFrom (MatrixNode *that)
 A function to make a deep copy of an instance of this class. More...
 

Public Attributes

ConReferenceMatrixValuesvalue
 The constraint references (indexes of core constraints and value types) of the elements. More...
 
- Public Attributes inherited from MatrixElements
bool rowMajor
 To indicate whether the matrix elements are stored in row major form or column major form. More...
 
int numberOfValues
 numberOfValues records the number of entries in the arrays that make up the instance of nonzeros More...
 
IntVectorstart
 A vector listing the row or column starts. More...
 
IntVectorindex
 The index array of the (nonzero) elements. More...
 
- Public Attributes inherited from MatrixNode
ENUM_MATRIX_TYPE matrixType
 matrixType tracks the type of elements contained in this MatrixNode, which may be useful in solver selection For an enumeration of the possible types see OSParameters.h More...
 
ENUM_MATRIX_CONSTRUCTOR_TYPE nType
 nType is a unique integer assigned to each type of matrix node (see OSParameters.h) More...
 
unsigned int inumberOfChildren
 inumberOfChildren is the number of MatrixNode child elements For the matrix types (OSMatrix and MatrixBlock) this number is not fixed and is temporarily set to 0 More...
 
MatrixNode ** m_mChildren
 m_mChildren holds all the children, that is, nodes used in the definition or construction of the current node. More...
 

Detailed Description

a data structure to represent row reference elements in a MatrixType object Each nonzero element is of the form x_{k} where k is the index of a constraint

Definition at line 1177 of file OSMatrix.h.

Constructor & Destructor Documentation

ConReferenceMatrixElements::ConReferenceMatrixElements ( )

-------— Methods for class ConReferenceMatrixElements -------—

Definition at line 5524 of file OSMatrix.cpp.

ConReferenceMatrixElements::~ConReferenceMatrixElements ( )

Definition at line 5532 of file OSMatrix.cpp.

Member Function Documentation

ENUM_MATRIX_CONSTRUCTOR_TYPE ConReferenceMatrixElements::getNodeType ( )
virtual
Returns
the constructor type

Reimplemented from MatrixNode.

Definition at line 5550 of file OSMatrix.cpp.

ENUM_MATRIX_TYPE ConReferenceMatrixElements::getMatrixType ( )
virtual
Returns
the type of the matrix elements

Implements MatrixNode.

Definition at line 5560 of file OSMatrix.cpp.

std::string ConReferenceMatrixElements::getNodeName ( )
virtual
Returns
the name of the matrix constructor

Implements MatrixNode.

Definition at line 5555 of file OSMatrix.cpp.

std::string ConReferenceMatrixElements::getMatrixNodeInXML ( )
virtual

The following method writes a matrix node in OSgL format. it is used by OSgLWriter to write a <matrix> element.

Returns
the MatrixNode and its children as an OSgL string.

Implements MatrixNode.

Definition at line 5567 of file OSMatrix.cpp.

bool ConReferenceMatrixElements::alignsOnBlockBoundary ( int  firstRow,
int  firstColumn,
int  nRows,
int  nCols 
)
virtual

Check whether a submatrix aligns with the block partition of a matrix or block or other constructor.

Parameters
firstRowgives the number of the first row in the submatrix (zero-based)
firstColumngives the number of the first column in the submatrix (zero-based)
nRowsgives the number of rows in the submatrix
nColumnsgives the number of columns in the submatrix
Returns
true if the submatrix aligns with the boundaries of a block This is an abstract method which is required to be implemented by the concrete operator nodes that derive or extend from this class.

Implements MatrixNode.

Definition at line 5607 of file OSMatrix.cpp.

ConReferenceMatrixElements * ConReferenceMatrixElements::cloneMatrixNode ( )
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 MatrixNode.

Definition at line 5612 of file OSMatrix.cpp.

bool ConReferenceMatrixElements::IsEqual ( ConReferenceMatrixElements that)

A function to check for the equality of two objects.

Definition at line 5619 of file OSMatrix.cpp.

bool ConReferenceMatrixElements::setRandom ( double  density,
bool  conformant,
int  iMin,
int  iMax 
)

A function to make a random instance of this class.

Parameters
density,:corresponds to the probability that a particular child element is created
conformant,:if true enforces side constraints not enforceable in the schema (e.g., agreement of "numberOfXXX" attributes and <XXX> children)
iMin,:lowest index value (inclusive) that a variable reference in this matrix can take
iMax,:greatest index value (inclusive) that a variable reference in this matrix can take

Definition at line 5662 of file OSMatrix.cpp.

bool ConReferenceMatrixElements::deepCopyFrom ( ConReferenceMatrixElements that)

A function to make a deep copy of an instance of this class.

Parameters
that,:the instance from which information is to be copied
Returns
whether the copy was created successfully

Definition at line 5667 of file OSMatrix.cpp.

Member Data Documentation

ConReferenceMatrixValues* ConReferenceMatrixElements::value

The constraint references (indexes of core constraints and value types) of the elements.

Definition at line 1181 of file OSMatrix.h.


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