Mercurial > hg > octave-lyh
comparison liboctave/CMatrix.h @ 9661:afcf852256d2
optimize / and '\ for triangular matrices
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Wed, 23 Sep 2009 10:00:16 +0200 |
parents | b29504415a2e |
children | 7e5b4de5fbfe |
comparison
equal
deleted
inserted
replaced
9660:0256e187d13b | 9661:afcf852256d2 |
---|---|
188 private: | 188 private: |
189 // Upper triangular matrix solvers | 189 // Upper triangular matrix solvers |
190 ComplexMatrix utsolve (MatrixType &typ, const ComplexMatrix& b, | 190 ComplexMatrix utsolve (MatrixType &typ, const ComplexMatrix& b, |
191 octave_idx_type& info, double& rcon, | 191 octave_idx_type& info, double& rcon, |
192 solve_singularity_handler sing_handler, | 192 solve_singularity_handler sing_handler, |
193 bool calc_cond = false) const; | 193 bool calc_cond = false, |
194 blas_trans_type transt = blas_no_trans) const; | |
194 | 195 |
195 // Lower triangular matrix solvers | 196 // Lower triangular matrix solvers |
196 ComplexMatrix ltsolve (MatrixType &typ, const ComplexMatrix& b, | 197 ComplexMatrix ltsolve (MatrixType &typ, const ComplexMatrix& b, |
197 octave_idx_type& info, double& rcon, | 198 octave_idx_type& info, double& rcon, |
198 solve_singularity_handler sing_handler, | 199 solve_singularity_handler sing_handler, |
199 bool calc_cond = false) const; | 200 bool calc_cond = false, blas_trans_type transt = blas_no_trans) const; |
200 | 201 |
201 // Full matrix solvers (umfpack/cholesky) | 202 // Full matrix solvers (umfpack/cholesky) |
202 ComplexMatrix fsolve (MatrixType &typ, const ComplexMatrix& b, | 203 ComplexMatrix fsolve (MatrixType &typ, const ComplexMatrix& b, |
203 octave_idx_type& info, double& rcon, | 204 octave_idx_type& info, double& rcon, |
204 solve_singularity_handler sing_handler, | 205 solve_singularity_handler sing_handler, |
211 octave_idx_type& info) const; | 212 octave_idx_type& info) const; |
212 ComplexMatrix solve (MatrixType &typ, const Matrix& b, | 213 ComplexMatrix solve (MatrixType &typ, const Matrix& b, |
213 octave_idx_type& info, double& rcon) const; | 214 octave_idx_type& info, double& rcon) const; |
214 ComplexMatrix solve (MatrixType &typ, const Matrix& b, octave_idx_type& info, | 215 ComplexMatrix solve (MatrixType &typ, const Matrix& b, octave_idx_type& info, |
215 double& rcon, solve_singularity_handler sing_handler, | 216 double& rcon, solve_singularity_handler sing_handler, |
216 bool singular_fallback = true) const; | 217 bool singular_fallback = true, |
218 blas_trans_type transt = blas_no_trans) const; | |
217 | 219 |
218 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b) const; | 220 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b) const; |
219 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b, | 221 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b, |
220 octave_idx_type& info) const; | 222 octave_idx_type& info) const; |
221 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b, | 223 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b, |
222 octave_idx_type& info, double& rcon) const; | 224 octave_idx_type& info, double& rcon) const; |
223 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b, | 225 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b, |
224 octave_idx_type& info, double& rcon, | 226 octave_idx_type& info, double& rcon, |
225 solve_singularity_handler sing_handler, | 227 solve_singularity_handler sing_handler, |
226 bool singular_fallback = true) const; | 228 bool singular_fallback = true, |
229 blas_trans_type transt = blas_no_trans) const; | |
227 | 230 |
228 ComplexColumnVector solve (MatrixType &typ, const ColumnVector& b) const; | 231 ComplexColumnVector solve (MatrixType &typ, const ColumnVector& b) const; |
229 ComplexColumnVector solve (MatrixType &typ, const ColumnVector& b, | 232 ComplexColumnVector solve (MatrixType &typ, const ColumnVector& b, |
230 octave_idx_type& info) const; | 233 octave_idx_type& info) const; |
231 ComplexColumnVector solve (MatrixType &typ, const ColumnVector& b, | 234 ComplexColumnVector solve (MatrixType &typ, const ColumnVector& b, |
232 octave_idx_type& info, double& rcon) const; | 235 octave_idx_type& info, double& rcon) const; |
233 ComplexColumnVector solve (MatrixType &typ, const ColumnVector& b, | 236 ComplexColumnVector solve (MatrixType &typ, const ColumnVector& b, |
234 octave_idx_type& info, double& rcon, | 237 octave_idx_type& info, double& rcon, |
235 solve_singularity_handler sing_handler) const; | 238 solve_singularity_handler sing_handler, |
239 blas_trans_type transt = blas_no_trans) const; | |
236 | 240 |
237 ComplexColumnVector solve (MatrixType &typ, | 241 ComplexColumnVector solve (MatrixType &typ, |
238 const ComplexColumnVector& b) const; | 242 const ComplexColumnVector& b) const; |
239 ComplexColumnVector solve (MatrixType &typ, const ComplexColumnVector& b, | 243 ComplexColumnVector solve (MatrixType &typ, const ComplexColumnVector& b, |
240 octave_idx_type& info) const; | 244 octave_idx_type& info) const; |
241 ComplexColumnVector solve (MatrixType &typ, const ComplexColumnVector& b, | 245 ComplexColumnVector solve (MatrixType &typ, const ComplexColumnVector& b, |
242 octave_idx_type& info, double& rcon) const; | 246 octave_idx_type& info, double& rcon) const; |
243 ComplexColumnVector solve (MatrixType &typ, const ComplexColumnVector& b, | 247 ComplexColumnVector solve (MatrixType &typ, const ComplexColumnVector& b, |
244 octave_idx_type& info, double& rcon, | 248 octave_idx_type& info, double& rcon, |
245 solve_singularity_handler sing_handler) const; | 249 solve_singularity_handler sing_handler, |
250 blas_trans_type transt = blas_no_trans) const; | |
246 | 251 |
247 // Generic interface to solver with probing of type | 252 // Generic interface to solver with probing of type |
248 ComplexMatrix solve (const Matrix& b) const; | 253 ComplexMatrix solve (const Matrix& b) const; |
249 ComplexMatrix solve (const Matrix& b, octave_idx_type& info) const; | 254 ComplexMatrix solve (const Matrix& b, octave_idx_type& info) const; |
250 ComplexMatrix solve (const Matrix& b, octave_idx_type& info, double& rcon) const; | 255 ComplexMatrix solve (const Matrix& b, octave_idx_type& info, double& rcon) const; |
251 ComplexMatrix solve (const Matrix& b, octave_idx_type& info, double& rcon, | 256 ComplexMatrix solve (const Matrix& b, octave_idx_type& info, double& rcon, |
252 solve_singularity_handler sing_handler) const; | 257 solve_singularity_handler sing_handler, |
258 blas_trans_type transt = blas_no_trans) const; | |
253 | 259 |
254 ComplexMatrix solve (const ComplexMatrix& b) const; | 260 ComplexMatrix solve (const ComplexMatrix& b) const; |
255 ComplexMatrix solve (const ComplexMatrix& b, octave_idx_type& info) const; | 261 ComplexMatrix solve (const ComplexMatrix& b, octave_idx_type& info) const; |
256 ComplexMatrix solve (const ComplexMatrix& b, octave_idx_type& info, double& rcon) const; | 262 ComplexMatrix solve (const ComplexMatrix& b, octave_idx_type& info, double& rcon) const; |
257 ComplexMatrix solve (const ComplexMatrix& b, octave_idx_type& info, double& rcon, | 263 ComplexMatrix solve (const ComplexMatrix& b, octave_idx_type& info, double& rcon, |
258 solve_singularity_handler sing_handler) const; | 264 solve_singularity_handler sing_handler, |
265 blas_trans_type transt = blas_no_trans) const; | |
259 | 266 |
260 ComplexColumnVector solve (const ColumnVector& b) const; | 267 ComplexColumnVector solve (const ColumnVector& b) const; |
261 ComplexColumnVector solve (const ColumnVector& b, octave_idx_type& info) const; | 268 ComplexColumnVector solve (const ColumnVector& b, octave_idx_type& info) const; |
262 ComplexColumnVector solve (const ColumnVector& b, octave_idx_type& info, | 269 ComplexColumnVector solve (const ColumnVector& b, octave_idx_type& info, |
263 double& rcon) const; | 270 double& rcon) const; |
264 ComplexColumnVector solve (const ColumnVector& b, octave_idx_type& info, double& rcon, | 271 ComplexColumnVector solve (const ColumnVector& b, octave_idx_type& info, double& rcon, |
265 solve_singularity_handler sing_handler) const; | 272 solve_singularity_handler sing_handler, |
273 blas_trans_type transt = blas_no_trans) const; | |
266 | 274 |
267 ComplexColumnVector solve (const ComplexColumnVector& b) const; | 275 ComplexColumnVector solve (const ComplexColumnVector& b) const; |
268 ComplexColumnVector solve (const ComplexColumnVector& b, octave_idx_type& info) const; | 276 ComplexColumnVector solve (const ComplexColumnVector& b, octave_idx_type& info) const; |
269 ComplexColumnVector solve (const ComplexColumnVector& b, octave_idx_type& info, | 277 ComplexColumnVector solve (const ComplexColumnVector& b, octave_idx_type& info, |
270 double& rcon) const; | 278 double& rcon) const; |
271 ComplexColumnVector solve (const ComplexColumnVector& b, octave_idx_type& info, | 279 ComplexColumnVector solve (const ComplexColumnVector& b, octave_idx_type& info, |
272 double& rcon, | 280 double& rcon, solve_singularity_handler sing_handler, |
273 solve_singularity_handler sing_handler) const; | 281 blas_trans_type transt = blas_no_trans) const; |
274 | 282 |
275 ComplexMatrix lssolve (const Matrix& b) const; | 283 ComplexMatrix lssolve (const Matrix& b) const; |
276 ComplexMatrix lssolve (const Matrix& b, octave_idx_type& info) const; | 284 ComplexMatrix lssolve (const Matrix& b, octave_idx_type& info) const; |
277 ComplexMatrix lssolve (const Matrix& b, octave_idx_type& info, | 285 ComplexMatrix lssolve (const Matrix& b, octave_idx_type& info, |
278 octave_idx_type& rank) const; | 286 octave_idx_type& rank) const; |