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