A Hierarchical Singular Value Decomposition Algorithm for Low Rank Matrices
This work provides a faster SVD approximation for practitioners in fluid mechanics and image processing who work with dense low-rank matrices.
The paper proposes a tree-based merge-and-truncate algorithm for approximate truncated SVD of dense low-rank matrices of arbitrary size, achieving significant speedup over standard truncated SVD with less than 3% error.
Singular value decomposition (SVD) is a widely used technique for dimensionality reduction and computation of basis vectors. In many applications, especially in fluid mechanics and image processing the matrices are dense, but low-rank matrices. In these cases, a truncated SVD corresponding to the most significant singular values is sufficient. In this paper, we propose a tree based merge-and-truncate algorithm to obtain an approximate truncated SVD of the matrix. Unlike previous methods, our technique is not limited to "tall and skinny" or "short and fat" matrices and it can be used for matrices of arbitrary size. The matrix is partitioned into blocks and the truncated SVDs of blocks are merged to obtain the final SVD. If the matrices are low rank, this algorithm gives significant speedup over finding the truncated SVD, even when run on a single core. The error is typically less than 3\%.