00001
00003 class _zgbmatrix
00004 {
00005 public:
00007 mutable long M;
00008 mutable long N;
00009 mutable long KL;
00010 mutable long KU;
00011 mutable std::complex<double>* Array;
00012 mutable std::complex<double>** Darray;
00013
00015 inline _zgbmatrix();
00016 inline _zgbmatrix(const _zgbmatrix&);
00017 inline ~_zgbmatrix();
00018
00020 inline std::complex<double>& operator()(const long&, const long&) const;
00021 inline friend std::ostream& operator<<(std::ostream&, const _zgbmatrix&);
00022 inline void write(const char *) const;
00023
00025 inline void destroy() const;
00026
00028 inline friend _zgbmatrix t(const _zgbmatrix&);
00029 inline friend _zgematrix i(const _zgbmatrix&);
00030 inline friend _zgbmatrix conj(const _zgbmatrix&);
00031 inline friend _zgbmatrix conjt(const _zgbmatrix&);
00032
00034 inline friend const _zgbmatrix& operator+(const _zgbmatrix&);
00035 inline friend _zgbmatrix operator-(const _zgbmatrix&);
00036
00038 inline friend _zgbmatrix operator+(const zgbmatrix&, const zgbmatrix&);
00039 inline friend _zgbmatrix operator+(const zgbmatrix&, const _zgbmatrix&);
00040 inline friend _zgbmatrix operator+(const _zgbmatrix&, const zgbmatrix&);
00041 inline friend _zgbmatrix operator+(const _zgbmatrix&, const _zgbmatrix&);
00042
00043 inline friend _zgematrix operator+(const _zgbmatrix&, const zgematrix&);
00044 inline friend _zgematrix operator+(const _zgbmatrix&, const _zgematrix&);
00045 inline friend _zgematrix operator+(const zgematrix&, const _zgbmatrix&);
00046 inline friend _zgematrix operator+(const _zgematrix&, const _zgbmatrix&);
00047
00048 inline friend _zgematrix operator+(const _zgbmatrix&, const zhematrix&);
00049 inline friend _zgematrix operator+(const _zgbmatrix&, const _zhematrix&);
00050 inline friend _zgematrix operator+(const zhematrix&, const _zgbmatrix&);
00051 inline friend _zgematrix operator+(const _zhematrix&, const _zgbmatrix&);
00052
00054 inline friend _zgbmatrix operator-(const zgbmatrix&, const zgbmatrix&);
00055 inline friend _zgbmatrix operator-(const zgbmatrix&, const _zgbmatrix&);
00056 inline friend _zgbmatrix operator-(const _zgbmatrix&, const zgbmatrix&);
00057 inline friend _zgbmatrix operator-(const _zgbmatrix&, const _zgbmatrix&);
00058
00059 inline friend _zgematrix operator-(const _zgbmatrix&, const zgematrix&);
00060 inline friend _zgematrix operator-(const _zgbmatrix&, const _zgematrix&);
00061 inline friend _zgematrix operator-(const zgematrix&, const _zgbmatrix&);
00062 inline friend _zgematrix operator-(const _zgematrix&, const _zgbmatrix&);
00063
00064 inline friend _zgematrix operator-(const _zgbmatrix&, const zhematrix&);
00065 inline friend _zgematrix operator-(const _zgbmatrix&, const _zhematrix&);
00066 inline friend _zgematrix operator-(const zhematrix&, const _zgbmatrix&);
00067 inline friend _zgematrix operator-(const _zhematrix&, const _zgbmatrix&);
00068
00070 inline friend _zgbmatrix operator*(const zgbmatrix&, const zgbmatrix&);
00071 inline friend _zgbmatrix operator*(const zgbmatrix&, const _zgbmatrix&);
00072 inline friend _zgbmatrix operator*(const _zgbmatrix&, const zgbmatrix&);
00073 inline friend _zgbmatrix operator*(const _zgbmatrix&, const _zgbmatrix&);
00074
00075 inline friend _zgematrix operator*(const _zgbmatrix&, const zgematrix&);
00076 inline friend _zgematrix operator*(const _zgbmatrix&, const _zgematrix&);
00077 inline friend _zgematrix operator*(const zgematrix&, const _zgbmatrix&);
00078 inline friend _zgematrix operator*(const _zgematrix&, const _zgbmatrix&);
00079
00080 inline friend _zgematrix operator*(const _zgbmatrix&, const zhematrix&);
00081 inline friend _zgematrix operator*(const _zgbmatrix&, const _zhematrix&);
00082 inline friend _zgematrix operator*(const zhematrix&, const _zgbmatrix&);
00083 inline friend _zgematrix operator*(const _zhematrix&, const _zgbmatrix&);
00084
00085 inline friend _zcovector operator*(const _zgbmatrix&, const zcovector&);
00086 inline friend _zcovector operator*(const _zgbmatrix&, const _zcovector&);
00087 inline friend _zrovector operator*(const zrovector&, const _zgbmatrix&);
00088 inline friend _zrovector operator*(const _zrovector&, const _zgbmatrix&);
00089
00090 inline friend _zgbmatrix operator*(const zgbmatrix&, const double&);
00091 inline friend _zgbmatrix operator*(const _zgbmatrix&, const double&);
00092 inline friend _zgbmatrix operator*(const double&, const zgbmatrix&);
00093 inline friend _zgbmatrix operator*(const double&, const _zgbmatrix&);
00094
00095 inline friend _zgbmatrix operator*(const zgbmatrix&, const std::complex<double>&);
00096 inline friend _zgbmatrix operator*(const _zgbmatrix&, const std::complex<double>&);
00097 inline friend _zgbmatrix operator*(const std::complex<double>&, const zgbmatrix&);
00098 inline friend _zgbmatrix operator*(const std::complex<double>&, const _zgbmatrix&);
00099
00101 inline friend _zgbmatrix operator/(const zgbmatrix&, const double&);
00102 inline friend _zgbmatrix operator/(const _zgbmatrix&, const double&);
00103 inline friend _zgbmatrix operator/(const zgbmatrix&, const std::complex<double>&);
00104 inline friend _zgbmatrix operator/(const _zgbmatrix&, const std::complex<double>&);
00105
00107 friend class zgematrix;
00108 friend class _zgematrix;
00109 friend class zgbmatrix;
00110 friend class zhematrix;
00111 friend class _zhematrix;
00112 friend class zcovector;
00113 friend class _zcovector;
00114 friend class zrovector;
00115 friend class _zrovector;
00116 };