This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Least square solution with a sparse matrix?

Tags: None
(comma "," separated)
Phraides
Registered Member
Posts
7
Karma
0
Hello all,

I am trying to find a way to solve linear systems Ax=b with A sparse (and quite large, up to 1m x 1m) and rectangular (overconstrained system -> i want the least square solution). I had a look at superLU and umfpack and they are both limited to square matrices (actually umfpack can factorize rectangular matrices but not solve rectangular systems).

Does anyone have an idea/know a C/C++ library capable of doing that?

I am thinking that by performing SVD it might be possible but I don't know any library doing SVD on sparse matrices...

Cheers
phr
Registered Member
Posts
7
Karma
1
If you have a very kind matrix, you can always solve the normal equations (A'Ax = A'b) by LU factorization (but this system basically has the squared condition number of A).

A common way is to do a QR factorization of A. Eigen has an implementation of sparse QR, but I think it's designed to do an incomplete factorization as a preconditioner for an iterative solver, and thus might not be very good at completely factorizing A (?)

For very large and very sparse systems, direct factorization is often not feasible. In this case you need to find an iterative solver.
User avatar
ggael
Moderator
Posts
3447
Karma
19
OS
Actually, Eigen does not have any sparse QR yet. A very good GPL implementation is available there:

http://www.cise.ufl.edu/research/sparse/SPQR/


Bookmarks



Who is online

Registered users: Bing [Bot], daret, Google [Bot], sandyvee, Sogou [Bot]