# On the fly/matrix free SVD of large sparse matrix

I am trying to apply SVD to large sparse matrices. I already compared the performances of Propack and irlba to those of the matlab svd and svds. These two packages enhance significantly the computing time but I still have to handle the memory issue. Therefore, I am looking for a free matrix SVD algorithm which allows me to compute M largest singulars values on the fly without having to compute the entire matrix at the entry of the SVD. I read about Incremental SVD http://www.math.fsu.edu/~cbaker/IncPACK/ and also saw this topic mentioning using Lanczos with Fast Block matrix-vector multiplication via FFTs instead of the SVD SVD of large block-hankel matrix but since I am not specialist I still can not see an easy way to compute the SVD without bearing the memory cost of computing the entire matrix. Can someone help me to find out?

## 1 Answer

Incremental SVD methods will only help you if you want to calculate a truncated (preferably low-rank) SVD. The memory requirements for these algorithms are more or less the ability to store a single column of your large sparse matrix plus the current truncated SVD. If you attempt to calculate the whole SVD with an incremental method, you won't save that much memory; however, if you only calculate the left singular vectors and singular values, you could conceivably save memory if your matrix has many more columns than rows.

• Yes I am actually trying to calculate a truncated low-rank SVD. I need this SVD to implement a PCA so I think that I only need the left singular vectors and singular values, but I am working for the moment with an approximately square matrix. Anyway I can give it a try, could you please tell me how do you think I can use the IncPack package to compute the SVD column by column ? Thanks. – user3066072 Aug 26 '15 at 1:50
• You have to read the documentation of the package for that. – Geoff Oxberry Aug 26 '15 at 1:59
• Why not using the randomized SVD? If M small it is very efficient. – Gil Nov 22 '15 at 7:58
• Sure, that's also an option. – Geoff Oxberry Nov 23 '15 at 0:17