HLIBpro
2.4
|
Base class for H² matrix builders providing leaf bulding function with corresponding cluster bases.
#include <TMatBuilder.hh>
Public Member Functions | |
TH2MatBuilder (const cl_basis_t *row_cb, const cl_basis_t *col_cb) | |
construct H2 matrix builder with supplied cluster bases | |
virtual std::unique_ptr< TMatrix > | build_leaf (const TBlockCluster *bc, const matform_t matformat, const TTruncAcc &acc) const |
construct matrices for leaves in the block cluster tree | |
virtual std::unique_ptr< TBlockMatrix > | build_blocked (const TBlockCluster *bc) const |
build blocked matrix | |
virtual std::unique_ptr< TMatrix > | build_ghost (const TBlockCluster *bc) const |
build placeholder matrix for remote blocks | |
Public Member Functions inherited from TMatBuilder | |
TMatBuilder (const bool coarsening=CFG::Arith::coarsen_build) | |
void | set_coarsening (const bool b) |
(de-) activate coarsening with standard accuracy (default: off) | |
void | set_coarsening (const TTruncAcc &acc) |
activate coarsening with accuracy acc | |
void | set_build_ghosts (const bool b) |
virtual std::unique_ptr< TMatrix > | build (const TBlockClusterTree *bct, const TTruncAcc &acc, TProgressBar *progress=nullptr) const |
build the H-matrix with block-wise accuracy defined by acc | |
virtual std::unique_ptr< TMatrix > | build (const TBlockCluster *bc, const TTruncAcc &acc, TProgressBar *progress=nullptr) const |
virtual std::unique_ptr< TMatrix > | build (const TBlockClusterTree *cluster, const matform_t matformat, const TTruncAcc &acc, TProgressBar *progress=nullptr) const |
same as More... | |
virtual std::unique_ptr< TMatrix > | build (const TBlockCluster *cluster, const matform_t matformat, const TTruncAcc &acc, TProgressBar *progress=nullptr) const |
same as More... | |
virtual matform_t | matrix_format () const =0 |
return matrix format | |
const stat_t & | statistics () const |
return statistics information | |
Protected Member Functions | |
virtual std::unique_ptr< TMatrix > | build_uniform_leaf (const TBlockCluster *bc, const cl_basis_t *row_cb, const cl_basis_t *col_cb, const matform_t matformat, const TTruncAcc &acc) const =0 |
construct uniform matrices for leaves in the block cluster tree | |
Protected Member Functions inherited from TMatBuilder | |
virtual std::unique_ptr< TMatrix > | thr_build (const TBlockCluster *bc, const matform_t matformat, const TTruncAcc &acc, TProgressBar *progress) const |
threaded building process | |