|
OS
2.9.3
|
a data structure to represent the nonzeroes of a matrix in a blockwise fashion. More...
#include <OSMatrix.h>
Inheritance diagram for MatrixBlocks:
Collaboration diagram for MatrixBlocks:Public Member Functions | |
| MatrixBlocks () | |
| ~MatrixBlocks () | |
| virtual ENUM_MATRIX_CONSTRUCTOR_TYPE | getNodeType () |
| virtual std::string | getNodeName () |
| virtual std::string | getMatrixNodeInXML () |
| virtual MatrixBlocks * | cloneMatrixNode () |
| The implementation of the virtual functions. More... | |
| bool | IsEqual (MatrixBlocks *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 (MatrixBlocks *that) |
| A function to make a deep copy of an instance of this class. More... | |
Public Member Functions inherited from MatrixConstructor | |
| MatrixConstructor () | |
| constructor More... | |
| ~MatrixConstructor () | |
| destructor More... | |
| bool | IsEqual (MatrixConstructor *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 (MatrixConstructor *that) |
| A function to make a deep copy of an instance of this class. 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 | |
| IntVector * | colOffsets |
| An array listing the leftmost column of each block within the larger matrix It is assumed that the blocks are neatly "stacked". More... | |
| IntVector * | rowOffsets |
| An array listing the top row of each block within the larger matrix. More... | |
| int | numberOfBlocks |
| This integer gives the number of blocks for which values are provided Due to block-sparsity, this could be less than card(colOffsets)*card(rowOffsets) More... | |
| MatrixBlock ** | block |
| The nonzeros in each block are held in this data structure. 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 More... | |
| ENUM_MATRIX_CONSTRUCTOR_TYPE | nType |
| nType is a unique integer assigned to each type of matrix node 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... | |
a data structure to represent the nonzeroes of a matrix in a blockwise fashion.
Each block can be given elementwise, through transformation, or by nested blocks, and so on, recursively.
Definition at line 913 of file OSMatrix.h.
| MatrixBlocks::MatrixBlocks | ( | ) |
| MatrixBlocks::~MatrixBlocks | ( | ) |
|
virtual |
Reimplemented from MatrixNode.
|
virtual |
Implements MatrixNode.
|
virtual |
The following method writes a matrix node in OSgL format. it is used by OSgLWriter to write a <matrix> element.
Implements MatrixNode.
|
virtual |
The implementation of the virtual functions.
Implements MatrixNode.
| bool MatrixBlocks::IsEqual | ( | MatrixBlocks * | that | ) |
A function to check for the equality of two objects.
| bool MatrixBlocks::setRandom | ( | double | density, |
| bool | conformant, | ||
| int | iMin, | ||
| int | iMax | ||
| ) |
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 MatrixBlocks::deepCopyFrom | ( | MatrixBlocks * | that | ) |
A function to make a deep copy of an instance of this class.
| that | the instance from which information is to be copied |
| IntVector* MatrixBlocks::colOffsets |
An array listing the leftmost column of each block within the larger matrix It is assumed that the blocks are neatly "stacked".
Definition at line 920 of file OSMatrix.h.
| IntVector* MatrixBlocks::rowOffsets |
An array listing the top row of each block within the larger matrix.
Definition at line 925 of file OSMatrix.h.
| int MatrixBlocks::numberOfBlocks |
This integer gives the number of blocks for which values are provided Due to block-sparsity, this could be less than card(colOffsets)*card(rowOffsets)
Definition at line 931 of file OSMatrix.h.
| MatrixBlock** MatrixBlocks::block |
The nonzeros in each block are held in this data structure.
Definition at line 934 of file OSMatrix.h.
1.8.9.1