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,