HLIBpro  3.0
TRandSVDLRApx< T_value > Class Template Reference

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

#include <TLowRankApx.hh>

Inheritance diagram for TRandSVDLRApx< 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::TRandSVDLRApx< T_value >

     TRandSVDLRApx uses randomized singular value decomposition to approximate 
     a given matrix block. For the approximation, the complete matrix block has
     to be evaluated, hence complexity is O(n²).

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 >.