Mercurial > hg > octave-nkf
comparison liboctave/dMatrix.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 | 1dba57e9d08d |
comparison
equal
deleted
inserted
replaced
9660:0256e187d13b | 9661:afcf852256d2 |
---|---|
160 | 160 |
161 private: | 161 private: |
162 // Upper triangular matrix solvers | 162 // Upper triangular matrix solvers |
163 Matrix utsolve (MatrixType &typ, const Matrix& b, octave_idx_type& info, | 163 Matrix utsolve (MatrixType &typ, const Matrix& b, octave_idx_type& info, |
164 double& rcon, solve_singularity_handler sing_handler, | 164 double& rcon, solve_singularity_handler sing_handler, |
165 bool calc_cond = false) const; | 165 bool calc_cond = false, blas_trans_type transt = blas_no_trans) const; |
166 | 166 |
167 // Lower triangular matrix solvers | 167 // Lower triangular matrix solvers |
168 Matrix ltsolve (MatrixType &typ, const Matrix& b, octave_idx_type& info, | 168 Matrix ltsolve (MatrixType &typ, const Matrix& b, octave_idx_type& info, |
169 double& rcon, solve_singularity_handler sing_handler, | 169 double& rcon, solve_singularity_handler sing_handler, |
170 bool calc_cond = false) const; | 170 bool calc_cond = false, blas_trans_type transt = blas_no_trans) const; |
171 | 171 |
172 // Full matrix solvers (lu/cholesky) | 172 // Full matrix solvers (lu/cholesky) |
173 Matrix fsolve (MatrixType &typ, const Matrix& b, octave_idx_type& info, | 173 Matrix fsolve (MatrixType &typ, const Matrix& b, octave_idx_type& info, |
174 double& rcon, solve_singularity_handler sing_handler, | 174 double& rcon, solve_singularity_handler sing_handler, |
175 bool calc_cond = false) const; | 175 bool calc_cond = false) const; |
180 Matrix solve (MatrixType &typ, const Matrix& b, octave_idx_type& info) const; | 180 Matrix solve (MatrixType &typ, const Matrix& b, octave_idx_type& info) const; |
181 Matrix solve (MatrixType &typ, const Matrix& b, octave_idx_type& info, | 181 Matrix solve (MatrixType &typ, const Matrix& b, octave_idx_type& info, |
182 double& rcon) const; | 182 double& rcon) const; |
183 Matrix solve (MatrixType &typ, const Matrix& b, octave_idx_type& info, | 183 Matrix solve (MatrixType &typ, const Matrix& b, octave_idx_type& info, |
184 double& rcon, solve_singularity_handler sing_handler, | 184 double& rcon, solve_singularity_handler sing_handler, |
185 bool singular_fallback = true) const; | 185 bool singular_fallback = true, blas_trans_type transt = blas_no_trans) const; |
186 | 186 |
187 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b) const; | 187 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b) const; |
188 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b, | 188 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b, |
189 octave_idx_type& info) const; | 189 octave_idx_type& info) const; |
190 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b, | 190 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b, |
191 octave_idx_type& info, double& rcon) const; | 191 octave_idx_type& info, double& rcon) const; |
192 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b, | 192 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b, |
193 octave_idx_type& info, double& rcon, | 193 octave_idx_type& info, double& rcon, |
194 solve_singularity_handler sing_handler, | 194 solve_singularity_handler sing_handler, |
195 bool singular_fallback = true) const; | 195 bool singular_fallback = true, |
196 blas_trans_type transt = blas_no_trans) const; | |
196 | 197 |
197 ColumnVector solve (MatrixType &typ, const ColumnVector& b) const; | 198 ColumnVector solve (MatrixType &typ, const ColumnVector& b) const; |
198 ColumnVector solve (MatrixType &typ, const ColumnVector& b, | 199 ColumnVector solve (MatrixType &typ, const ColumnVector& b, |
199 octave_idx_type& info) const; | 200 octave_idx_type& info) const; |
200 ColumnVector solve (MatrixType &typ, const ColumnVector& b, | 201 ColumnVector solve (MatrixType &typ, const ColumnVector& b, |
201 octave_idx_type& info, double& rcon) const; | 202 octave_idx_type& info, double& rcon) const; |
202 ColumnVector solve (MatrixType &typ, const ColumnVector& b, | 203 ColumnVector solve (MatrixType &typ, const ColumnVector& b, |
203 octave_idx_type& info, double& rcon, | 204 octave_idx_type& info, double& rcon, |
204 solve_singularity_handler sing_handler) const; | 205 solve_singularity_handler sing_handler, |
206 blas_trans_type transt = blas_no_trans) const; | |
205 | 207 |
206 ComplexColumnVector solve (MatrixType &typ, | 208 ComplexColumnVector solve (MatrixType &typ, |
207 const ComplexColumnVector& b) const; | 209 const ComplexColumnVector& b) const; |
208 ComplexColumnVector solve (MatrixType &typ, const ComplexColumnVector& b, | 210 ComplexColumnVector solve (MatrixType &typ, const ComplexColumnVector& b, |
209 octave_idx_type& info) const; | 211 octave_idx_type& info) const; |
210 ComplexColumnVector solve (MatrixType &typ, const ComplexColumnVector& b, | 212 ComplexColumnVector solve (MatrixType &typ, const ComplexColumnVector& b, |
211 octave_idx_type& info, double& rcon) const; | 213 octave_idx_type& info, double& rcon) const; |
212 ComplexColumnVector solve (MatrixType &typ, const ComplexColumnVector& b, | 214 ComplexColumnVector solve (MatrixType &typ, const ComplexColumnVector& b, |
213 octave_idx_type& info, double& rcon, | 215 octave_idx_type& info, double& rcon, |
214 solve_singularity_handler sing_handler) const; | 216 solve_singularity_handler sing_handler, |
217 blas_trans_type transt = blas_no_trans) const; | |
215 | 218 |
216 // Generic interface to solver with probing of type | 219 // Generic interface to solver with probing of type |
217 Matrix solve (const Matrix& b) const; | 220 Matrix solve (const Matrix& b) const; |
218 Matrix solve (const Matrix& b, octave_idx_type& info) const; | 221 Matrix solve (const Matrix& b, octave_idx_type& info) const; |
219 Matrix solve (const Matrix& b, octave_idx_type& info, double& rcon) const; | 222 Matrix solve (const Matrix& b, octave_idx_type& info, double& rcon) const; |
220 Matrix solve (const Matrix& b, octave_idx_type& info, double& rcon, | 223 Matrix solve (const Matrix& b, octave_idx_type& info, double& rcon, |
221 solve_singularity_handler sing_handler) const; | 224 solve_singularity_handler sing_handler, |
225 blas_trans_type transt = blas_no_trans) const; | |
222 | 226 |
223 ComplexMatrix solve (const ComplexMatrix& b) const; | 227 ComplexMatrix solve (const ComplexMatrix& b) const; |
224 ComplexMatrix solve (const ComplexMatrix& b, octave_idx_type& info) const; | 228 ComplexMatrix solve (const ComplexMatrix& b, octave_idx_type& info) const; |
225 ComplexMatrix solve (const ComplexMatrix& b, octave_idx_type& info, double& rcon) const; | 229 ComplexMatrix solve (const ComplexMatrix& b, octave_idx_type& info, double& rcon) const; |
226 ComplexMatrix solve (const ComplexMatrix& b, octave_idx_type& info, double& rcon, | 230 ComplexMatrix solve (const ComplexMatrix& b, octave_idx_type& info, double& rcon, |
227 solve_singularity_handler sing_handler) const; | 231 solve_singularity_handler sing_handler, |
232 blas_trans_type transt = blas_no_trans) const; | |
228 | 233 |
229 ColumnVector solve (const ColumnVector& b) const; | 234 ColumnVector solve (const ColumnVector& b) const; |
230 ColumnVector solve (const ColumnVector& b, octave_idx_type& info) const; | 235 ColumnVector solve (const ColumnVector& b, octave_idx_type& info) const; |
231 ColumnVector solve (const ColumnVector& b, octave_idx_type& info, double& rcon) const; | 236 ColumnVector solve (const ColumnVector& b, octave_idx_type& info, double& rcon) const; |
232 ColumnVector solve (const ColumnVector& b, octave_idx_type& info, double& rcon, | 237 ColumnVector solve (const ColumnVector& b, octave_idx_type& info, double& rcon, |
233 solve_singularity_handler sing_handler) const; | 238 solve_singularity_handler sing_handler, |
239 blas_trans_type transt = blas_no_trans) const; | |
234 | 240 |
235 ComplexColumnVector solve (const ComplexColumnVector& b) const; | 241 ComplexColumnVector solve (const ComplexColumnVector& b) const; |
236 ComplexColumnVector solve (const ComplexColumnVector& b, octave_idx_type& info) const; | 242 ComplexColumnVector solve (const ComplexColumnVector& b, octave_idx_type& info) const; |
237 ComplexColumnVector solve (const ComplexColumnVector& b, octave_idx_type& info, | 243 ComplexColumnVector solve (const ComplexColumnVector& b, octave_idx_type& info, |
238 double& rcon) const; | 244 double& rcon) const; |
239 ComplexColumnVector solve (const ComplexColumnVector& b, octave_idx_type& info, | 245 ComplexColumnVector solve (const ComplexColumnVector& b, octave_idx_type& info, |
240 double& rcon, | 246 double& rcon, solve_singularity_handler sing_handler, |
241 solve_singularity_handler sing_handler) const; | 247 blas_trans_type transt = blas_no_trans) const; |
242 | 248 |
243 // Singular solvers | 249 // Singular solvers |
244 Matrix lssolve (const Matrix& b) const; | 250 Matrix lssolve (const Matrix& b) const; |
245 Matrix lssolve (const Matrix& b, octave_idx_type& info) const; | 251 Matrix lssolve (const Matrix& b, octave_idx_type& info) const; |
246 Matrix lssolve (const Matrix& b, octave_idx_type& info, | 252 Matrix lssolve (const Matrix& b, octave_idx_type& info, |