CPPLapack
 All Classes Files Functions Variables Friends Pages
_dssmatrix.hpp
Go to the documentation of this file.
1 //=============================================================================
2 //! (DO NOT USE) Smart-temporary Real Double-precision Symmetric Sparse Matrix Class
3 class _dssmatrix
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<dcomponent> 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 _dssmatrix();
19  inline _dssmatrix(const _dssmatrix&);
20  inline ~_dssmatrix(); //destructor
21 
22  ///////////////////////////////////////////////
23  ////////////////// functions //////////////////
24  ///////////////////////////////////////////////
25  //////// cast ////////
26  inline _zhsmatrix to_zhsmatrix() const;
27  inline _dgematrix to_dgematrix() const;
28  inline _dsymatrix to_dsymatrix() const;
29  inline _dgsmatrix to_dgsmatrix() const;
30 
31  //////// io ////////
32  inline double operator()(const CPPL_INT&, const CPPL_INT&) const;//not return double&
33  inline friend std::ostream& operator<<(std::ostream&, const _dssmatrix&);
34  inline void write(const char *) const;
35 
36  //////// misc ////////
37  inline void nullify() const;
38  inline void destroy() const;
39 
40  //////// calc ////////
41  inline friend _dssmatrix t(const dssmatrix&);
42  inline friend void idamax(CPPL_INT&, CPPL_INT&, const dssmatrix&);
43  inline friend double damax(const dssmatrix&);
44 
45  ///////////////////////////////////////////////
46  ///////////// numerical operators /////////////
47  ///////////////////////////////////////////////
48  //////// unary ////////
49  inline friend const _dssmatrix& operator+(const _dssmatrix&);
50  inline friend _dssmatrix operator-(const _dssmatrix&);
51 
52  //////// + ////////
53  inline friend _dgematrix operator+(const _dssmatrix&, const dgematrix&);
54  inline friend _dgematrix operator+(const _dssmatrix&, const _dgematrix&);
55  inline friend _dgematrix operator+(const _dssmatrix&, const dsymatrix&);
56  inline friend _dgematrix operator+(const _dssmatrix&, const _dsymatrix&);
57  inline friend _dgematrix operator+(const _dssmatrix&, const dgbmatrix&);
58  inline friend _dgematrix operator+(const _dssmatrix&, const _dgbmatrix&);
59  inline friend _dgsmatrix operator+(const _dssmatrix&, const dgsmatrix&);
60  inline friend _dgsmatrix operator+(const _dssmatrix&, const _dgsmatrix&);
61  inline friend _dssmatrix operator+(const _dssmatrix&, const dssmatrix&);
62  inline friend _dssmatrix operator+(const _dssmatrix&, const _dssmatrix&);
63 
64  //////// - ////////
65  inline friend _dgematrix operator-(const _dssmatrix&, const dgematrix&);
66  inline friend _dgematrix operator-(const _dssmatrix&, const _dgematrix&);
67  inline friend _dgematrix operator-(const _dssmatrix&, const dsymatrix&);
68  inline friend _dgematrix operator-(const _dssmatrix&, const _dsymatrix&);
69  inline friend _dgematrix operator-(const _dssmatrix&, const dgbmatrix&);
70  inline friend _dgematrix operator-(const _dssmatrix&, const _dgbmatrix&);
71  inline friend _dgsmatrix operator-(const _dssmatrix&, const dgsmatrix&);
72  inline friend _dgsmatrix operator-(const _dssmatrix&, const _dgsmatrix&);
73  inline friend _dssmatrix operator-(const _dssmatrix&, const dssmatrix&);
74  inline friend _dssmatrix operator-(const _dssmatrix&, const _dssmatrix&);
75 
76  //////// * ////////
77  inline friend _dgematrix operator*(const _dssmatrix&, const dgematrix&);
78  inline friend _dgematrix operator*(const _dssmatrix&, const _dgematrix&);
79  inline friend _dgematrix operator*(const _dssmatrix&, const dsymatrix&);
80  inline friend _dgematrix operator*(const _dssmatrix&, const _dsymatrix&);
81  inline friend _dgematrix operator*(const _dssmatrix&, const dgbmatrix&);
82  inline friend _dgematrix operator*(const _dssmatrix&, const _dgbmatrix&);
83  inline friend _dgematrix operator*(const _dssmatrix&, const dgsmatrix&);
84  inline friend _dgematrix operator*(const _dssmatrix&, const _dgsmatrix&);
85  inline friend _dssmatrix operator*(const _dssmatrix&, const dssmatrix&);
86  inline friend _dssmatrix operator*(const _dssmatrix&, const _dssmatrix&);
87  inline friend _dssmatrix operator*(const _dssmatrix&, const double&);
88 
89  //////// / ////////
90  inline friend _dssmatrix operator/(const _dssmatrix&, const double&);
91 
92  //////// double ////////
93  inline friend _dssmatrix operator*(const double&, const _dssmatrix&);
94 };
Real Double-precision General Sparse Matrix Class.
Definition: dgsmatrix.hpp:3
std::vector< dcomponent > data
matrix data
Definition: _dssmatrix.hpp:12
(DO NOT USE) Smart-temporary Real Double-precision Symmetric Sparse Matrix Class
Definition: _dssmatrix.hpp:3
CPPL_INT const & m
matrix row size
Definition: _dssmatrix.hpp:10
_dgsmatrix to_dgsmatrix() const
_dgematrix to_dgematrix() const
Real Double-precision General Dence Matrix Class.
Definition: dgematrix.hpp:3
Real Double-precision Symmetric Matrix Class [l-type (UPLO=l) Strage].
Definition: dsymatrix.hpp:3
(DO NOT USE) Smart-temporary Real Double-precision General Sparse Matrix Class
Definition: _dgsmatrix.hpp:3
void write(const char *) const
friend std::ostream & operator<<(std::ostream &, const _dssmatrix &)
_dsymatrix to_dsymatrix() const
(DO NOT USE) Smart-temporary Real Double-precision General Dence Matrix Class
Definition: _dgematrix.hpp:3
friend const _dssmatrix & operator+(const _dssmatrix &)
friend _dssmatrix operator-(const _dssmatrix &)
Real Double-precision General Band Matrix Class.
Definition: dgbmatrix.hpp:3
friend void idamax(CPPL_INT &, CPPL_INT &, const dssmatrix &)
CPPL_INT n
matrix column size
Definition: _dssmatrix.hpp:11
friend _dgematrix operator*(const _dssmatrix &, const dgematrix &)
(DO NOT USE) Smart-temporary Real Double-precision General Band Matrix Class
Definition: _dgbmatrix.hpp:3
(DO NOT USE) Smart-temporary Real Double-precision Symmetric Matrix Class
Definition: _dsymatrix.hpp:3
friend _dssmatrix t(const dssmatrix &)
_zhsmatrix to_zhsmatrix() const
Real Double-precision Symmetric Sparse Matrix Class.
Definition: dssmatrix.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: _dssmatrix.hpp:13
void destroy() const
friend double damax(const dssmatrix &)
(DO NOT USE) Smart-temporary Complex Double-precision Hermitian Sparse Matrix Class ...
Definition: _zhsmatrix.hpp:3
void nullify() const
friend _dssmatrix operator/(const _dssmatrix &, const double &)
double operator()(const CPPL_INT &, const CPPL_INT &) const