VERB_code_2.3
_dssmatrix.hpp
1 //=============================================================================
3 class _dssmatrix
4 {
5 public:
7  mutable long M;
8  mutable long N;
9  mutable long CAP;
10  mutable long VOL;
11  mutable double* Array;
12  mutable long* Indx;
13  mutable long* Jndx;
14 
16  inline _dssmatrix();
17  inline _dssmatrix(const _dssmatrix&);
18  inline ~_dssmatrix(); //destructor
19 
21  inline operator _zssmatrix();
22 
24  inline double operator()(const long&, const long&) const;
25  inline friend std::ostream& operator<<(std::ostream&, const _dssmatrix&);
26  inline void write(const char *) const;
27 
29  inline void destroy() const;
30 
32  inline friend _dssmatrix t(const dssmatrix&);
33  inline friend void idamax(long&, long&, const dssmatrix&);
34  inline friend double damax(const dssmatrix&);
35 
37  inline friend const _dssmatrix& operator+(const _dssmatrix&);
38  inline friend _dssmatrix operator-(const _dssmatrix&);
39 
41  inline friend _dssmatrix operator+(const dssmatrix&, const dssmatrix&);
42  inline friend _dssmatrix operator+(const dssmatrix&, const _dssmatrix&);
43  inline friend _dssmatrix operator+(const _dssmatrix&, const dssmatrix&);
44  inline friend _dssmatrix operator+(const _dssmatrix&, const _dssmatrix&);
45 
46  inline friend _dgematrix operator+(const _dssmatrix&, const dgematrix&);
47  inline friend _dgematrix operator+(const _dssmatrix&, const _dgematrix&);
48  inline friend _dgematrix operator+(const _dgematrix&, const _dssmatrix&);
49  inline friend _dgematrix operator+(const dgematrix&, const _dssmatrix&);
50 
51  inline friend _dgematrix operator+(const _dssmatrix&, const dgbmatrix&);
52  inline friend _dgematrix operator+(const _dssmatrix&, const _dgbmatrix&);
53  inline friend _dgematrix operator+(const _dgbmatrix&, const _dssmatrix&);
54  inline friend _dgematrix operator+(const dgbmatrix&, const _dssmatrix&);
55 
56  inline friend _dgematrix operator+(const _dssmatrix&, const dsymatrix&);
57  inline friend _dgematrix operator+(const _dssmatrix&, const _dsymatrix&);
58  inline friend _dgematrix operator+(const _dsymatrix&, const _dssmatrix&);
59  inline friend _dgematrix operator+(const dsymatrix&, const _dssmatrix&);
60 
62  inline friend _dssmatrix operator-(const dssmatrix&, const dssmatrix&);
63  inline friend _dssmatrix operator-(const dssmatrix&, const _dssmatrix&);
64  inline friend _dssmatrix operator-(const _dssmatrix&, const dssmatrix&);
65  inline friend _dssmatrix operator-(const _dssmatrix&, const _dssmatrix&);
66 
67  inline friend _dgematrix operator-(const _dssmatrix&, const dgematrix&);
68  inline friend _dgematrix operator-(const _dssmatrix&, const _dgematrix&);
69  inline friend _dgematrix operator-(const _dgematrix&, const _dssmatrix&);
70  inline friend _dgematrix operator-(const dgematrix&, const _dssmatrix&);
71 
72  inline friend _dgematrix operator-(const _dssmatrix&, const dgbmatrix&);
73  inline friend _dgematrix operator-(const _dssmatrix&, const _dgbmatrix&);
74  inline friend _dgematrix operator-(const _dgbmatrix&, const _dssmatrix&);
75  inline friend _dgematrix operator-(const dgbmatrix&, const _dssmatrix&);
76 
77  inline friend _dgematrix operator-(const _dssmatrix&, const dsymatrix&);
78  inline friend _dgematrix operator-(const _dssmatrix&, const _dsymatrix&);
79  inline friend _dgematrix operator-(const _dsymatrix&, const _dssmatrix&);
80  inline friend _dgematrix operator-(const dsymatrix&, const _dssmatrix&);
81 
83  inline friend _dssmatrix operator*(const dssmatrix&, const dssmatrix&);
84  inline friend _dssmatrix operator*(const dssmatrix&, const _dssmatrix&);
85  inline friend _dssmatrix operator*(const _dssmatrix&, const dssmatrix&);
86  inline friend _dssmatrix operator*(const _dssmatrix&, const _dssmatrix&);
87 
88  inline friend _dgematrix operator*(const _dssmatrix&, const dgematrix&);
89  inline friend _dgematrix operator*(const _dssmatrix&, const _dgematrix&);
90  inline friend _dgematrix operator*(const _dgematrix&, const _dssmatrix&);
91  inline friend _dgematrix operator*(const dgematrix&, const _dssmatrix&);
92 
93  inline friend _dgematrix operator*(const _dssmatrix&, const dgbmatrix&);
94  inline friend _dgematrix operator*(const _dssmatrix&, const _dgbmatrix&);
95  inline friend _dgematrix operator*(const _dgbmatrix&, const _dssmatrix&);
96  inline friend _dgematrix operator*(const dgbmatrix&, const _dssmatrix&);
97 
98  inline friend _dgematrix operator*(const _dssmatrix&, const dsymatrix&);
99  inline friend _dgematrix operator*(const _dssmatrix&, const _dsymatrix&);
100  inline friend _dgematrix operator*(const _dsymatrix&, const _dssmatrix&);
101  inline friend _dgematrix operator*(const dsymatrix&, const _dssmatrix&);
102 
103  inline friend _dcovector operator*(const dssmatrix&, const dcovector&);
104  inline friend _dcovector operator*(const dssmatrix&, const _dcovector&);
105 
106  inline friend _drovector operator*(const drovector&, const _dssmatrix&);
107  inline friend _drovector operator*(const _drovector&, const _dssmatrix&);
108 
109  inline friend _dssmatrix operator*(const dssmatrix&, const double&);
110  inline friend _dssmatrix operator*(const _dssmatrix&, const double&);
111  inline friend _dssmatrix operator*(const double&, const dssmatrix&);
112  inline friend _dssmatrix operator*(const double&, const _dssmatrix&);
113 
115  inline friend _dssmatrix operator/(const dssmatrix&, const double&);
116  inline friend _dssmatrix operator/(const _dssmatrix&, const double&);
117 
119  friend class dgematrix;
120  friend class _dgematrix;
121  friend class dgbmatrix;
122  friend class _dgbmatrix;
123  friend class dsymatrix;
124  friend class _dsymatrix;
125  friend class dssmatrix;
126  friend class dcovector;
127  friend class _dcovector;
128  friend class drovector;
129  friend class _drovector;
130 };
friend _dssmatrix operator/(const dssmatrix &, const double &)
Definition: dssmatrix-double.hpp:51
(DO NOT USE) Smart-temporary Complex Double-precision Sparse Matrix Class
Definition: _zssmatrix.hpp:3
friend void idamax(long &, long &, const dssmatrix &)
Definition: dssmatrix-calc.hpp:26
(DO NOT USE) Smart-temporary Real Double-precision Sparse Matrix Class
Definition: _dssmatrix.hpp:3
long M
matrix row size
Definition: _dssmatrix.hpp:7
long CAP
the length of data arrays
Definition: _dssmatrix.hpp:9
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
Real Double-precision Row Vector Class.
Definition: drovector.hpp:3
_dssmatrix()
Definition: _dssmatrix-constructor.hpp:3
~_dssmatrix()
Definition: _dssmatrix-constructor.hpp:52
long * Indx
1D array to store the i-index of non-zero matrix components
Definition: _dssmatrix.hpp:12
double * Array
1D array to store non-zero matrix data
Definition: _dssmatrix.hpp:11
(DO NOT USE) Smart-temporary Real Double-precision Row Vector Class
Definition: _drovector.hpp:3
friend _dssmatrix operator*(const dssmatrix &, const dssmatrix &)
Definition: dssmatrix-dssmatrix.hpp:168
(DO NOT USE) Smart-temporary Real Double-precision General Dence Matrix Class
Definition: _dgematrix.hpp:3
friend const _dssmatrix & operator+(const _dssmatrix &)
Definition: _dssmatrix-unary.hpp:3
friend _dssmatrix operator-(const _dssmatrix &)
Definition: _dssmatrix-unary.hpp:15
Real Double-precision General Band Matrix Class.
Definition: dgbmatrix.hpp:3
long VOL
the number of non-zero components
Definition: _dssmatrix.hpp:10
long * Jndx
1D array to store the j-index of non-zero matrix components
Definition: _dssmatrix.hpp:13
(DO NOT USE) Smart-temporary Real Double-precision General Band Matrix Class
Definition: _dgbmatrix.hpp:3
long N
matrix column size
Definition: _dssmatrix.hpp:8
(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
friend _dssmatrix t(const dssmatrix &)
Definition: dssmatrix-calc.hpp:3
Real Double-precision Sparse Matrix Class.
Definition: dssmatrix.hpp:3
void destroy() const
Definition: _dssmatrix-misc.hpp:3
(DO NOT USE) Smart-temporary Real Double-precision Column Vector Class
Definition: _dcovector.hpp:3
friend double damax(const dssmatrix &)
Definition: dssmatrix-calc.hpp:40
double operator()(const long &, const long &) const
Definition: _dssmatrix-io.hpp:3