Menu

[r108]: / trunk / include / _dssmatrix- / _dssmatrix.hpp  Maximize  Restore  History

Download this file

134 lines (109 with data), 6.3 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
//=============================================================================
//! (DO NOT USE) Smart-temporary Real Double-precision Symmetric Sparse Matrix Class
class _dssmatrix
{
public:
//// objects ////
mutable long N; //!< matrix row and column size
mutable std::vector<dcomponent> Data; //!< matrix data
mutable std::vector< std::vector< std::pair<long,long> > > Line; //!< vector of vector to store the entry information of component for each row and column
//// const references ////
long const& M; //!< matrix row and column size (readable)
//// constructor ////
inline _dssmatrix();
inline _dssmatrix(const _dssmatrix&);
inline ~_dssmatrix(); //destructor
//// cast ////
inline _zhsmatrix to_zhsmatrix() const;
inline _dgematrix to_dgematrix() const;
inline _dsymatrix to_dsymatrix() const;
inline _dgsmatrix to_dgsmatrix() const;
//// io ////
inline double operator()(const long&, const long&) const;//not return double&
inline friend std::ostream& operator<<(std::ostream&, const _dssmatrix&);
inline void write(const char *) const;
//// misc ////
inline void nullify() const;
inline void destroy() const;
//// calc ////
inline friend _dssmatrix t(const dssmatrix&);
inline friend void idamax(long&, long&, const dssmatrix&);
inline friend double damax(const dssmatrix&);
//// unary ////
inline friend const _dssmatrix& operator+(const _dssmatrix&);
inline friend _dssmatrix operator-(const _dssmatrix&);
//// + ////
inline friend _dssmatrix operator+(const dssmatrix&, const dssmatrix&);
inline friend _dssmatrix operator+(const dssmatrix&, const _dssmatrix&);
inline friend _dssmatrix operator+(const _dssmatrix&, const dssmatrix&);
inline friend _dssmatrix operator+(const _dssmatrix&, const _dssmatrix&);
inline friend _dgematrix operator+(const _dssmatrix&, const dgematrix&);
inline friend _dgematrix operator+(const _dssmatrix&, const _dgematrix&);
inline friend _dgematrix operator+(const _dgematrix&, const _dssmatrix&);
inline friend _dgematrix operator+(const dgematrix&, const _dssmatrix&);
inline friend _dgematrix operator+(const _dssmatrix&, const dgbmatrix&);
inline friend _dgematrix operator+(const _dssmatrix&, const _dgbmatrix&);
inline friend _dgematrix operator+(const _dgbmatrix&, const _dssmatrix&);
inline friend _dgematrix operator+(const dgbmatrix&, const _dssmatrix&);
inline friend _dgematrix operator+(const _dssmatrix&, const dsymatrix&);
inline friend _dgematrix operator+(const _dssmatrix&, const _dsymatrix&);
inline friend _dgematrix operator+(const _dsymatrix&, const _dssmatrix&);
inline friend _dgematrix operator+(const dsymatrix&, const _dssmatrix&);
//// - ////
inline friend _dssmatrix operator-(const dssmatrix&, const dssmatrix&);
inline friend _dssmatrix operator-(const dssmatrix&, const _dssmatrix&);
inline friend _dssmatrix operator-(const _dssmatrix&, const dssmatrix&);
inline friend _dssmatrix operator-(const _dssmatrix&, const _dssmatrix&);
inline friend _dgematrix operator-(const _dssmatrix&, const dgematrix&);
inline friend _dgematrix operator-(const _dssmatrix&, const _dgematrix&);
inline friend _dgematrix operator-(const _dgematrix&, const _dssmatrix&);
inline friend _dgematrix operator-(const dgematrix&, const _dssmatrix&);
inline friend _dgematrix operator-(const _dssmatrix&, const dgbmatrix&);
inline friend _dgematrix operator-(const _dssmatrix&, const _dgbmatrix&);
inline friend _dgematrix operator-(const _dgbmatrix&, const _dssmatrix&);
inline friend _dgematrix operator-(const dgbmatrix&, const _dssmatrix&);
inline friend _dgematrix operator-(const _dssmatrix&, const dsymatrix&);
inline friend _dgematrix operator-(const _dssmatrix&, const _dsymatrix&);
inline friend _dgematrix operator-(const _dsymatrix&, const _dssmatrix&);
inline friend _dgematrix operator-(const dsymatrix&, const _dssmatrix&);
//// * ////
inline friend _dgsmatrix operator*(const dssmatrix&, const dssmatrix&);
inline friend _dgsmatrix operator*(const dssmatrix&, const _dssmatrix&);
inline friend _dgsmatrix operator*(const _dssmatrix&, const dssmatrix&);
inline friend _dgsmatrix operator*(const _dssmatrix&, const _dssmatrix&);
inline friend _dgematrix operator*(const _dssmatrix&, const dgematrix&);
inline friend _dgematrix operator*(const _dssmatrix&, const _dgematrix&);
inline friend _dgematrix operator*(const _dgematrix&, const _dssmatrix&);
inline friend _dgematrix operator*(const dgematrix&, const _dssmatrix&);
inline friend _dgematrix operator*(const _dssmatrix&, const dgbmatrix&);
inline friend _dgematrix operator*(const _dssmatrix&, const _dgbmatrix&);
inline friend _dgematrix operator*(const _dgbmatrix&, const _dssmatrix&);
inline friend _dgematrix operator*(const dgbmatrix&, const _dssmatrix&);
inline friend _dgematrix operator*(const _dssmatrix&, const dsymatrix&);
inline friend _dgematrix operator*(const _dssmatrix&, const _dsymatrix&);
inline friend _dgematrix operator*(const _dsymatrix&, const _dssmatrix&);
inline friend _dgematrix operator*(const dsymatrix&, const _dssmatrix&);
inline friend _dcovector operator*(const dssmatrix&, const dcovector&);
inline friend _dcovector operator*(const dssmatrix&, const _dcovector&);
inline friend _drovector operator*(const drovector&, const _dssmatrix&);
inline friend _drovector operator*(const _drovector&, const _dssmatrix&);
inline friend _dssmatrix operator*(const dssmatrix&, const double&);
inline friend _dssmatrix operator*(const _dssmatrix&, const double&);
inline friend _dssmatrix operator*(const double&, const dssmatrix&);
inline friend _dssmatrix operator*(const double&, const _dssmatrix&);
//// / ////
inline friend _dssmatrix operator/(const dssmatrix&, const double&);
inline friend _dssmatrix operator/(const _dssmatrix&, const double&);
//// friend classes ////
friend class dgematrix;
friend class _dgematrix;
friend class dgbmatrix;
friend class _dgbmatrix;
friend class dsymatrix;
friend class _dsymatrix;
friend class dssmatrix;
friend class dcovector;
friend class _dcovector;
friend class drovector;
friend class _drovector;
};
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.