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. More... | |
typedef std::vector< RowBlock > | SparseColumn |
Public Member Functions | |
int | cols () const |
columns of the matrix More... | |
int | rows () const |
rows of the matrix More... | |
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? More... | |
int | colsOfBlock (int c) const |
how many cols does the block at block-col c has? More... | |
int | rowBaseOfBlock (int r) const |
where does the row at block-row r start? More... | |
int | colBaseOfBlock (int c) const |
where does the col at block-col r start? More... | |
const std::vector< SparseColumn > & | blockCols () const |
the block matrices per block-column More... | |
std::vector< SparseColumn > & | blockCols () |
const std::vector< int > & | rowBlockIndices () const |
indices of the row blocks More... | |
const std::vector< int > & | colBlockIndices () const |
indices of the column blocks More... | |
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 |
vector of the indices of the blocks along the rows. More... | |
const std::vector< int > & | _colBlockIndices |
vector of the indices of the blocks along the cols More... | |
std::vector< SparseColumn > | _blockCols |
the matrices stored in CCS order More... | |
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 49 of file sparse_block_matrix_ccs.h.
typedef std::vector<RowBlock> g2o::SparseBlockMatrixCCS< MatrixType >::SparseColumn |
Definition at line 71 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 53 of file sparse_block_matrix_ccs.h.
|
inline |
Definition at line 73 of file sparse_block_matrix_ccs.h.
|
inline |
the block matrices per block-column
Definition at line 90 of file sparse_block_matrix_ccs.h.
Referenced by g2o::SparseBlockMatrix< MatrixType >::fillSparseBlockMatrixCCS(), g2o::SparseBlockMatrix< MatrixType >::fillSparseBlockMatrixCCSTransposed(), and g2o::BlockSolver< Traits >::solve().
|
inline |
Definition at line 91 of file sparse_block_matrix_ccs.h.
|
inline |
where does the col at block-col r start?
Definition at line 87 of file sparse_block_matrix_ccs.h.
Referenced by g2o::SparseBlockMatrixCCS< PoseMatrixType >::rightMultiply().
|
inline |
indices of the column blocks
Definition at line 97 of file sparse_block_matrix_ccs.h.
|
inline |
columns of the matrix
Definition at line 56 of file sparse_block_matrix_ccs.h.
Referenced by g2o::SparseBlockMatrixCCS< PoseMatrixType >::rightMultiply().
|
inline |
how many cols does the block at block-col c has?
Definition at line 81 of file sparse_block_matrix_ccs.h.
Referenced by g2o::SparseBlockMatrixHashMap< MatrixType >::addBlock(), and g2o::SparseBlockMatrixCCS< PoseMatrixType >::fillCCS().
|
inline |
fill the CCS arrays of a matrix, arrays have to be allocated beforehand
Definition at line 139 of file sparse_block_matrix_ccs.h.
|
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 172 of file sparse_block_matrix_ccs.h.
|
inline |
Definition at line 99 of file sparse_block_matrix_ccs.h.
Referenced by g2o::BlockSolver< Traits >::solve().
|
inline |
where does the row at block-row r start?
Definition at line 84 of file sparse_block_matrix_ccs.h.
Referenced by g2o::SparseBlockMatrixCCS< PoseMatrixType >::rightMultiply(), and g2o::BlockSolver< Traits >::solve().
|
inline |
indices of the row blocks
Definition at line 94 of file sparse_block_matrix_ccs.h.
|
inline |
rows of the matrix
Definition at line 58 of file sparse_block_matrix_ccs.h.
Referenced by g2o::SparseBlockMatrixCCS< PoseMatrixType >::rightMultiply().
|
inline |
how many rows does the block at block-row r has?
Definition at line 78 of file sparse_block_matrix_ccs.h.
Referenced by g2o::SparseBlockMatrixHashMap< MatrixType >::addBlock().
|
inline |
sort the blocks in each column
Definition at line 129 of file sparse_block_matrix_ccs.h.
|
protected |
the matrices stored in CCS order
Definition at line 200 of file sparse_block_matrix_ccs.h.
Referenced by g2o::SparseBlockMatrixHashMap< MatrixType >::addBlock(), g2o::SparseBlockMatrixCCS< PoseMatrixType >::blockCols(), g2o::SparseBlockMatrixHashMap< MatrixType >::blockCols(), g2o::SparseBlockMatrixCCS< PoseMatrixType >::fillCCS(), g2o::SparseBlockMatrixCCS< PoseMatrixType >::rightMultiply(), and g2o::SparseBlockMatrixCCS< PoseMatrixType >::sortColumns().
|
protected |
vector of the indices of the blocks along the cols
Definition at line 199 of file sparse_block_matrix_ccs.h.
Referenced by g2o::SparseBlockMatrixCCS< PoseMatrixType >::colBaseOfBlock(), g2o::SparseBlockMatrixHashMap< MatrixType >::colBaseOfBlock(), g2o::SparseBlockMatrixCCS< PoseMatrixType >::colBlockIndices(), g2o::SparseBlockMatrixHashMap< MatrixType >::colBlockIndices(), g2o::SparseBlockMatrixCCS< PoseMatrixType >::cols(), g2o::SparseBlockMatrixHashMap< MatrixType >::cols(), g2o::SparseBlockMatrixCCS< PoseMatrixType >::colsOfBlock(), g2o::SparseBlockMatrixHashMap< MatrixType >::colsOfBlock(), and g2o::SparseBlockMatrixCCS< PoseMatrixType >::fillCCS().
|
protected |
vector of the indices of the blocks along the rows.
Definition at line 198 of file sparse_block_matrix_ccs.h.
Referenced by g2o::SparseBlockMatrixCCS< PoseMatrixType >::fillCCS(), g2o::SparseBlockMatrixCCS< PoseMatrixType >::rowBaseOfBlock(), g2o::SparseBlockMatrixHashMap< MatrixType >::rowBaseOfBlock(), g2o::SparseBlockMatrixCCS< PoseMatrixType >::rowBlockIndices(), g2o::SparseBlockMatrixHashMap< MatrixType >::rowBlockIndices(), g2o::SparseBlockMatrixCCS< PoseMatrixType >::rows(), g2o::SparseBlockMatrixHashMap< MatrixType >::rows(), g2o::SparseBlockMatrixCCS< PoseMatrixType >::rowsOfBlock(), and g2o::SparseBlockMatrixHashMap< MatrixType >::rowsOfBlock().