HLIBpro
2.4
|
Represents a n×m block matrix with only a small number of non-null sub matrices stored in an efficient way.
#include <TMatrixHierarchy.hh>
Public Types | |
using | block_list_t = std::list< TMatrix * > |
using | mat_storage_t = std::list< block_list_t * > |
using | list_map_t = std::map< TIndexSet, block_list_t *, TIndexSet::map_cmp_t > |
Public Member Functions | |
TSparseBlockMatrix () | |
construct block matrix without any submatrices | |
~TSparseBlockMatrix () | |
destruct sparse block matrix | |
TMatrix * | block (const TIndexSet &is0, const TIndexSet &is1) |
access individual submatrix addressed by is0 × is1 | |
TMatrix * | block_containing (const TIndexSet &is0, const TIndexSet &is1) |
return submatrix t×s with is0 × is1 ⊆ t×s | |
void | insert_block (TMatrix *A) |
insert matrix A into sparse block matrix | |
const mat_storage_t * | blocks () const |
return sparse block matrix | |
block_list_t * | block_row (const TIndexSet &is) |
return block row corresponding to indexset is | |
block_list_t * | block_col (const TIndexSet &is) |
return block column corresponding to indexset is | |
size_t | byte_size () const |
return size in bytes used by this object | |
void | print (const uint ofs=0) const |
print content of block matrix | |
list for block rows and columns
mapping of indexsets to block lists
storage type for sparse block matrix