# Comparison of LR-Approximation and H-arithmetic¶

In this program, different H-arithmetic and low-rank approximation techniques are compared for a given application, clustering and H-function.

Currently, H-matrix multiplication (approx-mm) and H-LU factorization (approx-lu) are implemented.

## H-arithmetic¶

HLR implements the following H-arithmetic versions:

eager

after computation of an update this is immediately applied to the destination blocks, with a subsequent low-rank truncation in case of low-rank blocks.

accu.

accumulate all update per level in a low-rank matrix from root to leaves, thereby shifting down accumulated updates to sub-blocks. Apply all accumulated updates to leaf block in last step.

lazy

for each leaf block collect all updates as a list of corresponding products (or matrices) and apply the sum of all updates simultaneously in final step.

## Low-Rank Approximation¶

The following low-rank approximation techniques are available in HLR and used in the comparison:

• SVD: Singular Value Decomposition

• RRQR: Rank Revealing QR

• RandLR/SVD: Randomized LR and Randomized SVD

• Lanczos: Lánczos Bidiagonalization