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?


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.

| cite | improve this answer | |
  • 5
    $\begingroup$ More 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. $\endgroup$ – Brian Borchers Oct 4 '13 at 19:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.