PRIMME_SVDS: A High-Performance Preconditioned SVD Solver for Accurate Large-Scale Computations
This work provides a production-level, preconditioned SVD solver for large-scale computations, addressing a gap in existing software for computing partial SVD with preconditioning.
The paper presents PRIMME_SVDS, a high-performance preconditioned SVD solver that efficiently computes extreme singular triplets for large-scale problems, demonstrating superior performance and good parallel scaling compared to state-of-the-art software.
The increasing number of applications requiring the solution of large scale singular value problems have rekindled interest in iterative methods for the SVD. Some promising recent ad- vances in large scale iterative methods are still plagued by slow convergence and accuracy limitations for computing smallest singular triplets. Furthermore, their current implementations in MATLAB cannot address the required large problems. Recently, we presented a preconditioned, two-stage method to effectively and accurately compute a small number of extreme singular triplets. In this research, we present a high-performance software, PRIMME SVDS, that implements our hybrid method based on the state-of-the-art eigensolver package PRIMME for both largest and smallest singular values. PRIMME SVDS fills a gap in production level software for computing the partial SVD, especially with preconditioning. The numerical experiments demonstrate its superior performance compared to other state-of-the-art software and its good parallel performance under strong and weak scaling.