00001
00003 class _dsymatrix
00004 {
00005 public:
00007 mutable long N;
00008 mutable double* Array;
00009 mutable double** Darray;
00010
00012 inline _dsymatrix();
00013 inline _dsymatrix(const _dsymatrix&);
00014 inline ~_dsymatrix();
00015
00017 inline operator _zhematrix();
00018
00020 inline double& operator()(const long&, const long&) const;
00021 inline friend std::ostream& operator<<(std::ostream&, const dsymatrix&);
00022 inline void write(const char *) const;
00023
00025 inline void destroy() const;
00026 inline void complete() const;
00027
00029 inline friend _dsymatrix t(const _dsymatrix&);
00030 inline friend _dgematrix i(const _dsymatrix&);
00031
00033 inline friend const _dsymatrix& operator+(const _dsymatrix&);
00034 inline friend _dsymatrix operator-(const _dsymatrix&);
00035
00037 inline friend _dsymatrix operator+(const dsymatrix&, const dsymatrix&);
00038 inline friend _dsymatrix operator+(const dsymatrix&, const _dsymatrix&);
00039 inline friend _dsymatrix operator+(const _dsymatrix&, const dsymatrix&);
00040 inline friend _dsymatrix operator+(const _dsymatrix&, const _dsymatrix&);
00041
00042 inline friend _dgematrix operator+(const _dsymatrix&, const dgematrix&);
00043 inline friend _dgematrix operator+(const _dsymatrix&, const _dgematrix&);
00044 inline friend _dgematrix operator+(const dgematrix&, const _dsymatrix&);
00045 inline friend _dgematrix operator+(const _dgematrix&, const _dsymatrix&);
00046
00047 inline friend _dgematrix operator+(const _dsymatrix&, const dgbmatrix&);
00048 inline friend _dgematrix operator+(const _dsymatrix&, const _dgbmatrix&);
00049 inline friend _dgematrix operator+(const dgbmatrix&, const _dsymatrix&);
00050 inline friend _dgematrix operator+(const _dgbmatrix&, const _dsymatrix&);
00051
00053 inline friend _dsymatrix operator-(const dsymatrix&, const dsymatrix&);
00054 inline friend _dsymatrix operator-(const dsymatrix&, const _dsymatrix&);
00055 inline friend _dsymatrix operator-(const _dsymatrix&, const dsymatrix&);
00056 inline friend _dsymatrix operator-(const _dsymatrix&, const _dsymatrix&);
00057
00058 inline friend _dgematrix operator-(const _dsymatrix&, const dgematrix&);
00059 inline friend _dgematrix operator-(const _dsymatrix&, const _dgematrix&);
00060 inline friend _dgematrix operator-(const dgematrix&, const _dsymatrix&);
00061 inline friend _dgematrix operator-(const _dgematrix&, const _dsymatrix&);
00062
00063 inline friend _dgematrix operator-(const _dsymatrix&, const dgbmatrix&);
00064 inline friend _dgematrix operator-(const _dsymatrix&, const _dgbmatrix&);
00065 inline friend _dgematrix operator-(const dgbmatrix&, const _dsymatrix&);
00066 inline friend _dgematrix operator-(const _dgbmatrix&, const _dsymatrix&);
00067
00069 inline friend _dgematrix operator*(const _dsymatrix&, const dgematrix&);
00070 inline friend _dgematrix operator*(const _dsymatrix&, const _dgematrix&);
00071 inline friend _dgematrix operator*(const dgematrix&, const _dsymatrix&);
00072 inline friend _dgematrix operator*(const _dgematrix&, const _dsymatrix&);
00073
00074 inline friend _dgematrix operator*(const _dsymatrix&, const dgbmatrix&);
00075 inline friend _dgematrix operator*(const _dsymatrix&, const _dgbmatrix&);
00076 inline friend _dgematrix operator*(const dgbmatrix&, const _dsymatrix&);
00077 inline friend _dgematrix operator*(const _dgbmatrix&, const _dsymatrix&);
00078
00079 inline friend _dgematrix operator*(const _dsymatrix&, const dsymatrix&);
00080 inline friend _dgematrix operator*(const dsymatrix&, const _dsymatrix&);
00081 inline friend _dgematrix operator*(const _dsymatrix&, const _dsymatrix&);
00082
00083 inline friend _dsymatrix operator*(const dsymatrix&, const double&);
00084 inline friend _dsymatrix operator*(const _dsymatrix&, const double&);
00085 inline friend _dsymatrix operator*(const double&, const dsymatrix&);
00086 inline friend _dsymatrix operator*(const double&, const _dsymatrix&);
00087
00088 inline friend _drovector operator*(const drovector&, const _dsymatrix&);
00089 inline friend _drovector operator*(const _drovector&, const _dsymatrix&);
00090 inline friend _dcovector operator*(const _dsymatrix&, const dcovector&);
00091 inline friend _dcovector operator*(const _dsymatrix&, const _dcovector&);
00092
00094 inline friend _dsymatrix operator/(const dsymatrix&, const double&);
00095 inline friend _dsymatrix operator/(const _dsymatrix&, const double&);
00096
00098 friend class dgematrix;
00099 friend class _dgematrix;
00100 friend class dgbmatrix;
00101 friend class _dgbmatrix;
00102 friend class dsymatrix;
00103 friend class dcovector;
00104 friend class _dcovector;
00105 friend class drovector;
00106 friend class _drovector;
00107 };