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. More...
#include <OSMatrix.h>
Public Member Functions | |
MatrixBlocks () | |
-------— Methods for class MatrixBlocks -------— More... | |
~MatrixBlocks () | |
virtual ENUM_MATRIX_CONSTRUCTOR_TYPE | getNodeType () |
virtual std::string | getNodeName () |
virtual ENUM_MATRIX_TYPE | getMatrixType () |
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 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... | |
virtual | ~MatrixConstructor () |
destructor 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 * | colOffset |
An array listing the leftmost column of each block within the larger matrix It is assumed that the blocks are neatly "stacked". More... | |
IntVector * | rowOffset |
An array listing the top row of each block within the larger matrix. More... | |
![]() | |
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... | |
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 1449 of file OSMatrix.h.
MatrixBlocks::MatrixBlocks | ( | ) |
-------— Methods for class MatrixBlocks -------—
Definition at line 6120 of file OSMatrix.cpp.
MatrixBlocks::~MatrixBlocks | ( | ) |
Definition at line 6130 of file OSMatrix.cpp.
|
virtual |
Reimplemented from MatrixNode.
Definition at line 6186 of file OSMatrix.cpp.
|
virtual |
Implements MatrixNode.
Definition at line 6191 of file OSMatrix.cpp.
|
virtual |
Implements MatrixNode.
Definition at line 6196 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.
Implements MatrixNode.
Definition at line 6207 of file OSMatrix.cpp.
|
virtual |
Check whether a submatrix aligns with the block partition of a matrix or block or other constructor.
firstRow | gives the number of the first row in the submatrix (zero-based) |
firstColumn | gives the number of the first column in the submatrix (zero-based) |
nRows | gives the number of rows in the submatrix |
nColumns | gives the number of columns in the submatrix |
Implements MatrixNode.
Definition at line 6225 of file OSMatrix.cpp.
|
virtual |
The implementation of the virtual functions.
Implements MatrixNode.
Definition at line 6246 of file OSMatrix.cpp.
bool MatrixBlocks::IsEqual | ( | MatrixBlocks * | that | ) |
A function to check for the equality of two objects.
Definition at line 6253 of file OSMatrix.cpp.
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::colOffset |
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 1456 of file OSMatrix.h.
IntVector* MatrixBlocks::rowOffset |
An array listing the top row of each block within the larger matrix.
Definition at line 1461 of file OSMatrix.h.