this class extends OSMatrix for use, e.g., in the matrixObj section of OSoL and OSrL More...
#include <OSMatrix.h>
Public Member Functions | |
OSMatrixWithMatrixObjIdx () | |
-------— Methods for class OSMatrixWithMatrixObjIdx -------— More... | |
~OSMatrixWithMatrixObjIdx () | |
virtual std::string | getMatrixNodeInXML () |
virtual OSMatrixWithMatrixObjIdx * | cloneMatrixNode () |
The implementation of the virtual functions. More... | |
bool | IsEqual (OSMatrixWithMatrixObjIdx *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 (OSMatrixWithMatrixObjIdx *that) |
A function to make a deep copy of an instance of this class. More... | |
![]() | |
OSMatrix () | |
-------— Methods for class OSMatrix -------— More... | |
~OSMatrix () | |
OSMatrix * | createConstructorTreeFromPrefix (std::vector< MatrixNode * > mtxConstructorVec) |
virtual ENUM_MATRIX_CONSTRUCTOR_TYPE | getNodeType () |
virtual std::string | getNodeName () |
virtual ENUM_MATRIX_TYPE | getMatrixType () |
virtual bool | expandElements (bool rowMajor) |
A method to process a matrixType into a specific block structure. More... | |
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... | |
bool | isBlockDiagonal () |
A method to check whether a matrix is block-diagonal. More... | |
bool | setMatrix (std::string name, int numberOfRows, int numberOfColumns, ENUM_MATRIX_SYMMETRY symmetry, ENUM_MATRIX_TYPE matrixType, unsigned int inumberOfChildren, MatrixNode **m_mChildren) |
add values to this matrix. More... | |
bool | IsEqual (OSMatrix *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 (OSMatrix *that) |
A function to make a deep copy of an instance of this class. More... | |
![]() | |
MatrixType () | |
-------— Methods for class MatrixType -------— More... | |
virtual | ~MatrixType () |
bool | matrixHasBase () |
Several tools to parse the constructor list of a matrix. More... | |
bool | matrixHasElements () |
bool | matrixHasTransformations () |
bool | matrixHasBlocks () |
int | getNumberOfElementConstructors () |
int | getNumberOfTransformationConstructors () |
int | getNumberOfBlocksConstructors () |
GeneralSparseMatrix * | getMatrixCoefficientsInColumnMajor () |
GeneralSparseMatrix * | getMatrixCoefficientsInRowMajor () |
GeneralSparseMatrix * | getMatrixBlockInColumnMajorForm (int columnIdx, int rowIdx) |
bool | printExpandedMatrix (bool rowMajor) |
a utility routine to print the expanded matrix or block. More... | |
int | getRowPartitionSize () |
get the size of the row partition of a matrix More... | |
int * | getRowPartition () |
get the row partition of the matrix More... | |
int | getColumnPartitionSize () |
get the size of the column partition of a matrix More... | |
int * | getColumnPartition () |
get the column partition of the matrix More... | |
GeneralSparseMatrix * | convertToOtherMajor (bool isColumnMajor) |
A method to convert a matrix to the other major. More... | |
bool | processBlockPartition () |
A method to determine the block structure of a matrixType as defined by the <blocks> element or elements. More... | |
virtual bool | processBlocks (bool rowMajor, ENUM_MATRIX_SYMMETRY symmetry) |
A method to process a matrixType into a block structure defined by the <blocks> element or elements. More... | |
virtual bool | processBlocks (int *rowOffset, int rowOffsetSize, int *colOffset, int colOffsetSize, bool rowMajor, ENUM_MATRIX_SYMMETRY symmetry) |
A method to process a matrixType into a specific block structure. More... | |
GeneralSparseMatrix * | extractBlock (int firstrow, int firstcol, int lastrow, int lastcol, bool rowMajor, ENUM_MATRIX_SYMMETRY symmetry) |
A method to extract a block from a larger matrix The result is a sparse matrix object, depending on the matrixType, of constant matrix elements, variable references, linear or nonlinear expressions, or objective and constraint references (possibly mixed). More... | |
ExpandedMatrixBlocks * | getBlocks (int *rowPartition, int rowPartitionSize, int *colPartition, int colPartitionSize, bool rowMajor, bool appendToBlockArray) |
A method to extract a block from a larger matrix The result is a sparse matrix object, depending on the matrixType, of constant matrix elements, variable references, linear or nonlinear expressions, or objective and constraint references (possibly mixed). More... | |
ExpandedMatrixBlocks * | disassembleMatrix (int *rowPartition, int rowPartitionSize, int *colPartition, int colPartitionSize, bool rowMajor, ENUM_MATRIX_SYMMETRY symmetry) |
A method to disassemble a MatrixType into individual blocks of specific structure. More... | |
bool | IsEqual (MatrixType *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 (MatrixType *that) |
A function to make a deep copy of an instance of this class. More... | |
![]() | |
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 | |
int | matrixObjIdx |
![]() | |
int | idx |
std::string | name |
![]() | |
ENUM_MATRIX_SYMMETRY | symmetry |
To track the type of symmetry present in the matrix or block. More... | |
ENUM_MATRIX_TYPE | type |
To track the type of values present in the matrix or block. More... | |
int | numberOfRows |
int | numberOfColumns |
GeneralSparseMatrix * | ExpandedMatrixInRowMajorForm |
The matrix can be held in expanded form by rows or by columns and in a number of ways stored by blocks. More... | |
GeneralSparseMatrix * | ExpandedMatrixInColumnMajorForm |
std::vector < ExpandedMatrixBlocks * > | ExpandedMatrixByBlocks |
![]() | |
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... | |
this class extends OSMatrix for use, e.g., in the matrixObj section of OSoL and OSrL
Definition at line 2391 of file OSMatrix.h.
OSMatrixWithMatrixObjIdx::OSMatrixWithMatrixObjIdx | ( | ) |
-------— Methods for class OSMatrixWithMatrixObjIdx -------—
Definition at line 3808 of file OSMatrix.cpp.
OSMatrixWithMatrixObjIdx::~OSMatrixWithMatrixObjIdx | ( | ) |
Definition at line 3817 of file OSMatrix.cpp.
|
virtual |
The following method writes a matrix node in OSgL format. it is used by OSgLWriter to write a <matrix> element.
Reimplemented from OSMatrix.
Definition at line 3825 of file OSMatrix.cpp.
|
virtual |
The implementation of the virtual functions.
Reimplemented from OSMatrix.
Definition at line 3851 of file OSMatrix.cpp.
bool OSMatrixWithMatrixObjIdx::IsEqual | ( | OSMatrixWithMatrixObjIdx * | that | ) |
A function to check for the equality of two objects.
A function to make a random instance of this class.
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 |
bool OSMatrixWithMatrixObjIdx::deepCopyFrom | ( | OSMatrixWithMatrixObjIdx * | that | ) |
A function to make a deep copy of an instance of this class.
that,: | the instance from which information is to be copied |
int OSMatrixWithMatrixObjIdx::matrixObjIdx |
Definition at line 2394 of file OSMatrix.h.