Hello all,

A while back I was interested in being able to do pivoting qr decomposition.
I noticed that Chris Nix submitted a patch, but he indicated that he had
more work to do (testing and filling in functionality). In the discussion
around this, Luc suggested that I look at the QR decomposition in
Levenberg-Marquardt. I did just that a few days ago. The code was very clear
and nicely written (kudos to Luc). So, I copied the routine and made a new
PivotingQRDecomposition class. The class is intended as a "drop in
replacement" for QRDecomposition. I also copied the QRSolverTest and
QRDecompositionTest. With the exception of testUnderdetermined in the solver
test and testAEqualQR in QRDecompositionTest, the tests are unchanged (and
all pass!). With testUndertermined, the "zeroed" rows of the solution matrix
are interspersed throughout the matrix (because of pivoting). So I change
the test to count all the rows that have zero norms, and check that it is
the correct number. In testAEqualQR, I added a multiplication by the
permutation matrix.

What is the best way to proceed? I don't want to trounce the additions that
Chris made, but it looks like Chris has more sophisticated classes in mind.
I don't see this proposed change competing with his. Does it make sense to
bring back QRDecomposition interface (sorry Sebastien)? We can then keep
both implementations until we are satisfied the pivoting one works.

Thoughts?

-Greg

Reply via email to