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