HLIBpro  3.0
TACAPlus< T_value > Class Template Reference

Implements ACA+, which corrects some of the deficits of the original ACA algorithm. More...

#include <TLowRankApx.hh>

Inheritance diagram for TACAPlus< T_value >:
TACA< T_value > TLowRankApx< T_value >

Additional Inherited Members

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

Detailed Description

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

     The crucial point in the ACA algorithm is the search for suitable crosses (pairs of
     rows and columns) to be subtracted from the matrix. To keep costs linear in the
     dimension of the block, only some matrix entries may be checked, which may lead
     to a breakdown of the algorithm before the user defined accuracy was reached.

     ACA+ implements a more sophisticated pivot search, which eliminates some of the
     cases where the original ACA fails to compute adequate low-rank approximations.
     Nevertheless, the computational costs are only slightly higher than ACA.