00001
00003 class _zhematrix
00004 {
00005 public:
00007 mutable long N;
00008 mutable std::complex<double>* Array;
00009 mutable std::complex<double>** Darray;
00010
00012 inline _zhematrix();
00013 inline _zhematrix(const _zhematrix&);
00014 inline ~_zhematrix();
00015
00017 inline __zhecomplex operator()(const long&, const long&) const;
00018 inline friend std::ostream& operator<<(std::ostream&, const zhematrix&);
00019 inline void write(const char *) const;
00020
00022 inline void complete() const;
00023 inline void destroy() const;
00024
00026 inline friend _zhematrix t(const _zhematrix&);
00027 inline friend _zgematrix i(const _zhematrix&);
00028
00030 inline friend const _zhematrix& operator+(const _zhematrix&);
00031 inline friend _zhematrix operator-(const _zhematrix&);
00032
00034 inline friend _zhematrix operator+(const zhematrix&, const zhematrix&);
00035 inline friend _zhematrix operator+(const zhematrix&, const _zhematrix&);
00036 inline friend _zhematrix operator+(const _zhematrix&, const zhematrix&);
00037 inline friend _zhematrix operator+(const _zhematrix&, const _zhematrix&);
00038
00039 inline friend _zgematrix operator+(const _zhematrix&, const zgematrix&);
00040 inline friend _zgematrix operator+(const _zhematrix&, const _zgematrix&);
00041 inline friend _zgematrix operator+(const zgematrix&, const _zhematrix&);
00042 inline friend _zgematrix operator+(const _zgematrix&, const _zhematrix&);
00043
00044 inline friend _zgematrix operator+(const _zhematrix&, const zgbmatrix&);
00045 inline friend _zgematrix operator+(const _zhematrix&, const _zgbmatrix&);
00046 inline friend _zgematrix operator+(const zgbmatrix&, const _zhematrix&);
00047 inline friend _zgematrix operator+(const _zgbmatrix&, const _zhematrix&);
00048
00050 inline friend _zhematrix operator-(const zhematrix&, const zhematrix&);
00051 inline friend _zhematrix operator-(const zhematrix&, const _zhematrix&);
00052 inline friend _zhematrix operator-(const _zhematrix&, const zhematrix&);
00053 inline friend _zhematrix operator-(const _zhematrix&, const _zhematrix&);
00054
00055 inline friend _zgematrix operator-(const _zhematrix&, const zgematrix&);
00056 inline friend _zgematrix operator-(const _zhematrix&, const _zgematrix&);
00057 inline friend _zgematrix operator-(const zgematrix&, const _zhematrix&);
00058 inline friend _zgematrix operator-(const _zgematrix&, const _zhematrix&);
00059
00060 inline friend _zgematrix operator-(const _zhematrix&, const zgbmatrix&);
00061 inline friend _zgematrix operator-(const _zhematrix&, const _zgbmatrix&);
00062 inline friend _zgematrix operator-(const zgbmatrix&, const _zhematrix&);
00063 inline friend _zgematrix operator-(const _zgbmatrix&, const _zhematrix&);
00064
00066 inline friend _zgematrix operator*(const _zhematrix&, const zgematrix&);
00067 inline friend _zgematrix operator*(const _zhematrix&, const _zgematrix&);
00068 inline friend _zgematrix operator*(const zgematrix&, const _zhematrix&);
00069 inline friend _zgematrix operator*(const _zgematrix&, const _zhematrix&);
00070
00071 inline friend _zgematrix operator*(const _zhematrix&, const zgbmatrix&);
00072 inline friend _zgematrix operator*(const _zhematrix&, const _zgbmatrix&);
00073 inline friend _zgematrix operator*(const zgbmatrix&, const _zhematrix&);
00074 inline friend _zgematrix operator*(const _zgbmatrix&, const _zhematrix&);
00075
00076 inline friend _zgematrix operator*(const _zhematrix&, const zhematrix&);
00077 inline friend _zgematrix operator*(const zhematrix&, const _zhematrix&);
00078 inline friend _zgematrix operator*(const _zhematrix&, const _zhematrix&);
00079
00080 inline friend _zrovector operator*(const zrovector&, const _zhematrix&);
00081 inline friend _zrovector operator*(const _zrovector&, const _zhematrix&);
00082 inline friend _zcovector operator*(const _zhematrix&, const zcovector&);
00083 inline friend _zcovector operator*(const _zhematrix&, const _zcovector&);
00084
00085 inline friend _zhematrix operator*(const zhematrix&, const double&);
00086 inline friend _zhematrix operator*(const _zhematrix&, const double&);
00087 inline friend _zhematrix operator*(const double&, const zhematrix&);
00088 inline friend _zhematrix operator*(const double&, const _zhematrix&);
00089
00090 inline friend _zgematrix operator*(const _zhematrix&, const std::complex<double>&);
00091 inline friend _zgematrix operator*(const std::complex<double>&, const _zhematrix&);
00093 inline friend _zhematrix operator/(const zhematrix&, const double&);
00094 inline friend _zhematrix operator/(const _zhematrix&, const double&);
00095 inline friend _zgematrix operator/(const _zhematrix&, const std::complex<double>&);
00096
00098 friend class zgematrix;
00099 friend class _zgematrix;
00100 friend class zgbmatrix;
00101 friend class _zgbmatrix;
00102 friend class zhematrix;
00103 friend class zcovector;
00104 friend class _zcovector;
00105 friend class zrovector;
00106 friend class _zrovector;
00107 };