VERB_code_2.3
zcovector.hpp
1 //=============================================================================
3 class zcovector
4 {
5 private:
7  long L;
8  std::complex<double>* Array;
9 
10 public:
12  long const& l;
13  std::complex<double>* const& array;
14 
16  inline zcovector();
17  inline zcovector(const zcovector&);
18  inline zcovector(const _zcovector&);
19  inline zcovector(const long&);
20  inline zcovector(const char*);
21  inline ~zcovector(); //destructor
22 
24  inline std::complex<double>& operator()(const long&);
25  inline std::complex<double> operator()(const long&) const;
26  inline void set(const long&, const std::complex<double>&) const;
27  inline friend std::ostream& operator<<(std::ostream&, const zcovector&);
28  inline void write(const char *) const;
29  inline void read(const char *);
30 
32  inline friend _zrovector t(const zcovector&);
33  inline friend _zcovector conj(const zcovector&);
34  inline friend _zrovector conjt(const zcovector&);
35  inline friend double nrm2(const zcovector&);
36  inline friend long idamax(const zcovector&);
37  inline friend std::complex<double> damax(const zcovector&);
38 
40  inline void clear();
41  inline void zero();
42  inline void chsign();
43  inline void copy(const zcovector&);
44  inline void shallow_copy(const _zcovector&);
45  inline void resize(const long&);
46  inline friend void swap(zcovector&, zcovector&);
47  inline friend _zcovector _(zcovector&);
48 
50  inline friend const zcovector& operator+(const zcovector&);
51  inline friend _zcovector operator-(const zcovector&);
52 
54  inline zcovector& operator=(const zcovector&);
55  inline zcovector& operator+=(const zcovector&);
56  inline zcovector& operator-=(const zcovector&);
58  inline zcovector& operator=(const _zcovector&);
59  inline zcovector& operator+=(const _zcovector&);
60  inline zcovector& operator-=(const _zcovector&);
62  inline zcovector& operator*=(const double&);
63  inline zcovector& operator/=(const double&);
65  inline zcovector& operator*=(const std::complex<double>&);
66  inline zcovector& operator/=(const std::complex<double>&);
67 
69  inline friend _zcovector operator+(const zcovector&, const zcovector&);
70  inline friend _zcovector operator+(const zcovector&, const _zcovector&);
71  inline friend _zcovector operator+(const _zcovector&, const zcovector&);
72 
74  inline friend _zcovector operator-(const zcovector&, const zcovector&);
75  inline friend _zcovector operator-(const zcovector&, const _zcovector&);
76  inline friend _zcovector operator-(const _zcovector&, const zcovector&);
77 
79  inline friend _zcovector operator*(const zgematrix&, const zcovector&);
80  inline friend _zcovector operator*(const _zgematrix&, const zcovector&);
81  inline friend _zcovector operator*(const zgbmatrix&, const zcovector&);
82  inline friend _zcovector operator*(const _zgbmatrix&, const zcovector&);
83  inline friend _zcovector operator*(const zhematrix&, const zcovector&);
84  inline friend _zcovector operator*(const _zhematrix&, const zcovector&);
85  inline friend _zcovector operator*(const zssmatrix&, const zcovector&);
86  inline friend _zcovector operator*(const _zssmatrix&, const zcovector&);
87 
88  inline friend _zgematrix operator*(const zcovector&, const _zrovector&);
89  inline friend _zgematrix operator*(const zcovector&, const zrovector&);
90 
91  inline friend std::complex<double> operator*(const _zrovector&, const zcovector&);
92  inline friend std::complex<double> operator*(const zrovector&, const zcovector&);
93 
94  inline friend _zcovector operator*(const double&, const zcovector&);
95  inline friend _zcovector operator*(const zcovector&, const double&);
96 
97  inline friend _zcovector operator*(const std::complex<double>&, const zcovector&);
98  inline friend _zcovector operator*(const zcovector&, const std::complex<double>&);
99 
101  inline friend _zcovector operator/(const zcovector&, const double&);
102  inline friend _zcovector operator/(const zcovector&, const std::complex<double>&);
103 
105  inline friend std::complex<double> operator%(const zcovector&, const zcovector&);
106  inline friend std::complex<double> operator%(const zcovector&, const _zcovector&);
107  inline friend std::complex<double> operator%(const _zcovector&, const zcovector&);
108 
110  friend class zgematrix;
111  friend class _zgematrix;
112  friend class zgbmatrix;
113  friend class _zgbmatrix;
114  friend class zhematrix;
115  friend class _zhematrix;
116  friend class _zcovector;
117  friend class zrovector;
118  friend class _zrovector;
119 };
(DO NOT USE) Smart-temporary Complex Double-precision Hermitian Matrix Class
Definition: _zhematrix.hpp:3
void clear()
Definition: zcovector-misc.hpp:3
zcovector()
Definition: zcovector-constructor.hpp:3
std::complex< double > & operator()(const long &)
Definition: zcovector-io.hpp:3
friend _zcovector operator/(const zcovector &, const double &)
Definition: zcovector-double.hpp:48
zcovector & operator=(const zcovector &)
Definition: zcovector-zcovector.hpp:3
(DO NOT USE) Smart-temporary Complex Double-precision Sparse Matrix Class
Definition: _zssmatrix.hpp:3
friend _zrovector t(const zcovector &)
Definition: zcovector-calc.hpp:3
friend _zcovector operator-(const zcovector &)
Definition: zcovector-unary.hpp:15
void set(const long &, const std::complex< double > &) const
Definition: zcovector-io.hpp:53
std::complex< double > *const & array
1D array to store vector data (readable)
Definition: zcovector.hpp:13
friend std::complex< double > damax(const zcovector &)
Definition: zcovector-calc.hpp:76
friend double nrm2(const zcovector &)
Definition: zcovector-calc.hpp:51
friend const zcovector & operator+(const zcovector &)
Definition: zcovector-unary.hpp:3
void shallow_copy(const _zcovector &)
Definition: zcovector-misc.hpp:73
~zcovector()
Definition: zcovector-constructor.hpp:122
zcovector & operator-=(const zcovector &)
Definition: zcovector-zcovector.hpp:46
void copy(const zcovector &)
Definition: zcovector-misc.hpp:47
Complex Double-precision General Dence Matrix Class.
Definition: zgematrix.hpp:3
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
void zero()
Definition: zcovector-misc.hpp:23
(DO NOT USE) Smart-temporary Complex Double-precision General Dence Matrix Class
Definition: _zgematrix.hpp:3
void resize(const long &)
Definition: zcovector-misc.hpp:93
friend void swap(zcovector &, zcovector &)
Definition: zcovector-misc.hpp:116
friend _zcovector operator*(const zgematrix &, const zcovector &)
Definition: zgematrix-zcovector.hpp:3
Complex Double-precision General Band Matrix Class.
Definition: zgbmatrix.hpp:3
zcovector & operator/=(const double &)
Definition: zcovector-double.hpp:16
long const & l
vector size (readable)
Definition: zcovector.hpp:12
friend _zcovector _(zcovector &)
Definition: zcovector-misc.hpp:131
friend _zcovector conj(const zcovector &)
Definition: zcovector-calc.hpp:17
(DO NOT USE) Smart-temporary Complex Double-precision General Band Matrix Class
Definition: _zgbmatrix.hpp:3
zcovector & operator*=(const double &)
Definition: zcovector-double.hpp:3
friend long idamax(const zcovector &)
Definition: zcovector-calc.hpp:64
friend _zrovector conjt(const zcovector &)
Definition: zcovector-calc.hpp:32
Complex Double-precision Hermitian Matrix Class [L-type (UPLO=L) Strage].
Definition: zhematrix.hpp:4
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 zcovector &, const zcovector &)
Definition: zcovector-zcovector.hpp:131
Complex Double-precision Sparse Matrix Class.
Definition: zssmatrix.hpp:3
void chsign()
Definition: zcovector-misc.hpp:35
zcovector & operator+=(const zcovector &)
Definition: zcovector-zcovector.hpp:22