Mercurial > octave-libtiff
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; |