CPPLapack
 All Classes Files Functions Variables Friends Pages
zrovector.hpp
Go to the documentation of this file.
1 //=============================================================================
2 //! Complex Double-precision Row Vector Class
3 class zrovector
4 {
5 public:
6  ///////////////////////////////////////////////
7  /////////////////// objects ///////////////////
8  ///////////////////////////////////////////////
9  CPPL_INT l; //!< vector size
10  comple* array; //!< 1D array to store vector data
11 
12  ///////////////////////////////////////////////
13  ///////////////// constructors ////////////////
14  ///////////////////////////////////////////////
15  inline zrovector();
16  inline zrovector(const zrovector&);
17  inline zrovector(const _zrovector&);
18  inline zrovector(const CPPL_INT&);
19  inline zrovector(const char*);
20  inline ~zrovector(); //destructor
21 
22  ///////////////////////////////////////////////
23  ////////////////// functions //////////////////
24  ///////////////////////////////////////////////
25  //////// cast ////////
26 
27  //////// io ////////
28  inline comple& operator()(const CPPL_INT&);
29  inline comple operator()(const CPPL_INT&) const;
30  inline zrovector& set(const CPPL_INT&, const comple&);
31  inline friend std::ostream& operator<<(std::ostream&, const zrovector&);
32  inline void write(const char*) const;
33  inline void read(const char*);
34 
35  //////// calc ////////
36  inline friend _zcovector t(const zrovector&);
37  inline friend _zrovector conj(const zrovector&);
38  inline friend _zcovector conjt(const zrovector&);
39  inline friend double nrm2(const zrovector&);
40  inline friend CPPL_INT idamax(const zrovector&);
41  inline friend comple damax(const zrovector&);
42 
43  //////// misc ////////
44  inline void clear();
45  inline zrovector& zero();
46  inline void chsign();
47  inline void copy(const zrovector&);
48  inline void shallow_copy(const _zrovector&);
49  inline void alias(const zrovector&);
50  inline void unalias();
51  inline void resize(const CPPL_INT&);
52  inline friend void swap(zrovector&, zrovector&);
53  inline friend _zrovector _(zrovector&);
54 
55  ///////////////////////////////////////////////
56  ///////////// numerical operators /////////////
57  ///////////////////////////////////////////////
58  //////// = ////////
59  inline zrovector& operator=(const zrovector&);
60  inline zrovector& operator=(const _zrovector&);
61 
62  //////// += ////////
63  inline zrovector& operator+=(const zrovector&);
64  inline zrovector& operator+=(const _zrovector&);
65 
66  //////// -= ////////
67  inline zrovector& operator-=(const zrovector&);
68  inline zrovector& operator-=(const _zrovector&);
69 
70  //////// *= ////////
71  inline zrovector& operator*=(const double&);
72  inline zrovector& operator*=(const comple&);
73 
74  //////// /= ////////
75  inline zrovector& operator/=(const double&);
76  inline zrovector& operator/=(const comple&);
77 
78  //////// unary ////////
79  inline friend const zrovector& operator+(const zrovector&);
80  inline friend _zrovector operator-(const zrovector&);
81 
82  //////// + ////////
83  inline friend _zrovector operator+(const zrovector&, const zrovector&);
84  inline friend _zrovector operator+(const zrovector&, const _zrovector&);
85 
86  //////// - ////////
87  inline friend _zrovector operator-(const zrovector&, const zrovector&);
88  inline friend _zrovector operator-(const zrovector&, const _zrovector&);
89 
90  //////// * ////////
91  inline friend comple operator*(const zrovector&, const zcovector&);
92  inline friend comple operator*(const zrovector&, const _zcovector&);
93  inline friend _zrovector operator*(const zrovector&, const zgematrix&);
94  inline friend _zrovector operator*(const zrovector&, const _zgematrix&);
95  inline friend _zrovector operator*(const zrovector&, const zhematrix&);
96  inline friend _zrovector operator*(const zrovector&, const _zhematrix&);
97  inline friend _zrovector operator*(const zrovector&, const zgbmatrix&);
98  inline friend _zrovector operator*(const zrovector&, const _zgbmatrix&);
99  inline friend _zrovector operator*(const zrovector&, const zgsmatrix&);
100  inline friend _zrovector operator*(const zrovector&, const _zgsmatrix&);
101  inline friend _zrovector operator*(const zrovector&, const zhsmatrix&);
102  inline friend _zrovector operator*(const zrovector&, const _zhsmatrix&);
103  inline friend _zrovector operator*(const zrovector&, const double&);
104  inline friend _zrovector operator*(const zrovector&, const comple&);
105 
106  //////// / ////////
107  inline friend _zrovector operator/(const zrovector&, const double&);
108  inline friend _zrovector operator/(const zrovector&, const comple&);
109 
110  //////// % ////////
111  inline friend comple operator%(const zrovector&, const zrovector&);
112  inline friend comple operator%(const zrovector&, const _zrovector&);
113 
114  //////// double, comple ////////
115  inline friend _zrovector operator*(const double&, const zrovector&);
116  inline friend _zrovector operator*(const comple&, const zrovector&);
117 
118  //////// hadamard ////////
119  inline friend _zrovector hadamard(const zrovector&, const zrovector&);
120 };
friend _zrovector _(zrovector &)
void shallow_copy(const _zrovector &)
zrovector & operator-=(const zrovector &)
(DO NOT USE) Smart-temporary Complex Double-precision Hermitian Matrix Class
Definition: _zhematrix.hpp:3
Complex Double-precision General Sparse Matrix Class.
Definition: zgsmatrix.hpp:3
CPPL_INT l
vector size
Definition: zrovector.hpp:9
void alias(const zrovector &)
friend _zrovector hadamard(const zrovector &, const zrovector &)
friend comple operator%(const zrovector &, const zrovector &)
friend comple damax(const zrovector &)
void read(const char *)
friend _zrovector operator/(const zrovector &, const double &)
void resize(const CPPL_INT &)
zrovector & operator+=(const zrovector &)
friend _zcovector conjt(const zrovector &)
(DO NOT USE) Smart-temporary Real Double-precision General Sparse Matrix Class
Definition: _zgsmatrix.hpp:3
friend _zrovector conj(const zrovector &)
void clear()
friend comple operator*(const zrovector &, const zcovector &)
friend void swap(zrovector &, zrovector &)
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
friend double nrm2(const zrovector &)
(DO NOT USE) Smart-temporary Complex Double-precision General Dence Matrix Class
Definition: _zgematrix.hpp:3
zrovector & operator*=(const double &)
Complex Double-precision Hermitian Sparse Matrix Class.
Definition: zhsmatrix.hpp:3
friend CPPL_INT idamax(const zrovector &)
zrovector & operator=(const zrovector &)
Complex Double-precision General Band Matrix Class.
Definition: zgbmatrix.hpp:3
friend std::ostream & operator<<(std::ostream &, const zrovector &)
comple & operator()(const CPPL_INT &)
Definition: zrovector-io.hpp:3
(DO NOT USE) Smart-temporary Complex Double-precision General Band Matrix Class
Definition: _zgbmatrix.hpp:3
void unalias()
Complex Double-precision Hermitian Matrix Class [l-type (UPLO=l) Strage].
Definition: zhematrix.hpp:4
friend const zrovector & operator+(const zrovector &)
zrovector & set(const CPPL_INT &, const comple &)
void write(const char *) const
zrovector & operator/=(const double &)
friend _zrovector operator-(const zrovector &)
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
(DO NOT USE) Smart-temporary Complex Double-precision Hermitian Sparse Matrix Class ...
Definition: _zhsmatrix.hpp:3
comple * array
1D array to store vector data
Definition: zrovector.hpp:10
void copy(const zrovector &)
friend _zcovector t(const zrovector &)
zrovector & zero()