HLIBpro
2.2

Implements ACA+, which corrects some of the deficits of the original ACA algorithm. More...
#include <TLowRankApx.hh>
Additional Inherited Members  
Public Member Functions inherited from TACA< T >  
virtual TMatrix *  build (const TBlockCluster *cl, const TTruncAcc &acc) const 
virtual TMatrix *  build (const TBlockIndexSet &block_is, const TTruncAcc &acc) const 
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 lowrank approximations. Nevertheless, the computational costs are only slightly higher than ACA.