comparison liboctave/floatQR.h @ 8547:d66c9b6e506a

imported patch qrupdate.diff
author Jaroslav Hajek <highegg@gmail.com>
date Tue, 20 Jan 2009 21:16:42 +0100
parents 39c1026191e9
children a6edd5c23cb5
comparison
equal deleted inserted replaced
8546:3d8a914c580e 8547:d66c9b6e506a
1 /* 1 /*
2 2
3 Copyright (C) 1994, 1995, 1996, 1997, 2000, 2002, 2004, 2005, 2006, 3 Copyright (C) 1994, 1995, 1996, 1997, 2000, 2002, 2004, 2005, 2006,
4 2007 John W. Eaton 4 2007 John W. Eaton
5 Copyright (C) 2008, 2009 Jaroslav Hajek
5 6
6 This file is part of Octave. 7 This file is part of Octave.
7 8
8 Octave is free software; you can redistribute it and/or modify it 9 Octave is free software; you can redistribute it and/or modify it
9 under the terms of the GNU General Public License as published by the 10 under the terms of the GNU General Public License as published by the
18 You should have received a copy of the GNU General Public License 19 You should have received a copy of the GNU General Public License
19 along with Octave; see the file COPYING. If not, see 20 along with Octave; see the file COPYING. If not, see
20 <http://www.gnu.org/licenses/>. 21 <http://www.gnu.org/licenses/>.
21 22
22 */ 23 */
23
24 // updating/downdating by Jaroslav Hajek 2008
25 24
26 #if !defined (octave_FloatQR_h) 25 #if !defined (octave_FloatQR_h)
27 #define octave_FloatQR_h 1 26 #define octave_FloatQR_h 1
28 27
29 #include <iostream> 28 #include <iostream>
63 62
64 FloatMatrix Q (void) const { return q; } 63 FloatMatrix Q (void) const { return q; }
65 64
66 FloatMatrix R (void) const { return r; } 65 FloatMatrix R (void) const { return r; }
67 66
67 #ifdef HAVE_QRUPDATE
68
69 void update (const FloatColumnVector& u, const FloatColumnVector& v);
70
68 void update (const FloatMatrix& u, const FloatMatrix& v); 71 void update (const FloatMatrix& u, const FloatMatrix& v);
69 72
70 void insert_col (const FloatMatrix& u, octave_idx_type j); 73 void insert_col (const FloatColumnVector& u, octave_idx_type j);
74
75 void insert_col (const FloatMatrix& u, const Array<octave_idx_type>& j);
71 76
72 void delete_col (octave_idx_type j); 77 void delete_col (octave_idx_type j);
73 78
74 void insert_row (const FloatMatrix& u, octave_idx_type j); 79 void delete_col (const Array<octave_idx_type>& j);
80
81 void insert_row (const FloatRowVector& u, octave_idx_type j);
75 82
76 void delete_row (octave_idx_type j); 83 void delete_row (octave_idx_type j);
77 84
78 void shift_cols (octave_idx_type i, octave_idx_type j); 85 void shift_cols (octave_idx_type i, octave_idx_type j);
79 86
80 void economize (void); 87 #endif
81 88
82 friend std::ostream& operator << (std::ostream&, const FloatQR&); 89 friend std::ostream& operator << (std::ostream&, const FloatQR&);
83 90
84 protected: 91 protected:
85 92