00001
00003 class _zrovector
00004 {
00005 public:
00007 mutable long L;
00008 mutable std::complex<double>* Array;
00009
00011 inline _zrovector();
00012 inline _zrovector(const _zrovector&);
00013 inline ~_zrovector();
00014
00016 inline std::complex<double>& operator()(const long&) const;
00017 inline friend std::ostream& operator<<(std::ostream&, const _zrovector&);
00018 inline void write(const char *) const;
00019
00021 inline friend _zcovector t(const _zrovector&);
00022 inline friend _zrovector conj(const _zrovector&);
00023 inline friend _zcovector conjt(const _zrovector&);
00024 inline friend double nrm2(const _zrovector&);
00025 inline friend long idamax(const _zrovector&);
00026 inline friend std::complex<double> damax(const _zrovector&);
00027
00029 inline void destroy() const;
00030
00032 inline friend const _zrovector& operator+(const _zrovector&);
00033 inline friend _zrovector operator-(const _zrovector&);
00034
00036 inline friend _zrovector operator+(const zrovector&, const zrovector&);
00037 inline friend _zrovector operator+(const zrovector&, const _zrovector&);
00038 inline friend _zrovector operator+(const _zrovector&, const zrovector&);
00039 inline friend _zrovector operator+(const _zrovector&, const _zrovector&);
00040
00042 inline friend _zrovector operator-(const zrovector&, const zrovector&);
00043 inline friend _zrovector operator-(const zrovector&, const _zrovector&);
00044 inline friend _zrovector operator-(const _zrovector&, const zrovector&);
00045 inline friend _zrovector operator-(const _zrovector&, const _zrovector&);
00046
00048 inline friend _zrovector operator*(const zrovector&, const zgematrix&);
00049 inline friend _zrovector operator*(const zrovector&, const _zgematrix&);
00050 inline friend _zrovector operator*(const _zrovector&, const zgematrix&);
00051 inline friend _zrovector operator*(const _zrovector&, const _zgematrix&);
00052
00053 inline friend _zrovector operator*(const zrovector&, const zgbmatrix&);
00054 inline friend _zrovector operator*(const zrovector&, const _zgbmatrix&);
00055 inline friend _zrovector operator*(const _zrovector&, const zgbmatrix&);
00056 inline friend _zrovector operator*(const _zrovector&, const _zgbmatrix&);
00057
00058 inline friend _zrovector operator*(const zrovector&, const zhematrix&);
00059 inline friend _zrovector operator*(const zrovector&, const _zhematrix&);
00060 inline friend _zrovector operator*(const _zrovector&, const zhematrix&);
00061 inline friend _zrovector operator*(const _zrovector&, const _zhematrix&);
00062
00063 inline friend _zrovector operator*(const zrovector&, const zssmatrix&);
00064 inline friend _zrovector operator*(const zrovector&, const _zssmatrix&);
00065 inline friend _zrovector operator*(const _zrovector&, const zssmatrix&);
00066 inline friend _zrovector operator*(const _zrovector&, const _zssmatrix&);
00067
00068 inline friend _zgematrix operator*(const zcovector&, const _zrovector&);
00069 inline friend _zgematrix operator*(const _zcovector&, const _zrovector&);
00070
00071 inline friend std::complex<double> operator*(const _zrovector&, const zcovector&);
00072 inline friend std::complex<double> operator*(const _zrovector&, const _zcovector&);
00073
00074 inline friend _zrovector operator*(const double&, const zrovector&);
00075 inline friend _zrovector operator*(const double&, const _zrovector&);
00076 inline friend _zrovector operator*(const zrovector&, const double&);
00077 inline friend _zrovector operator*(const _zrovector&, const double&);
00078
00079 inline friend _zrovector operator*(const std::complex<double>&, const zrovector&);
00080 inline friend _zrovector operator*(const std::complex<double>&, const _zrovector&);
00081 inline friend _zrovector operator*(const zrovector&, const std::complex<double>&);
00082 inline friend _zrovector operator*(const _zrovector&, const std::complex<double>&);
00083
00085 inline friend _zrovector operator/(const zrovector&, const double&);
00086 inline friend _zrovector operator/(const _zrovector&, const double&);
00087 inline friend _zrovector operator/(const zrovector&, const std::complex<double>&);
00088 inline friend _zrovector operator/(const _zrovector&, const std::complex<double>&);
00089
00091 inline friend std::complex<double> operator%(const zrovector&, const _zrovector&);
00092 inline friend std::complex<double> operator%(const _zrovector&, const zrovector&);
00093 inline friend std::complex<double> operator%(const _zrovector&, const _zrovector&);
00094
00096 friend class zgematrix;
00097 friend class _zgematrix;
00098 friend class zgbmatrix;
00099 friend class _zgbmatrix;
00100 friend class zhematrix;
00101 friend class _zhematrix;
00102 friend class zssmatrix;
00103 friend class _zssmatrix;
00104 friend class zcovector;
00105 friend class _zcovector;
00106 friend class zrovector;
00107 };