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.
Despite accuracy limitations, eigenvalue iterative methods based on @math are widely used for computing the largest eigenpairs where the loss of accuracy is limited (see )) and even for low accuracy computations of the smallest singular values. For example, two popular packages in machine learning, scikit-learn http: scikit-learn.org stable modules generated sklearn.decomposition.TruncatedSVD.html and Spark's library MLib https: spark.apache.org docs 1.2.1 mllib-dimensionality-reduction.html , use a wrapper for the popular package ARPACK (implicit restarting Arnoldi method) @cite_13 . Other solvers for standard Hermitian eigenvalue problems can also be used. Table lists the most widely used eigensolver libraries with high-performance computing implementations.
@cite_13
1747539222
The computation of a few singular triplets of large, sparse matrices is a challenging task, especially when the smallest magnitude singular values are needed in high accuracy. Most recent efforts try to address this problem through variations of the Lanczos bidiagonalization method, but they are still challenged even for medium matrix sizes due to the difficulty of the problem. We propose a novel SVD approach that can take advantage of preconditioning and of any well-designed eigensolver to compute both largest and smallest singular triplets. Accuracy and efficiency is achieved through a hybrid, two-stage meta-method, PHSVDS. In the first stage, PHSVDS solves the normal equations up to the best achievable accuracy. If further accuracy is required, the method switches automatically to an eigenvalue problem with the augmented matrix. Thus it combines the advantages of the two stages, faster convergence and accuracy, respectively. For the augmented matrix, solving the interior eigenvalue is facilitated by pr...