Page 1 of 1

SVD question

PostPosted: Mon Apr 07, 2008 3:31 am
by Benson
Hello,

The minimal singular value of a matrix and its corresponding right singular vector are desired in my application that is implemented by iteration algorithm. However, both dgesvd and dgesdd compute all the singular values and right singular vectors, which is very time consuming. So I am inquiring how to compute only minimal singular value and its right singular vector by using LAPACK.

Thanks for any suggestions,

Benson

PostPosted: Mon Apr 07, 2008 10:50 pm
by Julien Langou
Hello Benson,
LAPACK is not a good tool for this. I let an expert of this problem
know what you need maybe he can help you out.
Julien.

PostPosted: Tue Apr 08, 2008 4:26 am
by sven
Dear Benson,

You could try PROPACK, see:

sun.stanford.edu/~rmunk/PROPACK/index.html

which is intended for the SVD of large sparse or structured matrices, or ARPACK which is primarily for large scale eigenvalues problems, but has a driver for the SVD as well as some advice in Section A5 of the ARPACK Users' Guide. See:

www.caam.rice.edu/software/ARPACK/

I have not personally used PROPACK, or ARPACK for computing the SVD, so it would be interesting to hear back as to whether or not you were able to use either package for your problem. Both packages have good reputations.

Good luck,

Sven Hammarling.

PostPosted: Tue Apr 08, 2008 11:33 am
by Benson
Thank Sven and Julien for your reply.

PostPosted: Tue Apr 08, 2008 11:48 am
by Julien Langou
If you are ready to do some development or simply playing with Matlab, here are two
Matlab codes that might be competitive:
[1] Michiel E. Hochstenbach
A Jacobi-Davidson type SVD method.
SIAM J. Sci. Comput., 23(2):606-628, 2001.
[2] Baker, Christopher
A Block Incremental Algorithm for Computing Dominant Singular Subspaces
Master of Science, Department of Computer Science, Florida State University, 2004.
http://etd.lib.fsu.edu/theses/available ... 04-112451/

(send an email to the author directly to get some Matlab codes)
Julien.

PostPosted: Sat Apr 12, 2008 10:18 am
by cgb8176
Benson,

If you are interested in evaluating the Incremental SVD for your problem, I have just released a MATLAB software package for this method. The project webpage is:
http://www.scs.fsu.edu/~cbaker/IncPACK/

For the JD-SVD, you will need to email the author for the code. More information is available at the JD Gateway:
http://www.win.tue.nl/casa/research/topics/jd/index.html

If you have any questions about the Incremental SVD code, feel free to email me.

Best regards,
Chris Baker