Sparse solver for non-square regressor matrix.

2 views (last 30 days)
When using the backslash operator to solve the least squares problem for x, where A is highly sparse and non-square, MATLAB seems to apply a fast procedure that scales quite well with the size of A, as opposed to what one would expect from a standard QR-solver for full matrices.
However, the documentation is not quite clear with regard to what the specific procedure is when the regressor is sparse but not square, and I'd like to have a notion of its computational complexity.
I would like to know if someone could provide the article/book on which the procedure applied by MATLAB's backslash is based when the regressor A is sparse and not square.
Regards.
  2 Comments
David Goodmanson
David Goodmanson on 6 Mar 2020
Edited: David Goodmanson on 6 Mar 2020
Hi Paulo,
see 'doc mldivide' which is really a more obscure reference than it should be. The flowchart there says nonsquare sparse uses QR, although they do not say anything more. A lot of their core algorithms they play pretty close to the vest.
Paulo Cerqueira
Paulo Cerqueira on 6 Mar 2020
Thank you for your reponse =)
I had been through that page, and unfortunately I would have liked a more specific description of the algorithm or its at least of its computational complexity. They provide clear references for the procedures for square regressor matrices, but not for non-square ones.

Sign in to comment.

Accepted Answer

Paulo Cerqueira
Paulo Cerqueira on 13 Mar 2020
Edited: Paulo Cerqueira on 13 Mar 2020
If anyone's interested, "SuiteSparseQR: Multifrontal Multithreaded Rank-Revealing Sparse QR Factorization" by Timothy Davis details the sparse QR implementation implemented in MATLAB R2009a.
Unsure if this is the current one.

More Answers (0)

Categories

Find more on Sparse Matrices in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!