CPPLapack
 All Classes Files Functions Variables Friends Pages
zcovector.hpp
Go to the documentation of this file.
1 //=============================================================================
2 //! Complex Double-precision Column Vector Class
3 class zcovector
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 zcovector();
16  inline zcovector(const zcovector&);
17  inline zcovector(const _zcovector&);
18  inline zcovector(const CPPL_INT&);
19  inline zcovector(const char*);
20  inline ~zcovector(); //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 zcovector& set(const CPPL_INT&, const comple&);
31  inline friend std::ostream& operator<<(std::ostream&, const zcovector&);
32  inline void write(const char*) const;
33  inline void read(const char*);
34 
35  //////// calc ////////
36  inline friend _zrovector t(const zcovector&);
37  inline friend _zcovector conj(const zcovector&);
38  inline friend _zrovector conjt(const zcovector&);
39  inline friend double nrm2(const zcovector&);
40  inline friend CPPL_INT idamax(const zcovector&);
41  inline friend comple damax(const zcovector&);
42 
43  //////// misc ////////
44  inline void clear();
45  inline zcovector& zero();
46  inline void chsign();
47  inline void copy(const zcovector&);
48  inline void shallow_copy(const _zcovector&);
49  inline void alias(const zcovector&);
50  inline void unalias();
51  inline void resize(const CPPL_INT&);
52  inline friend void swap(zcovector&, zcovector&);
53  inline friend _zcovector _(zcovector&);
54 
55  ///////////////////////////////////////////////
56  ///////////// numerical operators /////////////
57  ///////////////////////////////////////////////
58  //////// = ////////
59  inline zcovector& operator=(const zcovector&);
60  inline zcovector& operator=(const _zcovector&);
61 
62  //////// += ////////
63  inline zcovector& operator+=(const zcovector&);
64  inline zcovector& operator+=(const _zcovector&);
65 
66  //////// -= ////////
67  inline zcovector& operator-=(const zcovector&);
68  inline zcovector& operator-=(const _zcovector&);
69 
70  //////// *= ////////
71  inline zcovector& operator*=(const double&);
72  inline zcovector& operator*=(const comple&);
73 
74  //////// /= ////////
75  inline zcovector& operator/=(const double&);
76  inline zcovector& operator/=(const comple&);
77 
78  //////// unary ////////
79  inline friend const zcovector& operator+(const zcovector&);
80  inline friend _zcovector operator-(const zcovector&);
81 
82  //////// + ////////
83  inline friend _zcovector operator+(const zcovector&, const zcovector&);
84  inline friend _zcovector operator+(const zcovector&, const _zcovector&);
85 
86  //////// - ////////
87  inline friend _zcovector operator-(const zcovector&, const zcovector&);
88  inline friend _zcovector operator-(const zcovector&, const _zcovector&);
89 
90  //////// * ////////
91  inline friend _zgematrix operator*(const zcovector&, const zrovector&);
92  inline friend _zgematrix operator*(const zcovector&, const _zrovector&);
93  inline friend _zcovector operator*(const zcovector&, const double&);
94  inline friend _zcovector operator*(const zcovector&, const comple&);
95 
96  //////// / ////////
97  inline friend _zcovector operator/(const zcovector&, const double&);
98  inline friend _zcovector operator/(const zcovector&, const comple&);
99 
100  //////// % ////////
101  inline friend comple operator%(const zcovector&, const zcovector&);
102  inline friend comple operator%(const zcovector&, const _zcovector&);
103 
104  //////// double, comple ////////
105  inline friend _zcovector operator*(const double&, const zcovector&);
106  inline friend _zcovector operator*(const comple&, const zcovector&);
107 
108  //////// hadamard ////////
109  inline friend _zcovector hadamard(const zcovector&, const zcovector&);
110 };
zcovector & set(const CPPL_INT &, const comple &)
void clear()
comple * array
1D array to store vector data
Definition: zcovector.hpp:10
zcovector & zero()
CPPL_INT l
vector size
Definition: zcovector.hpp:9
friend _zcovector operator/(const zcovector &, const double &)
zcovector & operator=(const zcovector &)
friend _zrovector t(const zcovector &)
friend _zcovector operator-(const zcovector &)
friend _zgematrix operator*(const zcovector &, const zrovector &)
friend double nrm2(const zcovector &)
friend const zcovector & operator+(const zcovector &)
friend comple damax(const zcovector &)
void shallow_copy(const _zcovector &)
zcovector & operator-=(const zcovector &)
void copy(const zcovector &)
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
void alias(const zcovector &)
friend comple operator%(const zcovector &, const zcovector &)
friend void swap(zcovector &, zcovector &)
void write(const char *) const
void unalias()
zcovector & operator/=(const double &)
friend _zcovector _(zcovector &)
comple & operator()(const CPPL_INT &)
Definition: zcovector-io.hpp:3
friend _zcovector hadamard(const zcovector &, const zcovector &)
friend _zcovector conj(const zcovector &)
zcovector & operator*=(const double &)
void read(const char *)
friend std::ostream & operator<<(std::ostream &, const zcovector &)
friend _zrovector conjt(const zcovector &)
friend CPPL_INT idamax(const zcovector &)
void resize(const CPPL_INT &)
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
zcovector & operator+=(const zcovector &)