|Re: [eigen] Re: LU precision tuning|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
On Mon, 11 May 2009, Benoit Jacob wrote:
I have no experience with QR so I don't realize how much pivoting is
essential or not for QR. So I can't answer right away the following
- what is the domain of application of a no-pivoting QR? Is it
restricted to only invertible matrices or something like that?
(the fact that our unittest passes doesn't say much on precision, as
our tests use a very low precision)
- how would the domain of application be expanded if we added partial
Since nobody replied, I thought perhaps I could say what I know even
though I don't have any practical experience.
One important application of QR is to solve least squares problems. That
is, given an overdetermined system Ax = b, find the vector x which
minimizes the Euclidean norm of the residual Ax - b. As I understand it
(and the situation is probably more complicated), QR without pivoting
works fine if A is full rank, but you need column pivoting if A is
(nearly) rank deficient. Remember that A is rectangular, so full rank is
not the same as invertible.
I remember there was a recent post about the least squares module, but I
can't find it anymore. However, the SVN log shows that linearRegression()
used to solve the least squares problem via normal equation A*Ax = A*b.
That's another approach, which is faster than QR but less stable. It now
calls fitHyperplane(), which actually solves another problem: total least
squares instead of (ordinary) least squares. That seems a rather big