Limited Memory Block Krylov Subspace Optimization
LMSVD is a MATLAB solver for computing dominant singular value decompositions of large matrices. The approach is based on a block Krylov subspace optimization technique which significantly accelerates the classic simultaneous iteration method.
Consider a real matrix ( without loss of generality) and a given positive integer . The task is to find two orthogonal matrices and , and a diagonal matrix whose diagonal entries are the largest singular values of , say, , such that
The approximation is called the -th dominant singular value decomposition of .
Xin Liu, Zaiwen Wen and Yin Zhang, Limited Memory Block Krylov Subspace Optimization for Computing Dominant Singular Value Decompositions, SIAM Journal on Scientific Computing, 35-3 (2013), A1641-A1668.
In the case that LMSVD is helpful in your published work, please make a reference to the above paper.
LMSVD is distributed under the terms of the GNU General Public License.
>> addpath <lmsvd-root>
A Typical Demo Result
(The figure in the left-hand side is the distribution of relevant singular values of a random test matrix in our demo, and the right-hand side is the runtime comparison between Matlab 'svds’ and 'lmsvd’ in calculating 20 to 100 dominant singular values of the test matrix.)
The performance of LMSVD may vary with the implementation efficiency of matrix-matrix multiplications AX.
Detailed explanations are given in Section 5.2 of our paper “An Efficient Gauss-Newton Algorithm for Symmetric Low-Rank Product Matrix Approximations ”