octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: improved QR & Cholesky updating


From: John W. Eaton
Subject: Re: improved QR & Cholesky updating
Date: Tue, 20 Jan 2009 16:58:34 -0500

On 20-Jan-2009, Jaroslav Hajek wrote:

| On Sat, Jan 17, 2009 at 9:08 PM, Jaroslav Hajek <address@hidden> wrote:
| > hi,
| >
| > please consider the changeset:
| > http://artax.karlin.mff.cuni.cz/~hajej2am/ulozna/octave/qrupdate.diff
| > improving the qrupdate, qrinsert, qrdelete, qrshift, cholupdate,
| > cholinsert, choldelete, cholshift.
| >
| > Summary of changes:
| > The current version 0 snapshot of qrupdate is deleted from libcruft,
| > instead qrupdate is a weak dependency.
| > If found, the above functions are defined, as well as corresponding
| > methods of QR & CHOL classes in liboctave.
| > All the updating routines now use more efficient column traversal of
| > matrices. qrupdate, qrinsert & qrdelete support batch
| > updating/insertion/deletion of columns (avoids repeated copying of the
| > matrices).
| > Maybe most importantly, rank-1 update & column insertion now support
| > economized factorization.
| >
| > This (together with the earlier work) makes Octave significantly more
| > capable w.r.t. factorization updating than M*b.
| > Applications are optimization routines (fsolve, lsqnonneg).
| >
| > cheers
| >
| 
| Changeset applied.

Thanks for doing this work.

I updated and now I see 44 new test failures.  There are 16 in
chol.cc, 24 in qr.cc, and 4 in fsolve.  The failing tests in chol and
qr should be modified to use "testif HAVE_QRUPDATE" (or similar) but
I'm not sure what to do about fsolve.  I think it is bad to have
fsolve not work if the qrupdate library is missing.  Is there a way to
provide this functionality without the Fortran library (perhaps in a
sub-optimal way)?  Either that, or maybe we should require the
qrupdate library, in which case it should probably be distributed with
the Otave sources.

jwe


reply via email to

[Prev in Thread] Current Thread [Next in Thread]