My Project
_dgbmatrix.hpp
1 //=============================================================================
3 class _dgbmatrix
4 {
5 public:
7  mutable long M;
8  mutable long N;
9  mutable long KL;
10  mutable long KU;
11  mutable double* Array;
12  mutable double** Darray;
13 
15  inline _dgbmatrix();
16  inline _dgbmatrix(const _dgbmatrix&);
17  inline ~_dgbmatrix(); //destructor
18 
20  inline operator _zgbmatrix();
21 
23  inline double& operator()(const long&, const long&) const;
24  inline friend std::ostream& operator<<(std::ostream&, const _dgbmatrix&);
25  inline void write(const char *) const;
26 
28  inline void destroy() const;
29 
31  inline friend _dgbmatrix t(const _dgbmatrix&);
32  inline friend _dgematrix i(const _dgbmatrix&);
33 
35  inline friend const _dgbmatrix& operator+(const _dgbmatrix&);
36  inline friend _dgbmatrix operator-(const _dgbmatrix&);
37 
39  inline friend _dgbmatrix operator+(const dgbmatrix&, const dgbmatrix&);
40  inline friend _dgbmatrix operator+(const dgbmatrix&, const _dgbmatrix&);
41  inline friend _dgbmatrix operator+(const _dgbmatrix&, const dgbmatrix&);
42  inline friend _dgbmatrix operator+(const _dgbmatrix&, const _dgbmatrix&);
43 
44  inline friend _dgematrix operator+(const _dgbmatrix&, const dgematrix&);
45  inline friend _dgematrix operator+(const _dgbmatrix&, const _dgematrix&);
46  inline friend _dgematrix operator+(const dgematrix&, const _dgbmatrix&);
47  inline friend _dgematrix operator+(const _dgematrix&, const _dgbmatrix&);
48 
49  inline friend _dgematrix operator+(const _dgbmatrix&, const dsymatrix&);
50  inline friend _dgematrix operator+(const _dgbmatrix&, const _dsymatrix&);
51  inline friend _dgematrix operator+(const dsymatrix&, const _dgbmatrix&);
52  inline friend _dgematrix operator+(const _dsymatrix&, const _dgbmatrix&);
53 
55  inline friend _dgbmatrix operator-(const dgbmatrix&, const dgbmatrix&);
56  inline friend _dgbmatrix operator-(const dgbmatrix&, const _dgbmatrix&);
57  inline friend _dgbmatrix operator-(const _dgbmatrix&, const dgbmatrix&);
58  inline friend _dgbmatrix operator-(const _dgbmatrix&, const _dgbmatrix&);
59 
60  inline friend _dgematrix operator-(const _dgbmatrix&, const dgematrix&);
61  inline friend _dgematrix operator-(const _dgbmatrix&, const _dgematrix&);
62  inline friend _dgematrix operator-(const dgematrix&, const _dgbmatrix&);
63  inline friend _dgematrix operator-(const _dgematrix&, const _dgbmatrix&);
64 
65  inline friend _dgematrix operator-(const _dgbmatrix&, const dsymatrix&);
66  inline friend _dgematrix operator-(const _dgbmatrix&, const _dsymatrix&);
67  inline friend _dgematrix operator-(const dsymatrix&, const _dgbmatrix&);
68  inline friend _dgematrix operator-(const _dsymatrix&, const _dgbmatrix&);
69 
71  inline friend _dgbmatrix operator*(const dgbmatrix&, const dgbmatrix&);
72  inline friend _dgbmatrix operator*(const dgbmatrix&, const _dgbmatrix&);
73  inline friend _dgbmatrix operator*(const _dgbmatrix&, const dgbmatrix&);
74  inline friend _dgbmatrix operator*(const _dgbmatrix&, const _dgbmatrix&);
75 
76  inline friend _dgbmatrix operator*(const dgbmatrix&, const double&);
77  inline friend _dgbmatrix operator*(const _dgbmatrix&, const double&);
78  inline friend _dgbmatrix operator*(const double&, const dgbmatrix&);
79  inline friend _dgbmatrix operator*(const double&, const _dgbmatrix&);
80 
81  inline friend _dgematrix operator*(const _dgbmatrix&, const dgematrix&);
82  inline friend _dgematrix operator*(const _dgbmatrix&, const _dgematrix&);
83  inline friend _dgematrix operator*(const dgematrix&, const _dgbmatrix&);
84  inline friend _dgematrix operator*(const _dgematrix&, const _dgbmatrix&);
85 
86  inline friend _dgematrix operator*(const _dgbmatrix&, const dsymatrix&);
87  inline friend _dgematrix operator*(const _dgbmatrix&, const _dsymatrix&);
88  inline friend _dgematrix operator*(const dsymatrix&, const _dgbmatrix&);
89  inline friend _dgematrix operator*(const _dsymatrix&, const _dgbmatrix&);
90 
91  inline friend _dcovector operator*(const _dgbmatrix&, const dcovector&);
92  inline friend _dcovector operator*(const _dgbmatrix&, const _dcovector&);
93  inline friend _drovector operator*(const drovector&, const _dgbmatrix&);
94  inline friend _drovector operator*(const _drovector&, const _dgbmatrix&);
95 
97  inline friend _dgbmatrix operator/(const dgbmatrix&, const double&);
98  inline friend _dgbmatrix operator/(const _dgbmatrix&, const double&);
99 
101  friend class dgematrix;
102  friend class _dgematrix;
103  friend class dgbmatrix;
104  friend class dsymatrix;
105  friend class _dsymatrix;
106  friend class dcovector;
107  friend class _dcovector;
108  friend class drovector;
109  friend class _drovector;
110 };
double ** Darray
array of pointers of column head addresses
Definition: _dgbmatrix.hpp:12
friend _dgbmatrix t(const _dgbmatrix &)
Definition: _dgbmatrix-calc.hpp:3
friend _dgematrix i(const _dgbmatrix &)
Definition: _dgbmatrix-calc.hpp:23
long KL
lower band width
Definition: _dgbmatrix.hpp:9
long M
matrix row size
Definition: _dgbmatrix.hpp:7
void destroy() const
Definition: _dgbmatrix-misc.hpp:3
Real Double-precision General Dence Matrix Class.
Definition: dgematrix.hpp:3
long N
matrix column size
Definition: _dgbmatrix.hpp:8
Real Double-precision Symmetric Matrix Class [L-type (UPLO=L) Strage].
Definition: dsymatrix.hpp:3
friend _dgbmatrix operator-(const _dgbmatrix &)
Definition: _dgbmatrix-unary.hpp:15
Real Double-precision Row Vector Class.
Definition: drovector.hpp:3
double * Array
1D Array to store matrix data
Definition: _dgbmatrix.hpp:11
double & operator()(const long &, const long &) const
Definition: _dgbmatrix-io.hpp:3
(DO NOT USE) Smart-temporary Real Double-precision Row Vector Class
Definition: _drovector.hpp:3
(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
~_dgbmatrix()
Definition: _dgbmatrix-constructor.hpp:54
friend _dgbmatrix operator/(const dgbmatrix &, const double &)
Definition: dgbmatrix-double.hpp:50
(DO NOT USE) Smart-temporary Complex Double-precision General Band Matrix Class
Definition: _zgbmatrix.hpp:3
friend _dgbmatrix operator*(const dgbmatrix &, const dgbmatrix &)
Definition: dgbmatrix-dgbmatrix.hpp:228
(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
_dgbmatrix()
Definition: _dgbmatrix-constructor.hpp:3
(DO NOT USE) Smart-temporary Real Double-precision Column Vector Class
Definition: _dcovector.hpp:3
friend const _dgbmatrix & operator+(const _dgbmatrix &)
Definition: _dgbmatrix-unary.hpp:3
long KU
upper band width
Definition: _dgbmatrix.hpp:10