Simbody
3.7
|
A MatrixCommitment provides a set of acceptable matrix characteristics. More...
Classes | |
class | Hermitian |
This is the default commitment for a Hermitian (not symmetric) matrix. More... | |
class | RowVector |
This is the default commitment for a row vector. More... | |
class | SkewHermitian |
This is the default commitment for a skew Hermitian (not skew symmetric) matrix. More... | |
class | SkewSymmetric |
This is the default commitment for skew symmetric (not skew Hermitian) matrix. More... | |
class | Symmetric |
This is the default commitment for a symmetric (not Hermitian) matrix. More... | |
class | Triangular |
This is the default commitment for a triangular matrix. More... | |
class | Vector |
This is the default commitment for a column vector. More... | |
Protected Member Functions | |
MatrixCommitment (const MatrixStructure &structure, const MatrixStorage &storage, const MatrixOutline &outline, const MatrixCondition &condition) | |
Protected Attributes | |
MatrixStructure | structure |
These are the commitments as specified. More... | |
MatrixStorage | storage |
MatrixOutline | outline |
MatrixCondition | condition |
MatrixCharacter::Mask | masks |
These are the bitmasks of acceptable characteristics which would satisfy the above-specified commitments. More... | |
Related Functions | |
(Note that these are not member functions.) | |
std::ostream & | operator<< (std::ostream &o, const MatrixCommitment &) |
Output a textual description of a MatrixCommitment; handy for debugging. More... | |
A MatrixCommitment provides a set of acceptable matrix characteristics.
Since we define the characteristics each with its own bit, a commitment is implemented as a set of masks with bits set corresponding to the acceptable characteristics.
|
inline |
|
inline |
This is an implicit conversion from a MatrixStructure specification to a MatrixCommitment with storage, outline, and condition uncommitted.
|
inlineprotected |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
MatrixCharacter SimTK::MatrixCommitment::calcDefaultCharacter | ( | int | minNumRows, |
int | minNumCols | ||
) | const |
For any handle commitment, we can calculate a "best character" for an allocation that satisfies the commitment, optionally with an initial allocation size.
Typically it is the least-restrictive actual character that satisfies the commitment. For example, if the commitment is Triangular we'll allocate a full triangular matrix, not a banded one, or a symmetric one, or for that matter an identity matrix, all of which would satisfy the commitment. The supplied sizes are used as minima – if the commitment requires a larger minimum size you'll get that. For example, if you specify 0x0 but you're committed to a Column outline, you'll get 0x1.
|
inline |
These report the commitment as it was specified.
|
inline |
|
inline |
|
inline |
|
inline |
These report the masks of acceptable values generated from the commitment.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Set commitment s to "none" and masks to "uncommitted" for all characteristics.
|
related |
Output a textual description of a MatrixCommitment; handy for debugging.
|
protected |
These are the commitments as specified.
They are used to fill in the corresponding bitmasks of acceptable characteristics below.
|
protected |
|
protected |
|
protected |
|
protected |
These are the bitmasks of acceptable characteristics which would satisfy the above-specified commitments.