What is the best way to compute singular value decomposition (SVD) of a very large positive matrix (65M x 3.4M) where data is extremely sparse?
Less than 0.1% of the matrix is non zero. I need a way that:
- will fit into memory (I know that online methods exists)
- will be computed in a reasonable time: 3,4 days
- will be accurate enough however accuracy is not my main concern and I would like to be able to control how much resources I put into it.
It would be great to have a Haskell, Python, C# etc. library which implements it. I am not using mathlab or R but if necessary I can go with R.