Menu

[r4]: / trunk / include / _zssmatrix- / _zssmatrix.hpp  Maximize  Restore  History

Download this file

135 lines (111 with data), 6.7 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
134
//=============================================================================
//! (DO NOT USE) Smart-temporary Complex Double-precision Sparse Matrix Class
class _zssmatrix
{
public:
//// objects ////
mutable long M; //!< matrix row size
mutable long N; //!< matrix column size
mutable long CAP; //!< the length of data arrays
mutable long VOL; //!< the number of non-zero components
mutable std::complex<double>* Array; //!< 1D array to store non-zero matrix data
mutable long* Indx; //!< 1D array to store the i-index of non-zero matrix components
mutable long* Jndx; //!< 1D array to store the j-index of non-zero matrix components
//// constructor ////
inline _zssmatrix();
inline _zssmatrix(const _zssmatrix&);
inline ~_zssmatrix(); //destructor
//// io ////
inline std::complex<double> operator()(const long&, const long&) const;
inline friend std::ostream& operator<<(std::ostream&, const _zssmatrix&);
inline void write(const char *) const;
//// misc ////
inline void destroy() const;
//// calc ////
inline friend _zssmatrix t(const zssmatrix&);
inline friend void idamax(long&, long&, const zssmatrix&);
inline friend std::complex<double> damax(const zssmatrix&);
//// unary ////
inline friend const _zssmatrix& operator+(const _zssmatrix&);
inline friend _zssmatrix operator-(const _zssmatrix&);
//// + ////
inline friend _zssmatrix operator+(const zssmatrix&, const zssmatrix&);
inline friend _zssmatrix operator+(const zssmatrix&, const _zssmatrix&);
inline friend _zssmatrix operator+(const _zssmatrix&, const zssmatrix&);
inline friend _zssmatrix operator+(const _zssmatrix&, const _zssmatrix&);
inline friend _zgematrix operator+(const _zssmatrix&, const zgematrix&);
inline friend _zgematrix operator+(const _zssmatrix&, const _zgematrix&);
inline friend _zgematrix operator+(const _zgematrix&, const _zssmatrix&);
inline friend _zgematrix operator+(const zgematrix&, const _zssmatrix&);
inline friend _zgematrix operator+(const _zssmatrix&, const zgbmatrix&);
inline friend _zgematrix operator+(const _zssmatrix&, const _zgbmatrix&);
inline friend _zgematrix operator+(const _zgbmatrix&, const _zssmatrix&);
inline friend _zgematrix operator+(const zgbmatrix&, const _zssmatrix&);
inline friend _zgematrix operator+(const _zssmatrix&, const zhematrix&);
inline friend _zgematrix operator+(const _zssmatrix&, const _zhematrix&);
inline friend _zgematrix operator+(const _zhematrix&, const _zssmatrix&);
inline friend _zgematrix operator+(const zhematrix&, const _zssmatrix&);
//// - ////
inline friend _zssmatrix operator-(const zssmatrix&, const zssmatrix&);
inline friend _zssmatrix operator-(const zssmatrix&, const _zssmatrix&);
inline friend _zssmatrix operator-(const _zssmatrix&, const zssmatrix&);
inline friend _zssmatrix operator-(const _zssmatrix&, const _zssmatrix&);
inline friend _zgematrix operator-(const _zssmatrix&, const zgematrix&);
inline friend _zgematrix operator-(const _zssmatrix&, const _zgematrix&);
inline friend _zgematrix operator-(const _zgematrix&, const _zssmatrix&);
inline friend _zgematrix operator-(const zgematrix&, const _zssmatrix&);
inline friend _zgematrix operator-(const _zssmatrix&, const zgbmatrix&);
inline friend _zgematrix operator-(const _zssmatrix&, const _zgbmatrix&);
inline friend _zgematrix operator-(const _zgbmatrix&, const _zssmatrix&);
inline friend _zgematrix operator-(const zgbmatrix&, const _zssmatrix&);
inline friend _zgematrix operator-(const _zssmatrix&, const zhematrix&);
inline friend _zgematrix operator-(const _zssmatrix&, const _zhematrix&);
inline friend _zgematrix operator-(const _zhematrix&, const _zssmatrix&);
inline friend _zgematrix operator-(const zhematrix&, const _zssmatrix&);
//// * ////
inline friend _zssmatrix operator*(const zssmatrix&, const zssmatrix&);
inline friend _zssmatrix operator*(const zssmatrix&, const _zssmatrix&);
inline friend _zssmatrix operator*(const _zssmatrix&, const zssmatrix&);
inline friend _zssmatrix operator*(const _zssmatrix&, const _zssmatrix&);
inline friend _zgematrix operator*(const _zssmatrix&, const zgematrix&);
inline friend _zgematrix operator*(const _zssmatrix&, const _zgematrix&);
inline friend _zgematrix operator*(const _zgematrix&, const _zssmatrix&);
inline friend _zgematrix operator*(const zgematrix&, const _zssmatrix&);
inline friend _zgematrix operator*(const _zssmatrix&, const zgbmatrix&);
inline friend _zgematrix operator*(const _zssmatrix&, const _zgbmatrix&);
inline friend _zgematrix operator*(const _zgbmatrix&, const _zssmatrix&);
inline friend _zgematrix operator*(const zgbmatrix&, const _zssmatrix&);
inline friend _zgematrix operator*(const _zssmatrix&, const zhematrix&);
inline friend _zgematrix operator*(const _zssmatrix&, const _zhematrix&);
inline friend _zgematrix operator*(const _zhematrix&, const _zssmatrix&);
inline friend _zgematrix operator*(const zhematrix&, const _zssmatrix&);
inline friend _zcovector operator*(const zssmatrix&, const zcovector&);
inline friend _zcovector operator*(const zssmatrix&, const _zcovector&);
inline friend _zrovector operator*(const zrovector&, const _zssmatrix&);
inline friend _zrovector operator*(const _zrovector&, const _zssmatrix&);
inline friend _zssmatrix operator*(const zssmatrix&, const double&);
inline friend _zssmatrix operator*(const _zssmatrix&, const double&);
inline friend _zssmatrix operator*(const double&, const zssmatrix&);
inline friend _zssmatrix operator*(const double&, const _zssmatrix&);
inline friend _zssmatrix operator*(const zssmatrix&, const std::complex<double>&);
inline friend _zssmatrix operator*(const _zssmatrix&, const std::complex<double>&);
inline friend _zssmatrix operator*(const std::complex<double>&, const zssmatrix&);
inline friend _zssmatrix operator*(const std::complex<double>&, const _zssmatrix&);
//// / ////
inline friend _zssmatrix operator/(const zssmatrix&, const double&);
inline friend _zssmatrix operator/(const _zssmatrix&, const double&);
inline friend _zssmatrix operator/(const zssmatrix&, const std::complex<double>&);
inline friend _zssmatrix operator/(const _zssmatrix&, const std::complex<double>&);
//// friend classes ////
friend class zgematrix;
friend class _zgematrix;
friend class zgbmatrix;
friend class _zgbmatrix;
friend class zhematrix;
friend class _zhematrix;
friend class zssmatrix;
friend class zcovector;
friend class _zcovector;
friend class zrovector;
friend class _zrovector;
};
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.