HLIBpro  2.6
TACAPlus< T > 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 >:
TACA< T > TLowRankApx

Additional Inherited Members

- Public Member Functions inherited from TACA< T >
virtual TMatrixbuild (const TBlockCluster *cl, const TTruncAcc &acc) const
 
virtual TMatrixbuild (const TBlockIndexSet &block_is, const TTruncAcc &acc) const
 
virtual bool has_statistics () const
 indicate if algorithm provides statistics
 

Detailed Description

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

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.