00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #if !defined (octave_HESS_h)
00024 #define octave_HESS_h 1
00025
00026 #if defined (__GNUG__) && defined (USE_PRAGMA_INTERFACE_IMPLEMENTATION)
00027 #pragma interface
00028 #endif
00029
00030 #include <iostream>
00031
00032 #include "dMatrix.h"
00033
00034 class
00035 HESS
00036 {
00037 public:
00038
00039 HESS (void) : hess_mat (), unitary_hess_mat () { }
00040
00041 HESS (const Matrix& a) { init (a); }
00042
00043 HESS (const Matrix& a, int& info) { info = init (a); }
00044
00045 HESS (const HESS& a)
00046 : hess_mat (a.hess_mat), unitary_hess_mat (a.unitary_hess_mat) { }
00047
00048 HESS& operator = (const HESS& a)
00049 {
00050 if (this != &a)
00051 {
00052 hess_mat = a.hess_mat;
00053 unitary_hess_mat = a.unitary_hess_mat;
00054 }
00055 return *this;
00056 }
00057
00058 ~HESS (void) { }
00059
00060 Matrix hess_matrix (void) const { return hess_mat; }
00061
00062 Matrix unitary_hess_matrix (void) const { return unitary_hess_mat; }
00063
00064 friend std::ostream& operator << (std::ostream& os, const HESS& a);
00065
00066 private:
00067
00068 Matrix hess_mat;
00069 Matrix unitary_hess_mat;
00070
00071 int init (const Matrix& a);
00072 };
00073
00074 #endif
00075
00076
00077
00078
00079
00080