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&);