Mercurial > hg > octave-nkf
comparison liboctave/dSparse.h @ 10312:cbc402e64d83
untabify liboctave header files
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 11 Feb 2010 12:14:48 -0500 |
parents | 4c0cdbe0acca |
children | 99e9bae2d81e |
comparison
equal
deleted
inserted
replaced
10311:a217e1d74353 | 10312:cbc402e64d83 |
---|---|
71 explicit SparseMatrix (const Matrix& a) : MSparse<double> (a) { } | 71 explicit SparseMatrix (const Matrix& a) : MSparse<double> (a) { } |
72 | 72 |
73 explicit SparseMatrix (const NDArray& a) : MSparse<double> (a) { } | 73 explicit SparseMatrix (const NDArray& a) : MSparse<double> (a) { } |
74 | 74 |
75 explicit SparseMatrix (const Array<double> a, const Array<octave_idx_type>& r, | 75 explicit SparseMatrix (const Array<double> a, const Array<octave_idx_type>& r, |
76 const Array<octave_idx_type>& c, octave_idx_type nr = -1, | 76 const Array<octave_idx_type>& c, octave_idx_type nr = -1, |
77 octave_idx_type nc = -1, bool sum_terms = true) | 77 octave_idx_type nc = -1, bool sum_terms = true) |
78 : MSparse<double> (a, r, c, nr, nc, sum_terms) { } | 78 : MSparse<double> (a, r, c, nr, nc, sum_terms) { } |
79 | 79 |
80 explicit SparseMatrix (const Array<double> a, const Array<double>& r, | 80 explicit SparseMatrix (const Array<double> a, const Array<double>& r, |
81 const Array<double>& c, octave_idx_type nr = -1, | 81 const Array<double>& c, octave_idx_type nr = -1, |
82 octave_idx_type nc = -1, bool sum_terms = true) | 82 octave_idx_type nc = -1, bool sum_terms = true) |
83 : MSparse<double> (a, r, c, nr, nc, sum_terms) { } | 83 : MSparse<double> (a, r, c, nr, nc, sum_terms) { } |
84 | 84 |
85 explicit SparseMatrix (const DiagMatrix& a); | 85 explicit SparseMatrix (const DiagMatrix& a); |
86 | 86 |
87 explicit SparseMatrix (const PermMatrix& a); | 87 explicit SparseMatrix (const PermMatrix& a); |
110 | 110 |
111 SparseMatrix& insert (const SparseMatrix& a, const Array<octave_idx_type>& indx); | 111 SparseMatrix& insert (const SparseMatrix& a, const Array<octave_idx_type>& indx); |
112 | 112 |
113 SparseMatrix concat (const SparseMatrix& rb, const Array<octave_idx_type>& ra_idx); | 113 SparseMatrix concat (const SparseMatrix& rb, const Array<octave_idx_type>& ra_idx); |
114 SparseComplexMatrix concat (const SparseComplexMatrix& rb, | 114 SparseComplexMatrix concat (const SparseComplexMatrix& rb, |
115 const Array<octave_idx_type>& ra_idx); | 115 const Array<octave_idx_type>& ra_idx); |
116 | 116 |
117 friend OCTAVE_API SparseMatrix real (const SparseComplexMatrix& a); | 117 friend OCTAVE_API SparseMatrix real (const SparseComplexMatrix& a); |
118 friend OCTAVE_API SparseMatrix imag (const SparseComplexMatrix& a); | 118 friend OCTAVE_API SparseMatrix imag (const SparseComplexMatrix& a); |
119 | 119 |
120 friend OCTAVE_API SparseMatrix atan2 (const double& x, const SparseMatrix& y); | 120 friend OCTAVE_API SparseMatrix atan2 (const double& x, const SparseMatrix& y); |
133 | 133 |
134 ColumnVector column (octave_idx_type i) const; | 134 ColumnVector column (octave_idx_type i) const; |
135 | 135 |
136 private: | 136 private: |
137 SparseMatrix dinverse (MatrixType &mattyp, octave_idx_type& info, | 137 SparseMatrix dinverse (MatrixType &mattyp, octave_idx_type& info, |
138 double& rcond, const bool force = false, | 138 double& rcond, const bool force = false, |
139 const bool calccond = true) const; | 139 const bool calccond = true) const; |
140 | 140 |
141 SparseMatrix tinverse (MatrixType &mattyp, octave_idx_type& info, | 141 SparseMatrix tinverse (MatrixType &mattyp, octave_idx_type& info, |
142 double& rcond, const bool force = false, | 142 double& rcond, const bool force = false, |
143 const bool calccond = true) const; | 143 const bool calccond = true) const; |
144 | 144 |
145 public: | 145 public: |
146 SparseMatrix inverse (void) const; | 146 SparseMatrix inverse (void) const; |
147 SparseMatrix inverse (MatrixType& mattype) const; | 147 SparseMatrix inverse (MatrixType& mattype) const; |
148 SparseMatrix inverse (MatrixType& mattype, octave_idx_type& info) const; | 148 SparseMatrix inverse (MatrixType& mattype, octave_idx_type& info) const; |
149 SparseMatrix inverse (MatrixType& mattype, octave_idx_type& info, | 149 SparseMatrix inverse (MatrixType& mattype, octave_idx_type& info, |
150 double& rcond, int force = 0, int calc_cond = 1) const; | 150 double& rcond, int force = 0, int calc_cond = 1) const; |
151 | 151 |
152 DET determinant (void) const; | 152 DET determinant (void) const; |
153 DET determinant (octave_idx_type& info) const; | 153 DET determinant (octave_idx_type& info) const; |
154 DET determinant (octave_idx_type& info, double& rcond, int calc_cond = 1) const; | 154 DET determinant (octave_idx_type& info, double& rcond, int calc_cond = 1) const; |
155 | 155 |
156 private: | 156 private: |
157 // Diagonal matrix solvers | 157 // Diagonal matrix solvers |
158 Matrix dsolve (MatrixType &typ, const Matrix& b, octave_idx_type& info, | 158 Matrix dsolve (MatrixType &typ, const Matrix& b, octave_idx_type& info, |
159 double& rcond, solve_singularity_handler sing_handler, | 159 double& rcond, solve_singularity_handler sing_handler, |
160 bool calc_cond = false) const; | 160 bool calc_cond = false) const; |
161 | 161 |
162 ComplexMatrix dsolve (MatrixType &typ, const ComplexMatrix& b, | 162 ComplexMatrix dsolve (MatrixType &typ, const ComplexMatrix& b, |
163 octave_idx_type& info, double& rcond, | 163 octave_idx_type& info, double& rcond, |
164 solve_singularity_handler sing_handler, | 164 solve_singularity_handler sing_handler, |
165 bool calc_cond = false) const; | 165 bool calc_cond = false) const; |
166 | 166 |
167 SparseMatrix dsolve (MatrixType &typ, const SparseMatrix& b, | 167 SparseMatrix dsolve (MatrixType &typ, const SparseMatrix& b, |
168 octave_idx_type& info, double& rcond, | 168 octave_idx_type& info, double& rcond, |
169 solve_singularity_handler sing_handler, | 169 solve_singularity_handler sing_handler, |
170 bool calc_cond = false) const; | 170 bool calc_cond = false) const; |
171 | 171 |
172 SparseComplexMatrix dsolve (MatrixType &typ, const SparseComplexMatrix& b, | 172 SparseComplexMatrix dsolve (MatrixType &typ, const SparseComplexMatrix& b, |
173 octave_idx_type& info, double& rcond, | 173 octave_idx_type& info, double& rcond, |
174 solve_singularity_handler sing_handler, | 174 solve_singularity_handler sing_handler, |
175 bool calc_cond = false) const; | 175 bool calc_cond = false) const; |
176 | 176 |
177 // Upper triangular matrix solvers | 177 // Upper triangular matrix solvers |
178 Matrix utsolve (MatrixType &typ, const Matrix& b, octave_idx_type& info, | 178 Matrix utsolve (MatrixType &typ, const Matrix& b, octave_idx_type& info, |
179 double& rcond, solve_singularity_handler sing_handler, | 179 double& rcond, solve_singularity_handler sing_handler, |
180 bool calc_cond = false) const; | 180 bool calc_cond = false) const; |
181 | 181 |
182 ComplexMatrix utsolve (MatrixType &typ, const ComplexMatrix& b, | 182 ComplexMatrix utsolve (MatrixType &typ, const ComplexMatrix& b, |
183 octave_idx_type& info, double& rcond, | 183 octave_idx_type& info, double& rcond, |
184 solve_singularity_handler sing_handler, | 184 solve_singularity_handler sing_handler, |
185 bool calc_cond = false) const; | 185 bool calc_cond = false) const; |
186 | 186 |
187 SparseMatrix utsolve (MatrixType &typ, const SparseMatrix& b, | 187 SparseMatrix utsolve (MatrixType &typ, const SparseMatrix& b, |
188 octave_idx_type& info, double& rcond, | 188 octave_idx_type& info, double& rcond, |
189 solve_singularity_handler sing_handler, | 189 solve_singularity_handler sing_handler, |
190 bool calc_cond = false) const; | 190 bool calc_cond = false) const; |
191 | 191 |
192 SparseComplexMatrix utsolve (MatrixType &typ, const SparseComplexMatrix& b, | 192 SparseComplexMatrix utsolve (MatrixType &typ, const SparseComplexMatrix& b, |
193 octave_idx_type& info, double& rcond, | 193 octave_idx_type& info, double& rcond, |
194 solve_singularity_handler sing_handler, | 194 solve_singularity_handler sing_handler, |
195 bool calc_cond = false) const; | 195 bool calc_cond = false) const; |
196 | 196 |
197 // Lower triangular matrix solvers | 197 // Lower triangular matrix solvers |
198 Matrix ltsolve (MatrixType &typ, const Matrix& b, octave_idx_type& info, | 198 Matrix ltsolve (MatrixType &typ, const Matrix& b, octave_idx_type& info, |
199 double& rcond, solve_singularity_handler sing_handler, | 199 double& rcond, solve_singularity_handler sing_handler, |
200 bool calc_cond = false) const; | 200 bool calc_cond = false) const; |
201 | 201 |
202 ComplexMatrix ltsolve (MatrixType &typ, const ComplexMatrix& b, | 202 ComplexMatrix ltsolve (MatrixType &typ, const ComplexMatrix& b, |
203 octave_idx_type& info, double& rcond, | 203 octave_idx_type& info, double& rcond, |
204 solve_singularity_handler sing_handler, | 204 solve_singularity_handler sing_handler, |
205 bool calc_cond = false) const; | 205 bool calc_cond = false) const; |
206 | 206 |
207 SparseMatrix ltsolve (MatrixType &typ, const SparseMatrix& b, | 207 SparseMatrix ltsolve (MatrixType &typ, const SparseMatrix& b, |
208 octave_idx_type& info, double& rcond, | 208 octave_idx_type& info, double& rcond, |
209 solve_singularity_handler sing_handler, | 209 solve_singularity_handler sing_handler, |
210 bool calc_cond = false) const; | 210 bool calc_cond = false) const; |
211 | 211 |
212 SparseComplexMatrix ltsolve (MatrixType &typ, const SparseComplexMatrix& b, | 212 SparseComplexMatrix ltsolve (MatrixType &typ, const SparseComplexMatrix& b, |
213 octave_idx_type& info, double& rcond, | 213 octave_idx_type& info, double& rcond, |
214 solve_singularity_handler sing_handler, | 214 solve_singularity_handler sing_handler, |
215 bool calc_cond = false) const; | 215 bool calc_cond = false) const; |
216 | 216 |
217 // Tridiagonal matrix solvers | 217 // Tridiagonal matrix solvers |
218 Matrix trisolve (MatrixType &typ, const Matrix& b, octave_idx_type& info, | 218 Matrix trisolve (MatrixType &typ, const Matrix& b, octave_idx_type& info, |
219 double& rcond, solve_singularity_handler sing_handler, | 219 double& rcond, solve_singularity_handler sing_handler, |
220 bool calc_cond = false) const; | 220 bool calc_cond = false) const; |
221 | 221 |
222 ComplexMatrix trisolve (MatrixType &typ, const ComplexMatrix& b, | 222 ComplexMatrix trisolve (MatrixType &typ, const ComplexMatrix& b, |
223 octave_idx_type& info, double& rcond, | 223 octave_idx_type& info, double& rcond, |
224 solve_singularity_handler sing_handler, | 224 solve_singularity_handler sing_handler, |
225 bool calc_cond = false) const; | 225 bool calc_cond = false) const; |
226 | 226 |
227 SparseMatrix trisolve (MatrixType &typ, const SparseMatrix& b, | 227 SparseMatrix trisolve (MatrixType &typ, const SparseMatrix& b, |
228 octave_idx_type& info, double& rcond, | 228 octave_idx_type& info, double& rcond, |
229 solve_singularity_handler sing_handler, | 229 solve_singularity_handler sing_handler, |
230 bool calc_cond = false) const; | 230 bool calc_cond = false) const; |
231 | 231 |
232 SparseComplexMatrix trisolve (MatrixType &typ, const SparseComplexMatrix& b, | 232 SparseComplexMatrix trisolve (MatrixType &typ, const SparseComplexMatrix& b, |
233 octave_idx_type& info, double& rcond, | 233 octave_idx_type& info, double& rcond, |
234 solve_singularity_handler sing_handler, | 234 solve_singularity_handler sing_handler, |
235 bool calc_cond = false) const; | 235 bool calc_cond = false) const; |
236 | 236 |
237 // Banded matrix solvers (umfpack/cholesky) | 237 // Banded matrix solvers (umfpack/cholesky) |
238 Matrix bsolve (MatrixType &typ, const Matrix& b, octave_idx_type& info, | 238 Matrix bsolve (MatrixType &typ, const Matrix& b, octave_idx_type& info, |
239 double& rcond, solve_singularity_handler sing_handler, | 239 double& rcond, solve_singularity_handler sing_handler, |
240 bool calc_cond = false) const; | 240 bool calc_cond = false) const; |
241 | 241 |
242 ComplexMatrix bsolve (MatrixType &typ, const ComplexMatrix& b, | 242 ComplexMatrix bsolve (MatrixType &typ, const ComplexMatrix& b, |
243 octave_idx_type& info, double& rcond, | 243 octave_idx_type& info, double& rcond, |
244 solve_singularity_handler sing_handler, | 244 solve_singularity_handler sing_handler, |
245 bool calc_cond = false) const; | 245 bool calc_cond = false) const; |
246 | 246 |
247 SparseMatrix bsolve (MatrixType &typ, const SparseMatrix& b, | 247 SparseMatrix bsolve (MatrixType &typ, const SparseMatrix& b, |
248 octave_idx_type& info, double& rcond, | 248 octave_idx_type& info, double& rcond, |
249 solve_singularity_handler sing_handler, | 249 solve_singularity_handler sing_handler, |
250 bool calc_cond = false) const; | 250 bool calc_cond = false) const; |
251 | 251 |
252 SparseComplexMatrix bsolve (MatrixType &typ, const SparseComplexMatrix& b, | 252 SparseComplexMatrix bsolve (MatrixType &typ, const SparseComplexMatrix& b, |
253 octave_idx_type& info, double& rcond, | 253 octave_idx_type& info, double& rcond, |
254 solve_singularity_handler sing_handler, | 254 solve_singularity_handler sing_handler, |
255 bool calc_cond = false) const; | 255 bool calc_cond = false) const; |
256 | 256 |
257 // Full matrix solvers (umfpack/cholesky) | 257 // Full matrix solvers (umfpack/cholesky) |
258 void * factorize (octave_idx_type& err, double &rcond, Matrix &Control, | 258 void * factorize (octave_idx_type& err, double &rcond, Matrix &Control, |
259 Matrix &Info, solve_singularity_handler sing_handler, | 259 Matrix &Info, solve_singularity_handler sing_handler, |
260 bool calc_cond = false) const; | 260 bool calc_cond = false) const; |
261 | 261 |
262 Matrix fsolve (MatrixType &typ, const Matrix& b, octave_idx_type& info, | 262 Matrix fsolve (MatrixType &typ, const Matrix& b, octave_idx_type& info, |
263 double& rcond, solve_singularity_handler sing_handler, | 263 double& rcond, solve_singularity_handler sing_handler, |
264 bool calc_cond = false) const; | 264 bool calc_cond = false) const; |
265 | 265 |
266 ComplexMatrix fsolve (MatrixType &typ, const ComplexMatrix& b, | 266 ComplexMatrix fsolve (MatrixType &typ, const ComplexMatrix& b, |
267 octave_idx_type& info, double& rcond, | 267 octave_idx_type& info, double& rcond, |
268 solve_singularity_handler sing_handler, | 268 solve_singularity_handler sing_handler, |
269 bool calc_cond = false) const; | 269 bool calc_cond = false) const; |
270 | 270 |
271 SparseMatrix fsolve (MatrixType &typ, const SparseMatrix& b, | 271 SparseMatrix fsolve (MatrixType &typ, const SparseMatrix& b, |
272 octave_idx_type& info, double& rcond, | 272 octave_idx_type& info, double& rcond, |
273 solve_singularity_handler sing_handler, | 273 solve_singularity_handler sing_handler, |
274 bool calc_cond = false) const; | 274 bool calc_cond = false) const; |
275 | 275 |
276 SparseComplexMatrix fsolve (MatrixType &typ, const SparseComplexMatrix& b, | 276 SparseComplexMatrix fsolve (MatrixType &typ, const SparseComplexMatrix& b, |
277 octave_idx_type& info, double& rcond, | 277 octave_idx_type& info, double& rcond, |
278 solve_singularity_handler sing_handler, | 278 solve_singularity_handler sing_handler, |
279 bool calc_cond = false) const; | 279 bool calc_cond = false) const; |
280 | 280 |
281 public: | 281 public: |
282 // Generic interface to solver with no probing of type | 282 // Generic interface to solver with no probing of type |
283 Matrix solve (MatrixType &typ, const Matrix& b) const; | 283 Matrix solve (MatrixType &typ, const Matrix& b) const; |
284 Matrix solve (MatrixType &typ, const Matrix& b, octave_idx_type& info) const; | 284 Matrix solve (MatrixType &typ, const Matrix& b, octave_idx_type& info) const; |
285 Matrix solve (MatrixType &typ, const Matrix& b, octave_idx_type& info, | 285 Matrix solve (MatrixType &typ, const Matrix& b, octave_idx_type& info, |
286 double& rcond) const; | 286 double& rcond) const; |
287 Matrix solve (MatrixType &typ, const Matrix& b, octave_idx_type& info, | 287 Matrix solve (MatrixType &typ, const Matrix& b, octave_idx_type& info, |
288 double& rcond, solve_singularity_handler sing_handler, | 288 double& rcond, solve_singularity_handler sing_handler, |
289 bool singular_fallback = true) const; | 289 bool singular_fallback = true) const; |
290 | 290 |
291 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b) const; | 291 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b) const; |
292 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b, | 292 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b, |
293 octave_idx_type& info) const; | 293 octave_idx_type& info) const; |
294 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b, | 294 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b, |
295 octave_idx_type& info, double& rcond) const; | 295 octave_idx_type& info, double& rcond) const; |
296 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b, | 296 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b, |
297 octave_idx_type& info, double& rcond, | 297 octave_idx_type& info, double& rcond, |
298 solve_singularity_handler sing_handler, | 298 solve_singularity_handler sing_handler, |
299 bool singular_fallback = true) const; | 299 bool singular_fallback = true) const; |
300 | 300 |
301 SparseMatrix solve (MatrixType &typ, const SparseMatrix& b) const; | 301 SparseMatrix solve (MatrixType &typ, const SparseMatrix& b) const; |
302 SparseMatrix solve (MatrixType &typ, const SparseMatrix& b, | 302 SparseMatrix solve (MatrixType &typ, const SparseMatrix& b, |
303 octave_idx_type& info) const; | 303 octave_idx_type& info) const; |
304 SparseMatrix solve (MatrixType &typ, const SparseMatrix& b, | 304 SparseMatrix solve (MatrixType &typ, const SparseMatrix& b, |
305 octave_idx_type& info, double& rcond) const; | 305 octave_idx_type& info, double& rcond) const; |
306 SparseMatrix solve (MatrixType &typ, const SparseMatrix& b, | 306 SparseMatrix solve (MatrixType &typ, const SparseMatrix& b, |
307 octave_idx_type& info, double& rcond, | 307 octave_idx_type& info, double& rcond, |
308 solve_singularity_handler sing_handler, | 308 solve_singularity_handler sing_handler, |
309 bool singular_fallback = true) const; | 309 bool singular_fallback = true) const; |
310 | 310 |
311 SparseComplexMatrix solve (MatrixType &typ, | 311 SparseComplexMatrix solve (MatrixType &typ, |
312 const SparseComplexMatrix& b) const; | 312 const SparseComplexMatrix& b) const; |
313 SparseComplexMatrix solve (MatrixType &typ, const SparseComplexMatrix& b, | 313 SparseComplexMatrix solve (MatrixType &typ, const SparseComplexMatrix& b, |
314 octave_idx_type& info) const; | 314 octave_idx_type& info) const; |
315 SparseComplexMatrix solve (MatrixType &typ, const SparseComplexMatrix& b, | 315 SparseComplexMatrix solve (MatrixType &typ, const SparseComplexMatrix& b, |
316 octave_idx_type& info, double& rcond) const; | 316 octave_idx_type& info, double& rcond) const; |
317 SparseComplexMatrix solve (MatrixType &typ, const SparseComplexMatrix& b, | 317 SparseComplexMatrix solve (MatrixType &typ, const SparseComplexMatrix& b, |
318 octave_idx_type& info, double& rcond, | 318 octave_idx_type& info, double& rcond, |
319 solve_singularity_handler sing_handler, | 319 solve_singularity_handler sing_handler, |
320 bool singular_fallabck = true) const; | 320 bool singular_fallabck = true) const; |
321 | 321 |
322 ColumnVector solve (MatrixType &typ, const ColumnVector& b) const; | 322 ColumnVector solve (MatrixType &typ, const ColumnVector& b) const; |
323 ColumnVector solve (MatrixType &typ, const ColumnVector& b, | 323 ColumnVector solve (MatrixType &typ, const ColumnVector& b, |
324 octave_idx_type& info) const; | 324 octave_idx_type& info) const; |
325 ColumnVector solve (MatrixType &typ, const ColumnVector& b, | 325 ColumnVector solve (MatrixType &typ, const ColumnVector& b, |
326 octave_idx_type& info, double& rcond) const; | 326 octave_idx_type& info, double& rcond) const; |
327 ColumnVector solve (MatrixType &typ, const ColumnVector& b, | 327 ColumnVector solve (MatrixType &typ, const ColumnVector& b, |
328 octave_idx_type& info, double& rcond, | 328 octave_idx_type& info, double& rcond, |
329 solve_singularity_handler sing_handler) const; | 329 solve_singularity_handler sing_handler) const; |
330 | 330 |
331 ComplexColumnVector solve (MatrixType &typ, | 331 ComplexColumnVector solve (MatrixType &typ, |
332 const ComplexColumnVector& b) const; | 332 const ComplexColumnVector& b) const; |
333 ComplexColumnVector solve (MatrixType &typ, const ComplexColumnVector& b, | 333 ComplexColumnVector solve (MatrixType &typ, const ComplexColumnVector& b, |
334 octave_idx_type& info) const; | 334 octave_idx_type& info) const; |
335 ComplexColumnVector solve (MatrixType &typ, const ComplexColumnVector& b, | 335 ComplexColumnVector solve (MatrixType &typ, const ComplexColumnVector& b, |
336 octave_idx_type& info, double& rcond) const; | 336 octave_idx_type& info, double& rcond) const; |
337 ComplexColumnVector solve (MatrixType &typ, const ComplexColumnVector& b, | 337 ComplexColumnVector solve (MatrixType &typ, const ComplexColumnVector& b, |
338 octave_idx_type& info, double& rcond, | 338 octave_idx_type& info, double& rcond, |
339 solve_singularity_handler sing_handler) const; | 339 solve_singularity_handler sing_handler) const; |
340 | 340 |
341 // Generic interface to solver with probing of type | 341 // Generic interface to solver with probing of type |
342 Matrix solve (const Matrix& b) const; | 342 Matrix solve (const Matrix& b) const; |
343 Matrix solve (const Matrix& b, octave_idx_type& info) const; | 343 Matrix solve (const Matrix& b, octave_idx_type& info) const; |
344 Matrix solve (const Matrix& b, octave_idx_type& info, double& rcond) const; | 344 Matrix solve (const Matrix& b, octave_idx_type& info, double& rcond) const; |
345 Matrix solve (const Matrix& b, octave_idx_type& info, double& rcond, | 345 Matrix solve (const Matrix& b, octave_idx_type& info, double& rcond, |
346 solve_singularity_handler sing_handler) const; | 346 solve_singularity_handler sing_handler) const; |
347 | 347 |
348 ComplexMatrix solve (const ComplexMatrix& b) const; | 348 ComplexMatrix solve (const ComplexMatrix& b) const; |
349 ComplexMatrix solve (const ComplexMatrix& b, octave_idx_type& info) const; | 349 ComplexMatrix solve (const ComplexMatrix& b, octave_idx_type& info) const; |
350 ComplexMatrix solve (const ComplexMatrix& b, octave_idx_type& info, | 350 ComplexMatrix solve (const ComplexMatrix& b, octave_idx_type& info, |
351 double& rcond) const; | 351 double& rcond) const; |
352 ComplexMatrix solve (const ComplexMatrix& b, octave_idx_type& info, double& rcond, | 352 ComplexMatrix solve (const ComplexMatrix& b, octave_idx_type& info, double& rcond, |
353 solve_singularity_handler sing_handler) const; | 353 solve_singularity_handler sing_handler) const; |
354 | 354 |
355 SparseMatrix solve (const SparseMatrix& b) const; | 355 SparseMatrix solve (const SparseMatrix& b) const; |
356 SparseMatrix solve (const SparseMatrix& b, octave_idx_type& info) const; | 356 SparseMatrix solve (const SparseMatrix& b, octave_idx_type& info) const; |
357 SparseMatrix solve (const SparseMatrix& b, octave_idx_type& info, | 357 SparseMatrix solve (const SparseMatrix& b, octave_idx_type& info, |
358 double& rcond) const; | 358 double& rcond) const; |
359 SparseMatrix solve (const SparseMatrix& b, octave_idx_type& info, double& rcond, | 359 SparseMatrix solve (const SparseMatrix& b, octave_idx_type& info, double& rcond, |
360 solve_singularity_handler sing_handler) const; | 360 solve_singularity_handler sing_handler) const; |
361 | 361 |
362 SparseComplexMatrix solve (const SparseComplexMatrix& b) const; | 362 SparseComplexMatrix solve (const SparseComplexMatrix& b) const; |
363 SparseComplexMatrix solve (const SparseComplexMatrix& b, octave_idx_type& info) const; | 363 SparseComplexMatrix solve (const SparseComplexMatrix& b, octave_idx_type& info) const; |
364 SparseComplexMatrix solve (const SparseComplexMatrix& b, octave_idx_type& info, | 364 SparseComplexMatrix solve (const SparseComplexMatrix& b, octave_idx_type& info, |
365 double& rcond) const; | 365 double& rcond) const; |
366 SparseComplexMatrix solve (const SparseComplexMatrix& b, octave_idx_type& info, | 366 SparseComplexMatrix solve (const SparseComplexMatrix& b, octave_idx_type& info, |
367 double& rcond, | 367 double& rcond, |
368 solve_singularity_handler sing_handler) const; | 368 solve_singularity_handler sing_handler) const; |
369 | 369 |
370 ColumnVector solve (const ColumnVector& b) const; | 370 ColumnVector solve (const ColumnVector& b) const; |
371 ColumnVector solve (const ColumnVector& b, octave_idx_type& info) const; | 371 ColumnVector solve (const ColumnVector& b, octave_idx_type& info) const; |
372 ColumnVector solve (const ColumnVector& b, octave_idx_type& info, double& rcond) const; | 372 ColumnVector solve (const ColumnVector& b, octave_idx_type& info, double& rcond) const; |
373 ColumnVector solve (const ColumnVector& b, octave_idx_type& info, double& rcond, | 373 ColumnVector solve (const ColumnVector& b, octave_idx_type& info, double& rcond, |
374 solve_singularity_handler sing_handler) const; | 374 solve_singularity_handler sing_handler) const; |
375 | 375 |
376 ComplexColumnVector solve (const ComplexColumnVector& b) const; | 376 ComplexColumnVector solve (const ComplexColumnVector& b) const; |
377 ComplexColumnVector solve (const ComplexColumnVector& b, octave_idx_type& info) const; | 377 ComplexColumnVector solve (const ComplexColumnVector& b, octave_idx_type& info) const; |
378 ComplexColumnVector solve (const ComplexColumnVector& b, octave_idx_type& info, | 378 ComplexColumnVector solve (const ComplexColumnVector& b, octave_idx_type& info, |
379 double& rcond) const; | 379 double& rcond) const; |
380 ComplexColumnVector solve (const ComplexColumnVector& b, octave_idx_type& info, | 380 ComplexColumnVector solve (const ComplexColumnVector& b, octave_idx_type& info, |
381 double& rcond, | 381 double& rcond, |
382 solve_singularity_handler sing_handler) const; | 382 solve_singularity_handler sing_handler) const; |
383 | 383 |
384 // other operations | 384 // other operations |
385 | 385 |
386 bool any_element_is_negative (bool = false) const; | 386 bool any_element_is_negative (bool = false) const; |
387 bool any_element_is_nan (void) const; | 387 bool any_element_is_nan (void) const; |
435 extern OCTAVE_API SparseMatrix imag (const SparseComplexMatrix& a); | 435 extern OCTAVE_API SparseMatrix imag (const SparseComplexMatrix& a); |
436 | 436 |
437 // Other operators. | 437 // Other operators. |
438 | 438 |
439 extern OCTAVE_API SparseMatrix operator * (const SparseMatrix& a, | 439 extern OCTAVE_API SparseMatrix operator * (const SparseMatrix& a, |
440 const SparseMatrix& b); | 440 const SparseMatrix& b); |
441 extern OCTAVE_API Matrix operator * (const Matrix& a, | 441 extern OCTAVE_API Matrix operator * (const Matrix& a, |
442 const SparseMatrix& b); | 442 const SparseMatrix& b); |
443 extern OCTAVE_API Matrix mul_trans (const Matrix& a, | 443 extern OCTAVE_API Matrix mul_trans (const Matrix& a, |
444 const SparseMatrix& b); | 444 const SparseMatrix& b); |
445 extern OCTAVE_API Matrix operator * (const SparseMatrix& a, | 445 extern OCTAVE_API Matrix operator * (const SparseMatrix& a, |
446 const Matrix& b); | 446 const Matrix& b); |
447 extern OCTAVE_API Matrix trans_mul (const SparseMatrix& a, | 447 extern OCTAVE_API Matrix trans_mul (const SparseMatrix& a, |
448 const Matrix& b); | 448 const Matrix& b); |
449 | 449 |
450 extern OCTAVE_API SparseMatrix operator * (const DiagMatrix&, const SparseMatrix&); | 450 extern OCTAVE_API SparseMatrix operator * (const DiagMatrix&, const SparseMatrix&); |
451 extern OCTAVE_API SparseMatrix operator * (const SparseMatrix&, const DiagMatrix&); | 451 extern OCTAVE_API SparseMatrix operator * (const SparseMatrix&, const DiagMatrix&); |
452 | 452 |
453 extern OCTAVE_API SparseMatrix operator + (const DiagMatrix&, const SparseMatrix&); | 453 extern OCTAVE_API SparseMatrix operator + (const DiagMatrix&, const SparseMatrix&); |