comparison liboctave/CDiagMatrix.h @ 1205:8302fab9fe24

[project @ 1995-04-04 02:05:01 by jwe]
author jwe
date Tue, 04 Apr 1995 02:05:01 +0000
parents 18933dbd5e43
children 0bf4d2b7def4
comparison
equal deleted inserted replaced
1204:68d147abe7ca 1205:8302fab9fe24
35 35
36 extern "C++" { 36 extern "C++" {
37 37
38 class ComplexDiagMatrix : public DiagArray<Complex> 38 class ComplexDiagMatrix : public DiagArray<Complex>
39 { 39 {
40 friend DiagMatrix;
41
42 public: 40 public:
43 41
44 ComplexDiagMatrix (void) : DiagArray<Complex> () { } 42 ComplexDiagMatrix (void) : DiagArray<Complex> () { }
45 ComplexDiagMatrix (int n) : DiagArray<Complex> (n) { } 43 ComplexDiagMatrix (int n) : DiagArray<Complex> (n) { }
46 ComplexDiagMatrix (int n, const Complex& val) 44 ComplexDiagMatrix (int n, const Complex& val)
55 : DiagArray<Complex> (a) { } 53 : DiagArray<Complex> (a) { }
56 ComplexDiagMatrix (const DiagMatrix& a); 54 ComplexDiagMatrix (const DiagMatrix& a);
57 ComplexDiagMatrix (const DiagArray<Complex>& a) 55 ComplexDiagMatrix (const DiagArray<Complex>& a)
58 : DiagArray<Complex> (a) { } 56 : DiagArray<Complex> (a) { }
59 ComplexDiagMatrix (const ComplexDiagMatrix& a) : DiagArray<Complex> (a) { } 57 ComplexDiagMatrix (const ComplexDiagMatrix& a) : DiagArray<Complex> (a) { }
60 // ComplexDiagMatrix (const Complex& a) : DiagArray<Complex> (1, a) { }
61 58
62 ComplexDiagMatrix& operator = (const ComplexDiagMatrix& a) 59 ComplexDiagMatrix& operator = (const ComplexDiagMatrix& a)
63 { 60 {
64 DiagArray<Complex>::operator = (a); 61 DiagArray<Complex>::operator = (a);
65 return *this; 62 return *this;
66 } 63 }
67
68 // operator DiagArray<Complex>& () const { return *this; }
69 64
70 int operator == (const ComplexDiagMatrix& a) const; 65 int operator == (const ComplexDiagMatrix& a) const;
71 int operator != (const ComplexDiagMatrix& a) const; 66 int operator != (const ComplexDiagMatrix& a) const;
72 67
73 ComplexDiagMatrix& fill (double val); 68 ComplexDiagMatrix& fill (double val);
84 ComplexDiagMatrix& fill (const ComplexRowVector& a, int beg); 79 ComplexDiagMatrix& fill (const ComplexRowVector& a, int beg);
85 80
86 ComplexDiagMatrix hermitian (void) const; // complex conjugate transpose 81 ComplexDiagMatrix hermitian (void) const; // complex conjugate transpose
87 ComplexDiagMatrix transpose (void) const; 82 ComplexDiagMatrix transpose (void) const;
88 83
89 friend DiagMatrix real (const ComplexDiagMatrix& a);
90 friend DiagMatrix imag (const ComplexDiagMatrix& a);
91 friend ComplexDiagMatrix conj (const ComplexDiagMatrix& a); 84 friend ComplexDiagMatrix conj (const ComplexDiagMatrix& a);
92 85
93 // resize is the destructive analog for this one 86 // resize is the destructive analog for this one
94 87
95 ComplexMatrix extract (int r1, int c1, int r2, int c2) const; 88 ComplexMatrix extract (int r1, int c1, int r2, int c2) const;
111 ComplexDiagMatrix& operator -= (const DiagMatrix& a); 104 ComplexDiagMatrix& operator -= (const DiagMatrix& a);
112 105
113 ComplexDiagMatrix& operator += (const ComplexDiagMatrix& a); 106 ComplexDiagMatrix& operator += (const ComplexDiagMatrix& a);
114 ComplexDiagMatrix& operator -= (const ComplexDiagMatrix& a); 107 ComplexDiagMatrix& operator -= (const ComplexDiagMatrix& a);
115 108
116 // diagonal matrix by scalar -> matrix operations
117
118 friend ComplexMatrix operator + (const ComplexDiagMatrix& a, double s);
119 friend ComplexMatrix operator - (const ComplexDiagMatrix& a, double s);
120
121 friend ComplexMatrix operator + (const ComplexDiagMatrix& a,
122 const Complex& s);
123 friend ComplexMatrix operator - (const ComplexDiagMatrix& a,
124 const Complex& s);
125
126 // diagonal matrix by scalar -> diagonal matrix operations 109 // diagonal matrix by scalar -> diagonal matrix operations
127 110
128 friend ComplexDiagMatrix operator * (const ComplexDiagMatrix& a, double s); 111 friend ComplexDiagMatrix operator * (const ComplexDiagMatrix& a, double s);
129 friend ComplexDiagMatrix operator / (const ComplexDiagMatrix& a, double s); 112 friend ComplexDiagMatrix operator / (const ComplexDiagMatrix& a, double s);
130 113
131 // scalar by diagonal matrix -> matrix operations 114 friend ComplexDiagMatrix operator * (const DiagMatrix& a, const Complex& s);
132 115 friend ComplexDiagMatrix operator / (const DiagMatrix& a, const Complex& s);
133 friend ComplexMatrix operator + (double s, const ComplexDiagMatrix& a);
134 friend ComplexMatrix operator - (double s, const ComplexDiagMatrix& a);
135
136 friend ComplexMatrix operator + (const Complex& s,
137 const ComplexDiagMatrix& a);
138 friend ComplexMatrix operator - (const Complex& s,
139 const ComplexDiagMatrix& a);
140 116
141 // scalar by diagonal matrix -> diagonal matrix operations 117 // scalar by diagonal matrix -> diagonal matrix operations
142 118
143 friend ComplexDiagMatrix operator * (double s, const ComplexDiagMatrix& a); 119 friend ComplexDiagMatrix operator * (double s, const ComplexDiagMatrix& a);
144 120
145 // diagonal matrix by column vector -> column vector operations 121 friend ComplexDiagMatrix operator * (const Complex& s, const DiagMatrix& a);
146
147 friend ComplexColumnVector operator * (const ComplexDiagMatrix& a,
148 const ColumnVector& b);
149
150 friend ComplexColumnVector operator * (const ComplexDiagMatrix& a,
151 const ComplexColumnVector& b);
152 122
153 // diagonal matrix by diagonal matrix -> diagonal matrix operations 123 // diagonal matrix by diagonal matrix -> diagonal matrix operations
154 124
155 friend ComplexDiagMatrix operator * (const ComplexDiagMatrix& a, 125 friend ComplexDiagMatrix operator * (const ComplexDiagMatrix& a,
156 const ComplexDiagMatrix& b); 126 const ComplexDiagMatrix& b);
160 friend ComplexDiagMatrix operator - (const ComplexDiagMatrix& a, 130 friend ComplexDiagMatrix operator - (const ComplexDiagMatrix& a,
161 const DiagMatrix& b); 131 const DiagMatrix& b);
162 friend ComplexDiagMatrix operator * (const ComplexDiagMatrix& a, 132 friend ComplexDiagMatrix operator * (const ComplexDiagMatrix& a,
163 const DiagMatrix& b); 133 const DiagMatrix& b);
164 134
135 friend ComplexDiagMatrix operator + (const DiagMatrix& a,
136 const ComplexDiagMatrix& b);
137 friend ComplexDiagMatrix operator - (const DiagMatrix& a,
138 const ComplexDiagMatrix& b);
139 friend ComplexDiagMatrix operator * (const DiagMatrix& a,
140 const ComplexDiagMatrix& b);
141
165 friend ComplexDiagMatrix product (const ComplexDiagMatrix& a, 142 friend ComplexDiagMatrix product (const ComplexDiagMatrix& a,
166 const DiagMatrix& b); 143 const DiagMatrix& b);
167 144
168 // diagonal matrix by matrix -> matrix operations 145 friend ComplexDiagMatrix product (const DiagMatrix& a,
169 146 const ComplexDiagMatrix& b);
170 friend ComplexMatrix operator + (const ComplexDiagMatrix& a,
171 const Matrix& b);
172 friend ComplexMatrix operator - (const ComplexDiagMatrix& a,
173 const Matrix& b);
174 friend ComplexMatrix operator * (const ComplexDiagMatrix& a,
175 const Matrix& b);
176
177 friend ComplexMatrix operator + (const ComplexDiagMatrix& a,
178 const ComplexMatrix& b);
179 friend ComplexMatrix operator - (const ComplexDiagMatrix& a,
180 const ComplexMatrix& b);
181 friend ComplexMatrix operator * (const ComplexDiagMatrix& a,
182 const ComplexMatrix& b);
183 147
184 // other operations 148 // other operations
185 149
186 ComplexColumnVector diag (void) const; 150 ComplexColumnVector diag (void) const;
187 ComplexColumnVector diag (int k) const; 151 ComplexColumnVector diag (int k) const;