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;