diff liboctave/CmplxQR.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 40574114c514
line wrap: on
line diff
--- a/liboctave/CmplxQR.h	Tue Mar 04 17:01:05 2008 -0500
+++ b/liboctave/CmplxQR.h	Tue Mar 04 21:47:11 2008 -0500
@@ -27,8 +27,11 @@
 #include <iostream>
 
 #include "CMatrix.h"
+#include "CColVector.h"
+#include "CRowVector.h"
 #include "dbleQR.h"
 
+
 class
 OCTAVE_API
 ComplexQR
@@ -39,6 +42,8 @@
 
   ComplexQR (const ComplexMatrix&, QR::type = QR::std);
 
+  ComplexQR (const ComplexMatrix& q, const ComplexMatrix& r);
+
   ComplexQR (const ComplexQR& a) : q (a.q), r (a.r) { }
 
   ComplexQR& operator = (const ComplexQR& a)
@@ -59,6 +64,18 @@
 
   ComplexMatrix R (void) const { return r; }
 
+  void update (const ComplexMatrix& u, const ComplexMatrix& v);
+
+  void insert_col (const ComplexMatrix& u, octave_idx_type j);
+
+  void delete_col (octave_idx_type j);
+
+  void insert_row (const ComplexMatrix& u, octave_idx_type j);
+
+  void delete_row (octave_idx_type j);
+
+  void economize();
+
   friend std::ostream&  operator << (std::ostream&, const ComplexQR&);
 
 protected: