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, 2000, 2002, 2004, 2005, 2006, 00004 2007, 2009 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_HESS_h) 00025 #define octave_HESS_h 1 00026 00027 #include <iosfwd> 00028 00029 #include "dMatrix.h" 00030 00031 class 00032 OCTAVE_API 00033 HESS 00034 { 00035 public: 00036 00037 HESS (void) : hess_mat (), unitary_hess_mat () { } 00038 00039 HESS (const Matrix& a) { init (a); } 00040 00041 HESS (const Matrix& a, octave_idx_type& info) { info = init (a); } 00042 00043 HESS (const HESS& a) 00044 : hess_mat (a.hess_mat), unitary_hess_mat (a.unitary_hess_mat) { } 00045 00046 HESS& operator = (const HESS& a) 00047 { 00048 if (this != &a) 00049 { 00050 hess_mat = a.hess_mat; 00051 unitary_hess_mat = a.unitary_hess_mat; 00052 } 00053 return *this; 00054 } 00055 00056 ~HESS (void) { } 00057 00058 Matrix hess_matrix (void) const { return hess_mat; } 00059 00060 Matrix unitary_hess_matrix (void) const { return unitary_hess_mat; } 00061 00062 friend std::ostream& operator << (std::ostream& os, const HESS& a); 00063 00064 private: 00065 00066 Matrix hess_mat; 00067 Matrix unitary_hess_mat; 00068 00069 octave_idx_type init (const Matrix& a); 00070 }; 00071 00072 #endif 00073 00074 /* 00075 ;;; Local Variables: *** 00076 ;;; mode: C++ *** 00077 ;;; End: *** 00078 */