HLIBpro  1.2
Classes | Public Member Functions | Protected Attributes | List of all members
TDenseMBuilder< T > Class Template Reference

Creates matrices by computing low rank approximations of dense sub matrices, e.g. via ACA or SVD.

#include <TMatBuilder.hh>

Inheritance diagram for TDenseMBuilder< T >:
TMatBuilder

Classes

struct  stat_t
 statistical data of computations More...

Public Member Functions

 TDenseMBuilder (const coeff_fn_t *coeff_fn, const TLowRankApx *lr_apx, const bool recompress=CFG::Arith::recompress, const bool cvt_to_dense=CFG::Arith::convert_to_dense, stat_t *stat=NULL)
void set_recompression (const bool b)
 (de-) activate recompression of low-rank blocks
void set_stat (stat_t *stat)
 assign statistics object
virtual TMatrixbuild_leaf (const TBlockCluster *bc, const matform_t matformat, const TTruncAcc &acc) const
 construct matrices for leaves in the block cluster tree
virtual TMatrixbuild_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
void set_coarsening (const TTruncAcc &acc)
 activate coarsening with accuracy acc
virtual TMatrixbuild (const uint nthreads, const TBlockClusterTree *bct, const TTruncAcc &acc, TProgressBar *progress=NULL) const
 build the H-matrix with block-wise accuracy defined by acc
virtual TMatrixbuild (const uint nthreads, const TBlockCluster *bc, const TTruncAcc &acc, TProgressBar *progress=NULL) const
virtual TMatrixbuild (const uint nthreads, const TBlockClusterTree *cluster, const matform_t matformat, const TTruncAcc &acc, TProgressBar *progress=NULL) const
 same as
virtual TMatrixbuild (const uint nthreads, const TBlockCluster *cluster, const matform_t matformat, const TTruncAcc &acc, TProgressBar *progress=NULL) const
 same as

Protected Attributes

const coeff_fn_t_coeff_fn
 function for computing matrix entries
const TLowRankApx_lr_apx
 low-rank approximation algorithm
bool _recompress
 if true, use recompression for low-rank blocks
const bool _cvt_to_dense
 if true, convert low-rank to dense if rank too high
stat_t_stat
 statistics object
- Protected Attributes inherited from TMatBuilder
bool _coarsening
 if true, coarsening is applied during construction
bool _use_construct_acc
TTruncAcc _coarse_acc
 defines coarsening accuracy

Additional Inherited Members

- Protected Member Functions inherited from TMatBuilder
virtual TMatrixthr_build (const uint nthreads, const TBlockCluster *bc, const matform_t matformat, const TTruncAcc &acc, TProgressBar *progress) const
 threaded building process
virtual TBlockMatrixbuild_blocked (const TBlockCluster *bc) const
 build blocked matrix
virtual matform_t matrix_format () const =0
 return matrix format

Constructor & Destructor Documentation

TDenseMBuilder ( const coeff_fn_t coeff_fn,
const TLowRankApx lr_apx,
const bool  recompress = CFG::Arith::recompress,
const bool  cvt_to_dense = CFG::Arith::convert_to_dense,
stat_t stat = NULL 
)

Construct matrix construction object with given coefficient function and low-rank approximation object.