Octave-Forge - Extra packages for GNU Octave | |
Home · Packages · Developers · Documentation · FAQ · Bugs · Mailing Lists · Links · Code |
00001 /* 00002 00003 Copyright (C) 1994, 1995, 1996, 1997, 2002, 2004, 2005, 2006, 2007, 2008 00004 John W. Eaton 00005 00006 This file is part of Octave. 00007 00008 Octave is free software; you can redistribute it and/or modify it 00009 under the terms of the GNU General Public License as published by the 00010 Free Software Foundation; either version 3 of the License, or (at your 00011 option) any later version. 00012 00013 Octave is distributed in the hope that it will be useful, but WITHOUT 00014 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00015 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 00016 for more details. 00017 00018 You should have received a copy of the GNU General Public License 00019 along with Octave; see the file COPYING. If not, see 00020 <http://www.gnu.org/licenses/>. 00021 00022 */ 00023 00024 #if !defined (octave_LU_h) 00025 #define octave_LU_h 1 00026 00027 #include "base-lu.h" 00028 #include "dMatrix.h" 00029 00030 class 00031 OCTAVE_API 00032 LU : public base_lu <Matrix> 00033 { 00034 public: 00035 00036 LU (void) : base_lu <Matrix> () { } 00037 00038 LU (const Matrix& a); 00039 00040 LU (const LU& a) : base_lu <Matrix> (a) { } 00041 00042 LU (const Matrix& l, const Matrix& u, const PermMatrix& p) 00043 : base_lu <Matrix> (l, u, p) { } 00044 00045 LU& operator = (const LU& a) 00046 { 00047 if (this != &a) 00048 base_lu <Matrix> :: operator = (a); 00049 00050 return *this; 00051 } 00052 00053 ~LU (void) { } 00054 00055 void update (const ColumnVector& u, const ColumnVector& v); 00056 00057 void update (const Matrix& u, const Matrix& v); 00058 00059 void update_piv (const ColumnVector& u, const ColumnVector& v); 00060 00061 void update_piv (const Matrix& u, const Matrix& v); 00062 }; 00063 00064 #endif 00065 00066 /* 00067 ;;; Local Variables: *** 00068 ;;; mode: C++ *** 00069 ;;; End: *** 00070 */