Mercurial > hg > octave-nkf
diff liboctave/dbleQR.h @ 7553:56be6f31dd4e
implementation of QR factorization updating
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Tue, 04 Mar 2008 21:47:11 -0500 |
parents | a1dbe9d80eee |
children | efccca5f2ad7 |
line wrap: on
line diff
--- a/liboctave/dbleQR.h +++ b/liboctave/dbleQR.h @@ -21,12 +21,16 @@ */ +// updating/downdating by Jaroslav Hajek 2008 + #if !defined (octave_QR_h) #define octave_QR_h 1 #include <iostream> #include "dMatrix.h" +#include "dColVector.h" +#include "dRowVector.h" class OCTAVE_API @@ -45,6 +49,8 @@ QR (const Matrix&, QR::type = QR::std); + QR (const Matrix& q, const Matrix& r); + QR (const QR& a) : q (a.q), r (a.r) { } QR& operator = (const QR& a) @@ -65,6 +71,18 @@ Matrix R (void) const { return r; } + void update (const Matrix& u, const Matrix& v); + + void insert_col (const Matrix& u, octave_idx_type j); + + void delete_col (octave_idx_type j); + + void insert_row (const Matrix& u, octave_idx_type j); + + void delete_row (octave_idx_type j); + + void economize (void); + friend std::ostream& operator << (std::ostream&, const QR&); protected: