File Exchange

image thumbnail


version 1.2 (5.93 KB) by

LMSVD ver. 1.1 is available for computing truncated SVD



View License

LMSVD is a Matlab solver for computing truncated (dominant) singular value decompositions of relatively large matrices. The code uses a subspace optimization technique to achieve significant accelerations to the classic simultaneous subspace iterations method, and is typically much faster than the Matlab's default function "svds".

In the case you use LMSVD in your published work, please make a reference to the following paper.

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.

Comments and Ratings (25)

Hi, does this svd code run for a complex matrix ?

Qili Liu

thanks authors!

Hong Wang

I used this code to calculate singular values of large scale matrix. It is robust. More important, it is even faster than the svd of matlab built-in function.

mengyi zhao

Excellent!Help me a lot!

Liang Zhao

An excellent SVD solver. It is robust and efficient, especially for large scale problem. Really helps me a lot. Thanks to the author. Recommend!

Bin Gao

Very very robust!!!

This script was of great help to me. Thank you very much!!

Bao Haowen


Bao Haowen

Juana Jiang

An excellent file!

keke M

keke M (view profile)

a most excellent Svd solver I've ever used,thanks!

wang xi


wang xi



Xiao (view profile)

Very efficient !

Bo Jiang

I tested some large sparse instances, the solver performs so fast and efficient! Strongly recommend this solver.

Zaiwen Wen

The code can be even faster if the sparse matrix-dense vector products is efficient, for example using intel MKL:


Zhenli (view profile)

I have tested on large sparse matrices, this function is at least twice faster than svds and the result is the same. Fantastic work! I will incorporate it into my program. Thanks!


Zi (view profile)

Zaikun Zhang

An efficient svd solver for large problems. A very good alternative for the matlab svd function if you have large matrices.

Yin Zhang

Zaikun Zhang

An efficient SVD solver for large problems. A very good alternative for the buildin SVD function when the dimension is high.

Tao Cui

friendly, efficient and robust!

Zaiwen Wen

The code can be more efficient using a suitable implementation for sparse matrix-dense vector multiplications, for example, "mkl_dcscmm" in intel MKL:

Yin Zhang

Can be orders of magnitude faster than Matlab SVDS on large matrices.


XIN LIU (view profile)

This code is really robust. Very good. Strongly recommend.



Modify description.


Add a typical demo.

MATLAB Release
MATLAB 8.0 (R2012b)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video