|
gtsam
3.2.1
gtsam
|
Public Member Functions | |
| SymmetricBlockMatrix () | |
| Construct from an empty matrix (asserts that the matrix is empty) | |
| template<typename CONTAINER > | |
| SymmetricBlockMatrix (const CONTAINER &dimensions, bool appendOneDimension=false) | |
| Construct from a container of the sizes of each block. | |
| template<typename ITERATOR > | |
| SymmetricBlockMatrix (ITERATOR firstBlockDim, ITERATOR lastBlockDim, bool appendOneDimension=false) | |
| Construct from iterator over the sizes of each vertical block. | |
| template<typename CONTAINER > | |
| SymmetricBlockMatrix (const CONTAINER &dimensions, const Matrix &matrix, bool appendOneDimension=false) | |
| Construct from a container of the sizes of each vertical block and a pre-prepared matrix. | |
| DenseIndex | rows () const |
| Row size. | |
| DenseIndex | cols () const |
| Column size. | |
| DenseIndex | nBlocks () const |
| Block count. | |
| Block | operator() (DenseIndex i_block, DenseIndex j_block) |
Access the block with vertical block index i_block and horizontal block index j_block. More... | |
| constBlock | operator() (DenseIndex i_block, DenseIndex j_block) const |
Access the block with vertical block index i_block and horizontal block index j_block. More... | |
| Block | range (DenseIndex i_startBlock, DenseIndex i_endBlock, DenseIndex j_startBlock, DenseIndex j_endBlock) |
Access the range of blocks starting with vertical block index i_startBlock, ending with vertical block index i_endBlock, starting with horizontal block index j_startBlock, and ending with horizontal block index j_endBlock. More... | |
| constBlock | range (DenseIndex i_startBlock, DenseIndex i_endBlock, DenseIndex j_startBlock, DenseIndex j_endBlock) const |
Access the range of blocks starting with vertical block index i_startBlock, ending with vertical block index i_endBlock, starting with horizontal block index j_startBlock, and ending with horizontal block index j_endBlock. More... | |
| Block | full () |
| Return the full matrix, not including any portions excluded by firstBlock(). More... | |
| constBlock | full () const |
| Return the full matrix, not including any portions excluded by firstBlock(). More... | |
| Eigen::SelfAdjointView< const Matrix, Eigen::Upper > | matrix () const |
| Access to full matrix, including any portions excluded by firstBlock() to other operations. More... | |
| Eigen::SelfAdjointView< Matrix, Eigen::Upper > | matrix () |
| Access to full matrix, including any portions excluded by firstBlock() to other operations. More... | |
| DenseIndex | offset (DenseIndex block) const |
Return the absolute offset in the underlying matrix of the start of the specified block. | |
| DenseIndex & | blockStart () |
| Retrieve or modify the first logical block, i.e. More... | |
| DenseIndex | blockStart () const |
| Retrieve the first logical block, i.e. More... | |
| VerticalBlockMatrix | choleskyPartial (DenseIndex nFrontals) |
| Do partial Cholesky in-place and return the eliminated block matrix, leaving the remaining symmetric matrix in place. More... | |
Static Public Member Functions | |
| static SymmetricBlockMatrix | LikeActiveViewOf (const SymmetricBlockMatrix &other) |
| Copy the block structure, but do not copy the matrix data. More... | |
| static SymmetricBlockMatrix | LikeActiveViewOf (const VerticalBlockMatrix &other) |
| Copy the block structure, but do not copy the matrix data. More... | |
Public Types | |
| typedef SymmetricBlockMatrix | This |
|
typedef SymmetricBlockMatrixBlockExpr < This > | Block |
|
typedef SymmetricBlockMatrixBlockExpr < const This > | constBlock |
Protected Member Functions | |
| void | assertInvariants () const |
| void | checkBlock (DenseIndex block) const |
| DenseIndex | offsetUnchecked (DenseIndex block) const |
| template<typename ITERATOR > | |
| void | fillOffsets (ITERATOR firstBlockDim, ITERATOR lastBlockDim, bool appendOneDimension) |
Protected Attributes | |
| Matrix | matrix_ |
| The full matrix. | |
| FastVector< DenseIndex > | variableColOffsets_ |
| the starting columns of each block (0-based) | |
| DenseIndex | blockStart_ |
| Changes apparent matrix view, see main class comment. | |
Friends | |
| class | VerticalBlockMatrix |
| template<typename SymmetricBlockMatrixType > | |
| class | SymmetricBlockMatrixBlockExpr |
| class | boost::serialization::access |
| Serialization function. | |
|
inline |
Retrieve or modify the first logical block, i.e.
the block referenced by block index 0. Blocks before it will be inaccessible, except by accessing the underlying matrix using matrix().
|
inline |
Retrieve the first logical block, i.e.
the block referenced by block index 0. Blocks before it will be inaccessible, except by accessing the underlying matrix using matrix().
| VerticalBlockMatrix gtsam::SymmetricBlockMatrix::choleskyPartial | ( | DenseIndex | nFrontals | ) |
Do partial Cholesky in-place and return the eliminated block matrix, leaving the remaining symmetric matrix in place.
|
inline |
Return the full matrix, not including any portions excluded by firstBlock().
|
inline |
Return the full matrix, not including any portions excluded by firstBlock().
|
static |
Copy the block structure, but do not copy the matrix data.
If blockStart() has been modified, this copies the structure of the corresponding matrix view. In the destination SymmetricBlockMatrix, blockStart() will be 0.
|
static |
Copy the block structure, but do not copy the matrix data.
If blockStart() has been modified, this copies the structure of the corresponding matrix view. In the destination SymmetricBlockMatrix, blockStart() will be 0.
|
inline |
Access to full matrix, including any portions excluded by firstBlock() to other operations.
|
inline |
Access to full matrix, including any portions excluded by firstBlock() to other operations.
|
inline |
Access the block with vertical block index i_block and horizontal block index j_block.
Note that the actual block accessed in the underlying matrix is relative to blockStart().
|
inline |
Access the block with vertical block index i_block and horizontal block index j_block.
Note that the actual block accessed in the underlying matrix is relative to blockStart().
|
inline |
Access the range of blocks starting with vertical block index i_startBlock, ending with vertical block index i_endBlock, starting with horizontal block index j_startBlock, and ending with horizontal block index j_endBlock.
End block indices are exclusive. Note that the actual blocks accessed in the underlying matrix are relative to blockStart().
|
inline |
Access the range of blocks starting with vertical block index i_startBlock, ending with vertical block index i_endBlock, starting with horizontal block index j_startBlock, and ending with horizontal block index j_endBlock.
End block indices are exclusive. Note that the actual blocks accessed in the underlying matrix are relative to blockStart().