HLIBpro
2.6
|
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 |
virtual bool | has_statistics () const |
indicate if algorithm provides statistics | |
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.