Details
-
New Feature
-
Status: Closed
-
Minor
-
Resolution: Won't Fix
-
2.1, 2.2
-
None
-
None
-
None
Description
Current the SingularValueDecomposition implementation computes the full SVD. However, for some applications, e.g. LSA, vision applications, only the most significant singular values are needed. For these applications, the full decomposition is impractical, and for large matrices, computationally infeasible. The sparse SVD avoids computing the unnecessary data, and more importantly, has significantly lower computational complexity, which allows it to scale to larger matrices.
Other linear algebra implementation have support for the sparse svd. Both Matlab and Octave have the svds function. C has SVDLIBC. SVDPACK is also available in Fortran and C. However, after extensive searching, I do not believe there is any existing Java-based sparse SVD implementation. This added functionality would be widely used for any pure Java application that requires a sparse SVD, as the only current solution is to call out to a library in another language.