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