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: