HLIBpro  3.0
TH2MatBuilder< T_value > Class Template Referenceabstract

Base class for H² matrix builders providing leaf bulding function with corresponding cluster bases.

#include <TMatBuilder.hh>

Inheritance diagram for TH2MatBuilder< T_value >:
TMatBuilder< T_value >

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< value_t > > 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< value_t > > build_blocked (const TBlockCluster *bc) const
 build blocked matrix
 
virtual std::unique_ptr< TMatrix< value_t > > build_ghost (const TBlockCluster *bc) const
 build placeholder matrix for remote blocks
 
- Public Member Functions inherited from TMatBuilder< T_value >
 TMatBuilder (const bool coarsening=CFG::Build::coarsen)
 
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)
 
void set_bc_builder (const TBCBuilder *bc_builder)
 set block cluster tree builder object (default: nullptr)
 
virtual std::unique_ptr< TMatrix< T_value > > 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< T_value > > build (const TBlockCluster *bc, const TTruncAcc &acc, TProgressBar *progress=nullptr) const
 
virtual std::unique_ptr< TMatrix< T_value > > build (const TBlockClusterTree *cluster, const matform_t matformat, const TTruncAcc &acc, TProgressBar *progress=nullptr) const
 same as More...
 
virtual std::unique_ptr< TMatrix< T_value > > 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< value_t > > 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< T_value >
virtual std::unique_ptr< TMatrix< T_value > > thr_build (const TBlockCluster *bc, const matform_t matformat, const TTruncAcc &acc, TProgressBar *progress) const
 threaded building process