CPPLapack
 All Classes Files Functions Variables Friends Pages
_zgematrix.hpp
Go to the documentation of this file.
1 //=============================================================================
2 //! (DO NOT USE) Smart-temporary Complex Double-precision General Dence Matrix Class
3 class _zgematrix
4 {
5 public:
6  ///////////////////////////////////////////////
7  /////////////////// objects ///////////////////
8  ///////////////////////////////////////////////
9  mutable CPPL_INT m; //!< matrix row size
10  mutable CPPL_INT n; //!< matrix column size
11  mutable comple* array; //!< 1D array to store matrix data
12  mutable comple** darray; //!< array of pointers of column head addresses
13 
14  ///////////////////////////////////////////////
15  ///////////////// constructors ////////////////
16  ///////////////////////////////////////////////
17  inline _zgematrix();
18  inline _zgematrix(const _zgematrix&);
19  inline ~_zgematrix(); //destructor
20 
21  ///////////////////////////////////////////////
22  ////////////////// functions //////////////////
23  ///////////////////////////////////////////////
24  //////// cast ////////
25 
26  //////// io ////////
27  inline comple& operator()(const CPPL_INT&, const CPPL_INT&) const;
28  inline friend std::ostream& operator<<(std::ostream&, const zgematrix&);
29  inline void write(const char*) const;
30 
31  //////// misc ////////
32  inline void nullify() const;
33  inline void destroy() const;
34 
35  //////// calc ////////
36  inline friend _zgematrix t(const _zgematrix&);
37  inline friend _zgematrix i(const _zgematrix&);
38  inline friend _zgematrix conj(const _zgematrix&);
39  inline friend _zgematrix conjt(const _zgematrix&);
40  inline friend void idamax(CPPL_INT&, CPPL_INT&, const _zgematrix&);
41  inline friend comple damax(const _zgematrix&);
42 
43  ///////////////////////////////////////////////
44  ///////////// numerical operators /////////////
45  ///////////////////////////////////////////////
46  //////// unary ////////
47  inline friend const _zgematrix& operator+(const _zgematrix&);
48  inline friend _zgematrix operator-(const _zgematrix&);
49 
50  //////// + ////////
51  inline friend _zgematrix operator+(const _zgematrix&, const zgematrix&);
52  inline friend _zgematrix operator+(const _zgematrix&, const _zgematrix&);
53  inline friend _zgematrix operator+(const _zgematrix&, const zhematrix&);
54  inline friend _zgematrix operator+(const _zgematrix&, const _zhematrix&);
55  inline friend _zgematrix operator+(const _zgematrix&, const zgbmatrix&);
56  inline friend _zgematrix operator+(const _zgematrix&, const _zgbmatrix&);
57  inline friend _zgematrix operator+(const _zgematrix&, const zgsmatrix&);
58  inline friend _zgematrix operator+(const _zgematrix&, const _zgsmatrix&);
59  inline friend _zgematrix operator+(const _zgematrix&, const zhsmatrix&);
60  inline friend _zgematrix operator+(const _zgematrix&, const _zhsmatrix&);
61 
62  //////// - ////////
63  inline friend _zgematrix operator-(const _zgematrix&, const zgematrix&);
64  inline friend _zgematrix operator-(const _zgematrix&, const _zgematrix&);
65  inline friend _zgematrix operator-(const _zgematrix&, const zhematrix&);
66  inline friend _zgematrix operator-(const _zgematrix&, const _zhematrix&);
67  inline friend _zgematrix operator-(const _zgematrix&, const zgbmatrix&);
68  inline friend _zgematrix operator-(const _zgematrix&, const _zgbmatrix&);
69  inline friend _zgematrix operator-(const _zgematrix&, const zgsmatrix&);
70  inline friend _zgematrix operator-(const _zgematrix&, const _zgsmatrix&);
71  inline friend _zgematrix operator-(const _zgematrix&, const zhsmatrix&);
72  inline friend _zgematrix operator-(const _zgematrix&, const _zhsmatrix&);
73 
74  //////// * ////////
75  inline friend _zcovector operator*(const _zgematrix&, const zcovector&);
76  inline friend _zcovector operator*(const _zgematrix&, const _zcovector&);
77  inline friend _zgematrix operator*(const _zgematrix&, const zgematrix&);
78  inline friend _zgematrix operator*(const _zgematrix&, const _zgematrix&);
79  inline friend _zgematrix operator*(const _zgematrix&, const zhematrix&);
80  inline friend _zgematrix operator*(const _zgematrix&, const _zhematrix&);
81  inline friend _zgematrix operator*(const _zgematrix&, const zgbmatrix&);
82  inline friend _zgematrix operator*(const _zgematrix&, const _zgbmatrix&);
83  inline friend _zgematrix operator*(const _zgematrix&, const zgsmatrix&);
84  inline friend _zgematrix operator*(const _zgematrix&, const _zgsmatrix&);
85  inline friend _zgematrix operator*(const _zgematrix&, const zhsmatrix&);
86  inline friend _zgematrix operator*(const _zgematrix&, const _zhsmatrix&);
87  inline friend _zgematrix operator*(const _zgematrix&, const double&);
88  inline friend _zgematrix operator*(const _zgematrix&, const comple&);
89 
90  //////// / ////////
91  inline friend _zgematrix operator/(const _zgematrix&, const double&);
92  inline friend _zgematrix operator/(const _zgematrix&, const comple&);
93 
94  //////// double, complex ////////
95  inline friend _zgematrix operator*(const double&, const _zgematrix&);
96  inline friend _zgematrix operator*(const comple&, const _zgematrix&);
97 };
(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 m
matrix row size
Definition: _zgematrix.hpp:9
comple & operator()(const CPPL_INT &, const CPPL_INT &) const
friend _zgematrix i(const _zgematrix &)
(DO NOT USE) Smart-temporary Real Double-precision General Sparse Matrix Class
Definition: _zgsmatrix.hpp:3
friend _zcovector operator*(const _zgematrix &, const zcovector &)
friend _zgematrix conjt(const _zgematrix &)
friend _zgematrix t(const _zgematrix &)
Complex Double-precision General Dence Matrix Class.
Definition: zgematrix.hpp:3
(DO NOT USE) Smart-temporary Complex Double-precision General Dence Matrix Class
Definition: _zgematrix.hpp:3
void destroy() const
void write(const char *) const
friend void idamax(CPPL_INT &, CPPL_INT &, const _zgematrix &)
Complex Double-precision Hermitian Sparse Matrix Class.
Definition: zhsmatrix.hpp:3
Complex Double-precision General Band Matrix Class.
Definition: zgbmatrix.hpp:3
void nullify() const
friend std::ostream & operator<<(std::ostream &, const zgematrix &)
friend _zgematrix conj(const _zgematrix &)
comple * array
1D array to store matrix data
Definition: _zgematrix.hpp:11
(DO NOT USE) Smart-temporary Complex Double-precision General Band Matrix Class
Definition: _zgbmatrix.hpp:3
friend comple damax(const _zgematrix &)
Complex Double-precision Hermitian Matrix Class [l-type (UPLO=l) Strage].
Definition: zhematrix.hpp:4
friend const _zgematrix & operator+(const _zgematrix &)
friend _zgematrix operator-(const _zgematrix &)
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 operator/(const _zgematrix &, const double &)
(DO NOT USE) Smart-temporary Complex Double-precision Hermitian Sparse Matrix Class ...
Definition: _zhsmatrix.hpp:3
CPPL_INT n
matrix column size
Definition: _zgematrix.hpp:10
comple ** darray
array of pointers of column head addresses
Definition: _zgematrix.hpp:12