For example the C++ sparse matrix libraries I used -- Eigen and SuiteSparse, they seem not to have any SVD funcitionality for sparse matrix. So just curious, is SVD more difficult than QR/LU for sparse matrix?
Asked
Active
Viewed 1,176 times
1 Answers
13
The LU factors of a sparse matrix are at least somewhat sparse. The $Q$ matrix in QR can also somewhat preserve sparsity, and is typically used when the matrix is very long and skinny. The SVD of a sparse matrix will almost always have fully dense $U$ and $V$ factors, so it destroys any reason to perform the computations treating the matrix sparsely.
Victor Liu
- 4,480
- 18
- 28
-
6More importantly in the typical case of the QR factorization you only need to apply $Q^{T}$ to a right hand side vector $b$. This can be done during the QR factorization process without storing the $Q$ matrix or all of the Householder reflections used in the factorization. There's no similar trick for the SVD. – Brian Borchers Oct 04 '13 at 19:28