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