HLIBpro  3.0
TSVDLRApx< T_value > Class Template Reference

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

#include <TLowRankApx.hh>

Inheritance diagram for TSVDLRApx< T_value >:
TLowRankApx< T_value >

Public Member Functions

virtual std::unique_ptr< TMatrix< value_t > > build (const TBlockCluster *bcl, const TTruncAcc &acc) const
 
virtual std::unique_ptr< TMatrix< value_t > > build (const TBlockIndexSet &block_is, const TTruncAcc &acc) const
 
- Public Member Functions inherited from TLowRankApx< T_value >
virtual bool has_statistics () const
 indicate if algorithm provides statistics
 

Detailed Description

template<typename T_value>
class Hpro::TSVDLRApx< T_value >

     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 std::unique_ptr< TMatrix< value_t > > 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< T_value >.

◆ build() [2/2]

virtual std::unique_ptr< TMatrix< value_t > > 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< T_value >.