|
g2o
|
Sparse matrix which uses blocks. More...
#include <sparse_block_matrix_ccs.h>
Classes | |
| struct | RowBlock |
| A block within a column. More... | |
Public Types | |
| typedef MatrixType | SparseMatrixBlock |
| this is the type of the elementary block, it is an Eigen::Matrix. | |
| typedef std::vector< RowBlock > | SparseColumn |
Public Member Functions | |
| int | cols () const |
| columns of the matrix | |
| int | rows () const |
| rows of the matrix | |
| SparseBlockMatrixCCS (const std::vector< int > &rowIndices, const std::vector< int > &colIndices) | |
| int | rowsOfBlock (int r) const |
| how many rows does the block at block-row r has? | |
| int | colsOfBlock (int c) const |
| how many cols does the block at block-col c has? | |
| int | rowBaseOfBlock (int r) const |
| where does the row at block-row r start? | |
| int | colBaseOfBlock (int c) const |
| where does the col at block-col r start? | |
| const std::vector< SparseColumn > & | blockCols () const |
| the block matrices per block-column | |
| std::vector< SparseColumn > & | blockCols () |
| const std::vector< int > & | rowBlockIndices () const |
| indices of the row blocks | |
| const std::vector< int > & | colBlockIndices () const |
| indices of the column blocks | |
| void | rightMultiply (double *&dest, const double *src) const |
| void | sortColumns () |
| int | fillCCS (int *Cp, int *Ci, double *Cx, bool upperTriangle=false) const |
| int | fillCCS (double *Cx, bool upperTriangle=false) const |
Protected Attributes | |
| const std::vector< int > & | _rowBlockIndices |
| const std::vector< int > & | _colBlockIndices |
| vector of the indices of the blocks along the cols | |
| std::vector< SparseColumn > | _blockCols |
| the matrices stored in CCS order | |
Sparse matrix which uses blocks.
This class is used as a const view on a SparseBlockMatrix which allows a faster iteration over the elements of the matrix.
Definition at line 48 of file sparse_block_matrix_ccs.h.
| typedef std::vector<RowBlock> g2o::SparseBlockMatrixCCS< MatrixType >::SparseColumn |
Definition at line 72 of file sparse_block_matrix_ccs.h.
| typedef MatrixType g2o::SparseBlockMatrixCCS< MatrixType >::SparseMatrixBlock |
this is the type of the elementary block, it is an Eigen::Matrix.
Definition at line 51 of file sparse_block_matrix_ccs.h.
|
inline |
Definition at line 74 of file sparse_block_matrix_ccs.h.
|
inline |
Definition at line 98 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixCCS< MatrixType >::_blockCols.
|
inline |
the block matrices per block-column
Definition at line 97 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixCCS< MatrixType >::_blockCols.
Referenced by g2o::SparseBlockMatrix< MatrixType >::fillSparseBlockMatrixCCS(), g2o::SparseBlockMatrix< MatrixType >::fillSparseBlockMatrixCCSTransposed(), and g2o::BlockSolver< Traits >::solve().
|
inline |
where does the col at block-col r start?
Definition at line 94 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixCCS< MatrixType >::_colBlockIndices.
Referenced by g2o::SparseBlockMatrixCCS< MatrixType >::rightMultiply().
|
inline |
indices of the column blocks
Definition at line 104 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixCCS< MatrixType >::_colBlockIndices.
|
inline |
columns of the matrix
Definition at line 54 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixCCS< MatrixType >::_colBlockIndices.
Referenced by g2o::SparseBlockMatrixCCS< MatrixType >::rightMultiply().
|
inline |
how many cols does the block at block-col c has?
Definition at line 85 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixCCS< MatrixType >::_colBlockIndices.
Referenced by g2o::SparseBlockMatrixCCS< MatrixType >::fillCCS().
|
inline |
fill the CCS arrays of a matrix, arrays have to be allocated beforehand. This function only writes the values and assumes that column and row structures have already been written.
Definition at line 180 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixCCS< MatrixType >::_blockCols, g2o::SparseBlockMatrixCCS< MatrixType >::_colBlockIndices, and g2o::SparseBlockMatrixCCS< MatrixType >::_rowBlockIndices.
|
inline |
fill the CCS arrays of a matrix, arrays have to be allocated beforehand
Definition at line 147 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixCCS< MatrixType >::_blockCols, g2o::SparseBlockMatrixCCS< MatrixType >::_colBlockIndices, g2o::SparseBlockMatrixCCS< MatrixType >::_rowBlockIndices, and g2o::SparseBlockMatrixCCS< MatrixType >::colsOfBlock().
|
inline |
Definition at line 106 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixCCS< MatrixType >::_blockCols, g2o::SparseBlockMatrixCCS< MatrixType >::colBaseOfBlock(), g2o::SparseBlockMatrixCCS< MatrixType >::cols(), g2o::SparseBlockMatrixCCS< MatrixType >::rowBaseOfBlock(), and g2o::SparseBlockMatrixCCS< MatrixType >::rows().
|
inline |
where does the row at block-row r start?
Definition at line 91 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixCCS< MatrixType >::_rowBlockIndices.
Referenced by g2o::SparseBlockMatrixCCS< MatrixType >::rightMultiply().
|
inline |
indices of the row blocks
Definition at line 101 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixCCS< MatrixType >::_rowBlockIndices.
|
inline |
rows of the matrix
Definition at line 58 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixCCS< MatrixType >::_rowBlockIndices.
Referenced by g2o::SparseBlockMatrixCCS< MatrixType >::rightMultiply().
|
inline |
how many rows does the block at block-row r has?
Definition at line 79 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixCCS< MatrixType >::_rowBlockIndices.
|
inline |
sort the blocks in each column
Definition at line 138 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixCCS< MatrixType >::_blockCols.
|
protected |
the matrices stored in CCS order
Definition at line 208 of file sparse_block_matrix_ccs.h.
Referenced by g2o::SparseBlockMatrixCCS< MatrixType >::blockCols(), g2o::SparseBlockMatrixCCS< MatrixType >::blockCols(), g2o::SparseBlockMatrixCCS< MatrixType >::fillCCS(), g2o::SparseBlockMatrixCCS< MatrixType >::fillCCS(), g2o::SparseBlockMatrixCCS< MatrixType >::rightMultiply(), and g2o::SparseBlockMatrixCCS< MatrixType >::sortColumns().
|
protected |
vector of the indices of the blocks along the cols
Definition at line 207 of file sparse_block_matrix_ccs.h.
Referenced by g2o::SparseBlockMatrixCCS< MatrixType >::colBaseOfBlock(), g2o::SparseBlockMatrixCCS< MatrixType >::colBlockIndices(), g2o::SparseBlockMatrixCCS< MatrixType >::cols(), g2o::SparseBlockMatrixCCS< MatrixType >::colsOfBlock(), g2o::SparseBlockMatrixCCS< MatrixType >::fillCCS(), and g2o::SparseBlockMatrixCCS< MatrixType >::fillCCS().
|
protected |
vector of the indices of the blocks along the rows.
Definition at line 204 of file sparse_block_matrix_ccs.h.
Referenced by g2o::SparseBlockMatrixCCS< MatrixType >::fillCCS(), g2o::SparseBlockMatrixCCS< MatrixType >::fillCCS(), g2o::SparseBlockMatrixCCS< MatrixType >::rowBaseOfBlock(), g2o::SparseBlockMatrixCCS< MatrixType >::rowBlockIndices(), g2o::SparseBlockMatrixCCS< MatrixType >::rows(), and g2o::SparseBlockMatrixCCS< MatrixType >::rowsOfBlock().