HLIBpro  2.4
Public Types | Public Member Functions | List of all members
TMatrixHierarchy::TSparseBlockMatrix Class Reference

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
 
TMatrixblock (const TIndexSet &is0, const TIndexSet &is1)
 access individual submatrix addressed by is0 × is1
 
TMatrixblock_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_tblocks () const
 return sparse block matrix
 
block_list_tblock_row (const TIndexSet &is)
 return block row corresponding to indexset is
 
block_list_tblock_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
 

Member Typedef Documentation

list for block rows and columns

mapping of indexsets to block lists

storage type for sparse block matrix