comparison liboctave/CMatrix.h @ 5785:6b9cec830d72

[project @ 2006-05-03 19:32:46 by dbateman]
author dbateman
date Wed, 03 May 2006 19:32:48 +0000
parents 34cda7d94c08
children cdef72fcd206
comparison
equal deleted inserted replaced
5784:70f7659d0fb9 5785:6b9cec830d72
24 #if !defined (octave_ComplexMatrix_h) 24 #if !defined (octave_ComplexMatrix_h)
25 #define octave_ComplexMatrix_h 1 25 #define octave_ComplexMatrix_h 1
26 26
27 #include "MArray2.h" 27 #include "MArray2.h"
28 #include "MDiagArray2.h" 28 #include "MDiagArray2.h"
29 #include "MatrixType.h"
29 30
30 #include "mx-defs.h" 31 #include "mx-defs.h"
31 #include "mx-op-defs.h" 32 #include "mx-op-defs.h"
32 #include "oct-cmplx.h" 33 #include "oct-cmplx.h"
33 34
148 149
149 ComplexDET determinant (void) const; 150 ComplexDET determinant (void) const;
150 ComplexDET determinant (octave_idx_type& info) const; 151 ComplexDET determinant (octave_idx_type& info) const;
151 ComplexDET determinant (octave_idx_type& info, double& rcond, int calc_cond = 1) const; 152 ComplexDET determinant (octave_idx_type& info, double& rcond, int calc_cond = 1) const;
152 153
154 private:
155 // Upper triangular matrix solvers
156 ComplexMatrix utsolve (MatrixType &typ, const ComplexMatrix& b,
157 octave_idx_type& info, double& rcond,
158 solve_singularity_handler sing_handler,
159 bool calc_cond = false) const;
160
161 // Lower triangular matrix solvers
162 ComplexMatrix ltsolve (MatrixType &typ, const ComplexMatrix& b,
163 octave_idx_type& info, double& rcond,
164 solve_singularity_handler sing_handler,
165 bool calc_cond = false) const;
166
167 // Full matrix solvers (umfpack/cholesky)
168 ComplexMatrix fsolve (MatrixType &typ, const ComplexMatrix& b,
169 octave_idx_type& info, double& rcond,
170 solve_singularity_handler sing_handler,
171 bool calc_cond = false) const;
172
173 public:
174 // Generic interface to solver with no probing of type
175 ComplexMatrix solve (MatrixType &typ, const Matrix& b) const;
176 ComplexMatrix solve (MatrixType &typ, const Matrix& b,
177 octave_idx_type& info) const;
178 ComplexMatrix solve (MatrixType &typ, const Matrix& b,
179 octave_idx_type& info, double& rcond) const;
180 ComplexMatrix solve (MatrixType &typ, const Matrix& b, octave_idx_type& info,
181 double& rcond, solve_singularity_handler sing_handler,
182 bool singular_fallback = true) const;
183
184 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b) const;
185 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b,
186 octave_idx_type& info) const;
187 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b,
188 octave_idx_type& info, double& rcond) const;
189 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b,
190 octave_idx_type& info, double& rcond,
191 solve_singularity_handler sing_handler,
192 bool singular_fallback = true) const;
193
194 ComplexColumnVector solve (MatrixType &typ, const ColumnVector& b) const;
195 ComplexColumnVector solve (MatrixType &typ, const ColumnVector& b,
196 octave_idx_type& info) const;
197 ComplexColumnVector solve (MatrixType &typ, const ColumnVector& b,
198 octave_idx_type& info, double& rcond) const;
199 ComplexColumnVector solve (MatrixType &typ, const ColumnVector& b,
200 octave_idx_type& info, double& rcond,
201 solve_singularity_handler sing_handler) const;
202
203 ComplexColumnVector solve (MatrixType &typ,
204 const ComplexColumnVector& b) const;
205 ComplexColumnVector solve (MatrixType &typ, const ComplexColumnVector& b,
206 octave_idx_type& info) const;
207 ComplexColumnVector solve (MatrixType &typ, const ComplexColumnVector& b,
208 octave_idx_type& info, double& rcond) const;
209 ComplexColumnVector solve (MatrixType &typ, const ComplexColumnVector& b,
210 octave_idx_type& info, double& rcond,
211 solve_singularity_handler sing_handler) const;
212
213 // Generic interface to solver with probing of type
153 ComplexMatrix solve (const Matrix& b) const; 214 ComplexMatrix solve (const Matrix& b) const;
154 ComplexMatrix solve (const Matrix& b, octave_idx_type& info) const; 215 ComplexMatrix solve (const Matrix& b, octave_idx_type& info) const;
155 ComplexMatrix solve (const Matrix& b, octave_idx_type& info, double& rcond) const; 216 ComplexMatrix solve (const Matrix& b, octave_idx_type& info, double& rcond) const;
156 ComplexMatrix solve (const Matrix& b, octave_idx_type& info, double& rcond, 217 ComplexMatrix solve (const Matrix& b, octave_idx_type& info, double& rcond,
157 solve_singularity_handler sing_handler) const; 218 solve_singularity_handler sing_handler) const;