VERB_code_2.3
_zhematrix.hpp
1 //=============================================================================
3 class _zhematrix
4 {
5 public:
7  mutable long N;
8  mutable std::complex<double>* Array;
9  mutable std::complex<double>** Darray;
10 
12  inline _zhematrix();
13  inline _zhematrix(const _zhematrix&);
14  inline ~_zhematrix(); //destructor
15 
17  inline __zhecomplex operator()(const long&, const long&) const;
18  inline friend std::ostream& operator<<(std::ostream&, const zhematrix&);
19  inline void write(const char *) const;
20 
22  inline void complete() const;
23  inline void destroy() const;
24 
26  inline friend _zhematrix t(const _zhematrix&);
27  inline friend _zgematrix i(const _zhematrix&);
28 
30  inline friend const _zhematrix& operator+(const _zhematrix&);
31  inline friend _zhematrix operator-(const _zhematrix&);
32 
34  inline friend _zhematrix operator+(const zhematrix&, const zhematrix&);
35  inline friend _zhematrix operator+(const zhematrix&, const _zhematrix&);
36  inline friend _zhematrix operator+(const _zhematrix&, const zhematrix&);
37  inline friend _zhematrix operator+(const _zhematrix&, const _zhematrix&);
38 
39  inline friend _zgematrix operator+(const _zhematrix&, const zgematrix&);
40  inline friend _zgematrix operator+(const _zhematrix&, const _zgematrix&);
41  inline friend _zgematrix operator+(const zgematrix&, const _zhematrix&);
42  inline friend _zgematrix operator+(const _zgematrix&, const _zhematrix&);
43 
44  inline friend _zgematrix operator+(const _zhematrix&, const zgbmatrix&);
45  inline friend _zgematrix operator+(const _zhematrix&, const _zgbmatrix&);
46  inline friend _zgematrix operator+(const zgbmatrix&, const _zhematrix&);
47  inline friend _zgematrix operator+(const _zgbmatrix&, const _zhematrix&);
48 
50  inline friend _zhematrix operator-(const zhematrix&, const zhematrix&);
51  inline friend _zhematrix operator-(const zhematrix&, const _zhematrix&);
52  inline friend _zhematrix operator-(const _zhematrix&, const zhematrix&);
53  inline friend _zhematrix operator-(const _zhematrix&, const _zhematrix&);
54 
55  inline friend _zgematrix operator-(const _zhematrix&, const zgematrix&);
56  inline friend _zgematrix operator-(const _zhematrix&, const _zgematrix&);
57  inline friend _zgematrix operator-(const zgematrix&, const _zhematrix&);
58  inline friend _zgematrix operator-(const _zgematrix&, const _zhematrix&);
59 
60  inline friend _zgematrix operator-(const _zhematrix&, const zgbmatrix&);
61  inline friend _zgematrix operator-(const _zhematrix&, const _zgbmatrix&);
62  inline friend _zgematrix operator-(const zgbmatrix&, const _zhematrix&);
63  inline friend _zgematrix operator-(const _zgbmatrix&, const _zhematrix&);
64 
66  inline friend _zgematrix operator*(const _zhematrix&, const zgematrix&);
67  inline friend _zgematrix operator*(const _zhematrix&, const _zgematrix&);
68  inline friend _zgematrix operator*(const zgematrix&, const _zhematrix&);
69  inline friend _zgematrix operator*(const _zgematrix&, const _zhematrix&);
70 
71  inline friend _zgematrix operator*(const _zhematrix&, const zgbmatrix&);
72  inline friend _zgematrix operator*(const _zhematrix&, const _zgbmatrix&);
73  inline friend _zgematrix operator*(const zgbmatrix&, const _zhematrix&);
74  inline friend _zgematrix operator*(const _zgbmatrix&, const _zhematrix&);
75 
76  inline friend _zgematrix operator*(const _zhematrix&, const zhematrix&);
77  inline friend _zgematrix operator*(const zhematrix&, const _zhematrix&);
78  inline friend _zgematrix operator*(const _zhematrix&, const _zhematrix&);
79 
80  inline friend _zrovector operator*(const zrovector&, const _zhematrix&);
81  inline friend _zrovector operator*(const _zrovector&, const _zhematrix&);
82  inline friend _zcovector operator*(const _zhematrix&, const zcovector&);
83  inline friend _zcovector operator*(const _zhematrix&, const _zcovector&);
84 
85  inline friend _zhematrix operator*(const zhematrix&, const double&);
86  inline friend _zhematrix operator*(const _zhematrix&, const double&);
87  inline friend _zhematrix operator*(const double&, const zhematrix&);
88  inline friend _zhematrix operator*(const double&, const _zhematrix&);
89 
90  inline friend _zgematrix operator*(const _zhematrix&, const std::complex<double>&);
91  inline friend _zgematrix operator*(const std::complex<double>&, const _zhematrix&);
93  inline friend _zhematrix operator/(const zhematrix&, const double&);
94  inline friend _zhematrix operator/(const _zhematrix&, const double&);
95  inline friend _zgematrix operator/(const _zhematrix&, const std::complex<double>&);
96 
98  friend class zgematrix;
99  friend class _zgematrix;
100  friend class zgbmatrix;
101  friend class _zgbmatrix;
102  friend class zhematrix;
103  friend class zcovector;
104  friend class _zcovector;
105  friend class zrovector;
106  friend class _zrovector;
107 };
friend _zhematrix operator/(const zhematrix &, const double &)
Definition: zhematrix-double.hpp:48
(DO NOT USE) Smart-temporary Complex Double-precision Hermitian Matrix Class
Definition: _zhematrix.hpp:3
_zhematrix()
Definition: _zhematrix-constructor.hpp:3
friend const _zhematrix & operator+(const _zhematrix &)
Definition: _zhematrix-unary.hpp:3
friend _zhematrix operator-(const _zhematrix &)
Definition: _zhematrix-unary.hpp:15
Complex Double-precision General Dence Matrix Class.
Definition: zgematrix.hpp:3
std::complex< double > * Array
1D Array to store matrix data
Definition: _zhematrix.hpp:8
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
std::complex< double > ** Darray
array of pointers of column head addresses
Definition: _zhematrix.hpp:9
(DO NOT USE) Smart-temporary Complex Double-precision General Dence Matrix Class
Definition: _zgematrix.hpp:3
void complete() const
Definition: _zhematrix-misc.hpp:22
friend _zhematrix t(const _zhematrix &)
Definition: _zhematrix-calc.hpp:3
Complex Double-precision General Band Matrix Class.
Definition: zgbmatrix.hpp:3
void destroy() const
Definition: _zhematrix-misc.hpp:3
(DO NOT USE) Smart-temporary Complex Double-precision General Band Matrix Class
Definition: _zgbmatrix.hpp:3
~_zhematrix()
Definition: _zhematrix-constructor.hpp:50
Complex Double-precision Hermitian Matrix Class [L-type (UPLO=L) Strage].
Definition: zhematrix.hpp:4
friend _zgematrix operator*(const _zhematrix &, const zgematrix &)
Definition: _zhematrix-zgematrix.hpp:61
long N
matrix column or row size
Definition: _zhematrix.hpp:7
__zhecomplex operator()(const long &, const long &) const
Definition: _zhematrix-io.hpp:3
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 _zgematrix i(const _zhematrix &)
Definition: _zhematrix-calc.hpp:21
(DO NOT USE) Shaddow Complex-double Class for zhematrix
Definition: __zhecomplex.hpp:3