My Project
_zrovector.hpp
1 //=============================================================================
3 class _zrovector
4 {
5 public:
7  mutable long L;
8  mutable std::complex<double>* Array;
9 
11  inline _zrovector();
12  inline _zrovector(const _zrovector&);
13  inline ~_zrovector(); //destructor
14 
16  inline std::complex<double>& operator()(const long&) const;
17  inline friend std::ostream& operator<<(std::ostream&, const _zrovector&);
18  inline void write(const char *) const;
19 
21  inline friend _zcovector t(const _zrovector&);
22  inline friend _zrovector conj(const _zrovector&);
23  inline friend _zcovector conjt(const _zrovector&);
24  inline friend double nrm2(const _zrovector&);
25  inline friend long idamax(const _zrovector&);
26  inline friend std::complex<double> damax(const _zrovector&);
27 
29  inline void destroy() const;
30 
32  inline friend const _zrovector& operator+(const _zrovector&);
33  inline friend _zrovector operator-(const _zrovector&);
34 
36  inline friend _zrovector operator+(const zrovector&, const zrovector&);
37  inline friend _zrovector operator+(const zrovector&, const _zrovector&);
38  inline friend _zrovector operator+(const _zrovector&, const zrovector&);
39  inline friend _zrovector operator+(const _zrovector&, const _zrovector&);
40 
42  inline friend _zrovector operator-(const zrovector&, const zrovector&);
43  inline friend _zrovector operator-(const zrovector&, const _zrovector&);
44  inline friend _zrovector operator-(const _zrovector&, const zrovector&);
45  inline friend _zrovector operator-(const _zrovector&, const _zrovector&);
46 
48  inline friend _zrovector operator*(const zrovector&, const zgematrix&);
49  inline friend _zrovector operator*(const zrovector&, const _zgematrix&);
50  inline friend _zrovector operator*(const _zrovector&, const zgematrix&);
51  inline friend _zrovector operator*(const _zrovector&, const _zgematrix&);
52 
53  inline friend _zrovector operator*(const zrovector&, const zgbmatrix&);
54  inline friend _zrovector operator*(const zrovector&, const _zgbmatrix&);
55  inline friend _zrovector operator*(const _zrovector&, const zgbmatrix&);
56  inline friend _zrovector operator*(const _zrovector&, const _zgbmatrix&);
57 
58  inline friend _zrovector operator*(const zrovector&, const zhematrix&);
59  inline friend _zrovector operator*(const zrovector&, const _zhematrix&);
60  inline friend _zrovector operator*(const _zrovector&, const zhematrix&);
61  inline friend _zrovector operator*(const _zrovector&, const _zhematrix&);
62 
63  inline friend _zrovector operator*(const zrovector&, const zssmatrix&);
64  inline friend _zrovector operator*(const zrovector&, const _zssmatrix&);
65  inline friend _zrovector operator*(const _zrovector&, const zssmatrix&);
66  inline friend _zrovector operator*(const _zrovector&, const _zssmatrix&);
67 
68  inline friend _zgematrix operator*(const zcovector&, const _zrovector&);
69  inline friend _zgematrix operator*(const _zcovector&, const _zrovector&);
70 
71  inline friend std::complex<double> operator*(const _zrovector&, const zcovector&);
72  inline friend std::complex<double> operator*(const _zrovector&, const _zcovector&);
73 
74  inline friend _zrovector operator*(const double&, const zrovector&);
75  inline friend _zrovector operator*(const double&, const _zrovector&);
76  inline friend _zrovector operator*(const zrovector&, const double&);
77  inline friend _zrovector operator*(const _zrovector&, const double&);
78 
79  inline friend _zrovector operator*(const std::complex<double>&, const zrovector&);
80  inline friend _zrovector operator*(const std::complex<double>&, const _zrovector&);
81  inline friend _zrovector operator*(const zrovector&, const std::complex<double>&);
82  inline friend _zrovector operator*(const _zrovector&, const std::complex<double>&);
83 
85  inline friend _zrovector operator/(const zrovector&, const double&);
86  inline friend _zrovector operator/(const _zrovector&, const double&);
87  inline friend _zrovector operator/(const zrovector&, const std::complex<double>&);
88  inline friend _zrovector operator/(const _zrovector&, const std::complex<double>&);
89 
91  inline friend std::complex<double> operator%(const zrovector&, const _zrovector&);
92  inline friend std::complex<double> operator%(const _zrovector&, const zrovector&);
93  inline friend std::complex<double> operator%(const _zrovector&, const _zrovector&);
94 
96  friend class zgematrix;
97  friend class _zgematrix;
98  friend class zgbmatrix;
99  friend class _zgbmatrix;
100  friend class zhematrix;
101  friend class _zhematrix;
102  friend class zssmatrix;
103  friend class _zssmatrix;
104  friend class zcovector;
105  friend class _zcovector;
106  friend class zrovector;
107 };
friend std::complex< double > damax(const _zrovector &)
Definition: _zrovector-calc.hpp:82
(DO NOT USE) Smart-temporary Complex Double-precision Hermitian Matrix Class
Definition: _zhematrix.hpp:3
(DO NOT USE) Smart-temporary Complex Double-precision Sparse Matrix Class
Definition: _zssmatrix.hpp:3
void destroy() const
Definition: _zrovector-misc.hpp:3
long L
vector size
Definition: _zrovector.hpp:7
friend double nrm2(const _zrovector &)
Definition: _zrovector-calc.hpp:53
friend _zrovector operator/(const zrovector &, const double &)
Definition: zrovector-double.hpp:48
friend _zrovector operator-(const _zrovector &)
Definition: _zrovector-unary.hpp:15
Complex Double-precision General Dence Matrix Class.
Definition: zgematrix.hpp:3
friend _zcovector conjt(const _zrovector &)
Definition: _zrovector-calc.hpp:33
Complex Double-precision Row Vector Class.
Definition: zrovector.hpp:3
(DO NOT USE) Smart-temporary Complex Double-precision Row Vector Class
Definition: _zrovector.hpp:3
(DO NOT USE) Smart-temporary Complex Double-precision General Dence Matrix Class
Definition: _zgematrix.hpp:3
std::complex< double > & operator()(const long &) const
Definition: _zrovector-io.hpp:3
friend _zrovector conj(const _zrovector &)
Definition: _zrovector-calc.hpp:20
Complex Double-precision General Band Matrix Class.
Definition: zgbmatrix.hpp:3
friend _zrovector operator*(const zrovector &, const zgematrix &)
Definition: zrovector-zgematrix.hpp:3
(DO NOT USE) Smart-temporary Complex Double-precision General Band Matrix Class
Definition: _zgbmatrix.hpp:3
Complex Double-precision Hermitian Matrix Class [L-type (UPLO=L) Strage].
Definition: zhematrix.hpp:4
friend _zcovector t(const _zrovector &)
Definition: _zrovector-calc.hpp:3
~_zrovector()
Definition: _zrovector-constructor.hpp:47
Complex Double-precision Column Vector Class.
Definition: zcovector.hpp:3
(DO NOT USE) Smart-temporary Complex Double-precision Column Vector Class
Definition: _zcovector.hpp:3
friend std::complex< double > operator%(const zrovector &, const _zrovector &)
Definition: zrovector-_zrovector.hpp:127
Complex Double-precision Sparse Matrix Class.
Definition: zssmatrix.hpp:3
friend long idamax(const _zrovector &)
Definition: _zrovector-calc.hpp:68
_zrovector()
Definition: _zrovector-constructor.hpp:3
friend const _zrovector & operator+(const _zrovector &)
Definition: _zrovector-unary.hpp:3
std::complex< double > * Array
1D Array to store vector data
Definition: _zrovector.hpp:8