I want to benchmark the best 2 or 3 libraries to compute a truncated singular value decomposition (SVD), i.e. an SVD where only the k largest singular values are kept. Moreover, I have those constraints :
- It has to be a java library
- My matrices are sparse (around 1% non zero values)
- My matrices are quite big (typically 10k x 5k)
- My matrices can also be larger than high (5k x 10k)
I've encountered quite a large range of libraries, but for instance, with Colt, I don't even know if the SVD algorithm takes into account the fact that my matrix is sparse. Also, I did not find a single library that can directly compute the truncated solution (which is supposed to be much faster). Actually, I'm mostly interested in the approximate matrix obtained from the truncated SVD.
Thanks by advance for your help,
Romain Laroche