OS
2.9.3
|
a data structure to represent the nonzeroes of a matrix in a blockwise fashion. More...
#include <OSMatrix.h>
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... | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
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.