Algorithm xxx: Faster Randomized SVD with Dynamic Shifts
Xu Feng, Wenjian Yu, Yuyang Xie, Jie Tang
TL;DR
This work tackles the challenge of efficiently computing a few leading singular values and vectors of large sparse matrices. It introduces dashSVD, a randomized SVD method that uses dynamically updated shifted power iterations to accelerate convergence while preserving accuracy, coupled with a per-vector error (PVE) based accuracy-control mechanism. The authors prove an error bound for the shifted power iteration and empirically show that dashSVD speeds up computations substantially over state-of-the-art solvers (e.g., LanczosBD and PRIMME_SVDS) for moderate accuracy, with comparable memory usage and strong robustness to matrices with slowly decaying singular values. The approach offers practical gains in runtime and parallel efficiency for real-world sparse data, with potential extensions to distributed-memory environments.
Abstract
Aiming to provide a faster and convenient truncated SVD algorithm for large sparse matrices from real applications (i.e. for computing a few of largest singular values and the corresponding singular vectors), a dynamically shifted power iteration technique is applied to improve the accuracy of the randomized SVD method. This results in a dynamic shifts based randomized SVD (dashSVD) algorithm, which also collaborates with the skills for handling sparse matrices. An accuracy-control mechanism is included in the dashSVD algorithm to approximately monitor the per vector error bound of computed singular vectors with negligible overhead. Experiments on real-world data validate that the dashSVD algorithm largely improves the accuracy of randomized SVD algorithm or attains same accuracy with fewer passes over the matrix, and provides an efficient accuracy-control mechanism to the randomized SVD computation, while demonstrating the advantages on runtime and parallel efficiency. A bound of the approximation error of the randomized SVD with the shifted power iteration is also proved.
