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