| 
    SRBA: Sparser Relative Bundle Adjustment
   
    
   
   | 
  
  
  
 
A wrapper of mrpt::math::MatrixBlockSparseCols<> with extended functionality. Refer to the docs of the base class. A templated column-indexed efficient storage of block-sparse Jacobian or Hessian matrices, together with other arbitrary information. Columns are stored in a non-associative container, but the contents of each column are kept within an std::map<> indexed by row. All submatrix blocks have the same size, which allows dense storage of them in fixed-size matrices, avoiding costly memory allocations.
Definition at line 319 of file srba_types.h.
#include <srba_types.h>
  
 Public Types | |
| 
typedef  mrpt::math::MatrixBlockSparseCols < Scalar, NROWS, NCOLS, INFO, HAS_REMAP, INDEX_REMAP_MAP_IMPL >  | base_t | 
| 
typedef Eigen::Matrix< Scalar,  NROWS, NCOLS >  | matrix_t | 
| typedef INFO | symbolic_t | 
| 
typedef  mrpt::aligned_containers < size_t, TEntry >::map_t  | col_t | 
Public Member Functions | |
| size_t | findRowSpan (size_t *row_min_idx=NULL, size_t *row_max_idx=NULL) const | 
| void | getSparsityStats (size_t &nMaxBlocks, size_t &nNonZeroBlocks) const | 
| col_t & | getCol (const size_t idx) | 
| const col_t & | getCol (const size_t idx) const | 
| 
const  mrpt::utils::map_as_vector < size_t, size_t > &  | getColInverseRemappedIndices () const | 
| const std::vector< size_t > & | getColRemappedIndices () const | 
| col_t & | appendCol (const size_t remapIndex) | 
| void | setColCount (const size_t nCols) | 
| size_t | getColCount () const | 
| void | clearColEntries () | 
| void | clearAll () | 
| void | saveToTextFileAsDense (const std::string &filename, const bool force_symmetry=false, const bool is_col_compressed=true) const | 
| void | getAsDense (mrpt::math::CMatrixDouble &D, const bool force_symmetry=false, const bool is_col_compressed=true) const | 
| size_t | findCurrentNumberOfRows () const | 
| void | getBinaryBlocksRepresentation (MATRIX &out) const | 
| void | copyNumericalValuesFrom (const MatrixBlockSparseCols< Scalar, NROWS, NCOLS, INFO, HAS_REMAP > &o) | 
Static Public Member Functions | |
| static size_t | findRowSpan (const std::vector< typename base_t::col_t * > &lstColumns, size_t *row_min_idx=NULL, size_t *row_max_idx=NULL) | 
| static void | getSparsityStats (const std::vector< typename base_t::col_t * > &lstColumns, size_t &nMaxBlocks, size_t &nNonZeroBlocks) | 
| size_t srba::SparseBlockMatrix< Scalar, NROWS, NCOLS, INFO, HAS_REMAP, INDEX_REMAP_MAP_IMPL >::findRowSpan | ( | size_t * | row_min_idx = NULL,  | 
        
| size_t * | row_max_idx = NULL  | 
        ||
| ) |  const [inline] | 
        
Goes over all the columns and keep the largest span MAX_ROW_INDEX - MIN_ROW_INDEX, the column length
Definition at line 324 of file srba_types.h.
| static size_t srba::SparseBlockMatrix< Scalar, NROWS, NCOLS, INFO, HAS_REMAP, INDEX_REMAP_MAP_IMPL >::findRowSpan | ( | const std::vector< typename base_t::col_t * > & | lstColumns, | 
| size_t * | row_min_idx = NULL,  | 
        ||
| size_t * | row_max_idx = NULL  | 
        ||
| ) |  [inline, static] | 
        
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 342 of file srba_types.h.
| void srba::SparseBlockMatrix< Scalar, NROWS, NCOLS, INFO, HAS_REMAP, INDEX_REMAP_MAP_IMPL >::getSparsityStats | ( | size_t & | nMaxBlocks, | 
| size_t & | nNonZeroBlocks | ||
| ) |  const [inline] | 
        
Returns the number of (symbolically) non-zero blocks, etc.
| [out] | nMaxBlocks | The maximum number of block matrices fitting in this sparse matrix if it was totally dense | 
| [out] | nNonZeroBlocks | The number of non-zero blocks | 
Definition at line 362 of file srba_types.h.
| static void srba::SparseBlockMatrix< Scalar, NROWS, NCOLS, INFO, HAS_REMAP, INDEX_REMAP_MAP_IMPL >::getSparsityStats | ( | const std::vector< typename base_t::col_t * > & | lstColumns, | 
| size_t & | nMaxBlocks, | ||
| size_t & | nNonZeroBlocks | ||
| ) |  [inline, static] | 
        
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 372 of file srba_types.h.
 1.7.6.1