HLIBpro  2.9.1
TSVDLRApx< T > Class Template Reference

Uses exact SVD to compute low rank approximation (WARNING: O(n³) complexity) More...

#include <TLowRankApx.hh>

Inheritance diagram for TSVDLRApx< T >:
TLowRankApx

Public Member Functions

virtual TMatrixbuild (const TBlockCluster *bcl, const TTruncAcc &acc) const
 
virtual TMatrixbuild (const TBlockIndexSet &block_is, const TTruncAcc &acc) const
 
- Public Member Functions inherited from TLowRankApx
virtual bool has_statistics () const
 indicate if algorithm provides statistics
 

Detailed Description

template<typename T>
class HLIB::TSVDLRApx< T >

     TSVDLRApx uses singular value decomposition to approximate a given
     matrix block. The resulting low rank matrix is the best approximation
     with respect to the given accuracy and rank. However, the computational
     costs are cubic in the dimension of the matrix block.

Member Function Documentation

◆ build() [1/2]

virtual TMatrix* build ( const TBlockCluster bcl,
const TTruncAcc acc 
) const
virtual

build low rank matrix for block cluster bcl with rank defined by accuracy acc

Reimplemented from TLowRankApx.

◆ build() [2/2]

virtual TMatrix* build ( const TBlockIndexSet block_is,
const TTruncAcc acc 
) const
virtual

build low rank matrix for block index set block_is with rank defined by accuracy acc

Implements TLowRankApx.