comparison liboctave/dMatrix.h @ 10312:cbc402e64d83

untabify liboctave header files
author John W. Eaton <jwe@octave.org>
date Thu, 11 Feb 2010 12:14:48 -0500
parents 9e0ec19df4bc
children 12884915a8e4
comparison
equal deleted inserted replaced
10311:a217e1d74353 10312:cbc402e64d83
126 126
127 ColumnVector column (octave_idx_type i) const; 127 ColumnVector column (octave_idx_type i) const;
128 128
129 private: 129 private:
130 Matrix tinverse (MatrixType &mattype, octave_idx_type& info, double& rcon, 130 Matrix tinverse (MatrixType &mattype, octave_idx_type& info, double& rcon,
131 int force, int calc_cond) const; 131 int force, int calc_cond) const;
132 132
133 Matrix finverse (MatrixType &mattype, octave_idx_type& info, double& rcon, 133 Matrix finverse (MatrixType &mattype, octave_idx_type& info, double& rcon,
134 int force, int calc_cond) const; 134 int force, int calc_cond) const;
135 135
136 public: 136 public:
137 Matrix inverse (void) const; 137 Matrix inverse (void) const;
138 Matrix inverse (octave_idx_type& info) const; 138 Matrix inverse (octave_idx_type& info) const;
139 Matrix inverse (octave_idx_type& info, double& rcon, int force = 0, 139 Matrix inverse (octave_idx_type& info, double& rcon, int force = 0,
140 int calc_cond = 1) const; 140 int calc_cond = 1) const;
141 141
142 Matrix inverse (MatrixType &mattype) const; 142 Matrix inverse (MatrixType &mattype) const;
143 Matrix inverse (MatrixType &mattype, octave_idx_type& info) const; 143 Matrix inverse (MatrixType &mattype, octave_idx_type& info) const;
144 Matrix inverse (MatrixType &mattype, octave_idx_type& info, double& rcon, 144 Matrix inverse (MatrixType &mattype, octave_idx_type& info, double& rcon,
145 int force = 0, int calc_cond = 1) const; 145 int force = 0, int calc_cond = 1) const;
146 146
147 Matrix pseudo_inverse (double tol = 0.0) const; 147 Matrix pseudo_inverse (double tol = 0.0) const;
148 148
149 ComplexMatrix fourier (void) const; 149 ComplexMatrix fourier (void) const;
150 ComplexMatrix ifourier (void) const; 150 ComplexMatrix ifourier (void) const;
162 double rcond (MatrixType &mattype) const; 162 double rcond (MatrixType &mattype) const;
163 163
164 private: 164 private:
165 // Upper triangular matrix solvers 165 // Upper triangular matrix solvers
166 Matrix utsolve (MatrixType &typ, const Matrix& b, octave_idx_type& info, 166 Matrix utsolve (MatrixType &typ, const Matrix& b, octave_idx_type& info,
167 double& rcon, solve_singularity_handler sing_handler, 167 double& rcon, solve_singularity_handler sing_handler,
168 bool calc_cond = false, blas_trans_type transt = blas_no_trans) const; 168 bool calc_cond = false, blas_trans_type transt = blas_no_trans) const;
169 169
170 // Lower triangular matrix solvers 170 // Lower triangular matrix solvers
171 Matrix ltsolve (MatrixType &typ, const Matrix& b, octave_idx_type& info, 171 Matrix ltsolve (MatrixType &typ, const Matrix& b, octave_idx_type& info,
172 double& rcon, solve_singularity_handler sing_handler, 172 double& rcon, solve_singularity_handler sing_handler,
173 bool calc_cond = false, blas_trans_type transt = blas_no_trans) const; 173 bool calc_cond = false, blas_trans_type transt = blas_no_trans) const;
174 174
175 // Full matrix solvers (lu/cholesky) 175 // Full matrix solvers (lu/cholesky)
176 Matrix fsolve (MatrixType &typ, const Matrix& b, octave_idx_type& info, 176 Matrix fsolve (MatrixType &typ, const Matrix& b, octave_idx_type& info,
177 double& rcon, solve_singularity_handler sing_handler, 177 double& rcon, solve_singularity_handler sing_handler,
178 bool calc_cond = false) const; 178 bool calc_cond = false) const;
179 179
180 public: 180 public:
181 // Generic interface to solver with no probing of type 181 // Generic interface to solver with no probing of type
182 Matrix solve (MatrixType &typ, const Matrix& b) const; 182 Matrix solve (MatrixType &typ, const Matrix& b) const;
183 Matrix solve (MatrixType &typ, const Matrix& b, octave_idx_type& info) const; 183 Matrix solve (MatrixType &typ, const Matrix& b, octave_idx_type& info) const;
184 Matrix solve (MatrixType &typ, const Matrix& b, octave_idx_type& info, 184 Matrix solve (MatrixType &typ, const Matrix& b, octave_idx_type& info,
185 double& rcon) const; 185 double& rcon) const;
186 Matrix solve (MatrixType &typ, const Matrix& b, octave_idx_type& info, 186 Matrix solve (MatrixType &typ, const Matrix& b, octave_idx_type& info,
187 double& rcon, solve_singularity_handler sing_handler, 187 double& rcon, solve_singularity_handler sing_handler,
188 bool singular_fallback = true, blas_trans_type transt = blas_no_trans) const; 188 bool singular_fallback = true, blas_trans_type transt = blas_no_trans) const;
189 189
190 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b) const; 190 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b) const;
191 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b, 191 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b,
192 octave_idx_type& info) const; 192 octave_idx_type& info) const;
193 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b, 193 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b,
194 octave_idx_type& info, double& rcon) const; 194 octave_idx_type& info, double& rcon) const;
195 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b, 195 ComplexMatrix solve (MatrixType &typ, const ComplexMatrix& b,
196 octave_idx_type& info, double& rcon, 196 octave_idx_type& info, double& rcon,
197 solve_singularity_handler sing_handler, 197 solve_singularity_handler sing_handler,
198 bool singular_fallback = true, 198 bool singular_fallback = true,
199 blas_trans_type transt = blas_no_trans) const; 199 blas_trans_type transt = blas_no_trans) const;
200 200
201 ColumnVector solve (MatrixType &typ, const ColumnVector& b) const; 201 ColumnVector solve (MatrixType &typ, const ColumnVector& b) const;
202 ColumnVector solve (MatrixType &typ, const ColumnVector& b, 202 ColumnVector solve (MatrixType &typ, const ColumnVector& b,
203 octave_idx_type& info) const; 203 octave_idx_type& info) const;
204 ColumnVector solve (MatrixType &typ, const ColumnVector& b, 204 ColumnVector solve (MatrixType &typ, const ColumnVector& b,
205 octave_idx_type& info, double& rcon) const; 205 octave_idx_type& info, double& rcon) const;
206 ColumnVector solve (MatrixType &typ, const ColumnVector& b, 206 ColumnVector solve (MatrixType &typ, const ColumnVector& b,
207 octave_idx_type& info, double& rcon, 207 octave_idx_type& info, double& rcon,
208 solve_singularity_handler sing_handler, 208 solve_singularity_handler sing_handler,
209 blas_trans_type transt = blas_no_trans) const; 209 blas_trans_type transt = blas_no_trans) const;
210 210
211 ComplexColumnVector solve (MatrixType &typ, 211 ComplexColumnVector solve (MatrixType &typ,
212 const ComplexColumnVector& b) const; 212 const ComplexColumnVector& b) const;
213 ComplexColumnVector solve (MatrixType &typ, const ComplexColumnVector& b, 213 ComplexColumnVector solve (MatrixType &typ, const ComplexColumnVector& b,
214 octave_idx_type& info) const; 214 octave_idx_type& info) const;
215 ComplexColumnVector solve (MatrixType &typ, const ComplexColumnVector& b, 215 ComplexColumnVector solve (MatrixType &typ, const ComplexColumnVector& b,
216 octave_idx_type& info, double& rcon) const; 216 octave_idx_type& info, double& rcon) const;
217 ComplexColumnVector solve (MatrixType &typ, const ComplexColumnVector& b, 217 ComplexColumnVector solve (MatrixType &typ, const ComplexColumnVector& b,
218 octave_idx_type& info, double& rcon, 218 octave_idx_type& info, double& rcon,
219 solve_singularity_handler sing_handler, 219 solve_singularity_handler sing_handler,
220 blas_trans_type transt = blas_no_trans) const; 220 blas_trans_type transt = blas_no_trans) const;
221 221
222 // Generic interface to solver with probing of type 222 // Generic interface to solver with probing of type
223 Matrix solve (const Matrix& b) const; 223 Matrix solve (const Matrix& b) const;
224 Matrix solve (const Matrix& b, octave_idx_type& info) const; 224 Matrix solve (const Matrix& b, octave_idx_type& info) const;
225 Matrix solve (const Matrix& b, octave_idx_type& info, double& rcon) const; 225 Matrix solve (const Matrix& b, octave_idx_type& info, double& rcon) const;
226 Matrix solve (const Matrix& b, octave_idx_type& info, double& rcon, 226 Matrix solve (const Matrix& b, octave_idx_type& info, double& rcon,
227 solve_singularity_handler sing_handler, 227 solve_singularity_handler sing_handler,
228 blas_trans_type transt = blas_no_trans) const; 228 blas_trans_type transt = blas_no_trans) const;
229 229
230 ComplexMatrix solve (const ComplexMatrix& b) const; 230 ComplexMatrix solve (const ComplexMatrix& b) const;
231 ComplexMatrix solve (const ComplexMatrix& b, octave_idx_type& info) const; 231 ComplexMatrix solve (const ComplexMatrix& b, octave_idx_type& info) const;
232 ComplexMatrix solve (const ComplexMatrix& b, octave_idx_type& info, double& rcon) const; 232 ComplexMatrix solve (const ComplexMatrix& b, octave_idx_type& info, double& rcon) const;
233 ComplexMatrix solve (const ComplexMatrix& b, octave_idx_type& info, double& rcon, 233 ComplexMatrix solve (const ComplexMatrix& b, octave_idx_type& info, double& rcon,
234 solve_singularity_handler sing_handler, 234 solve_singularity_handler sing_handler,
235 blas_trans_type transt = blas_no_trans) const; 235 blas_trans_type transt = blas_no_trans) const;
236 236
237 ColumnVector solve (const ColumnVector& b) const; 237 ColumnVector solve (const ColumnVector& b) const;
238 ColumnVector solve (const ColumnVector& b, octave_idx_type& info) const; 238 ColumnVector solve (const ColumnVector& b, octave_idx_type& info) const;
239 ColumnVector solve (const ColumnVector& b, octave_idx_type& info, double& rcon) const; 239 ColumnVector solve (const ColumnVector& b, octave_idx_type& info, double& rcon) const;
240 ColumnVector solve (const ColumnVector& b, octave_idx_type& info, double& rcon, 240 ColumnVector solve (const ColumnVector& b, octave_idx_type& info, double& rcon,
241 solve_singularity_handler sing_handler, 241 solve_singularity_handler sing_handler,
242 blas_trans_type transt = blas_no_trans) const; 242 blas_trans_type transt = blas_no_trans) const;
243 243
244 ComplexColumnVector solve (const ComplexColumnVector& b) const; 244 ComplexColumnVector solve (const ComplexColumnVector& b) const;
245 ComplexColumnVector solve (const ComplexColumnVector& b, octave_idx_type& info) const; 245 ComplexColumnVector solve (const ComplexColumnVector& b, octave_idx_type& info) const;
246 ComplexColumnVector solve (const ComplexColumnVector& b, octave_idx_type& info, 246 ComplexColumnVector solve (const ComplexColumnVector& b, octave_idx_type& info,
247 double& rcon) const; 247 double& rcon) const;
248 ComplexColumnVector solve (const ComplexColumnVector& b, octave_idx_type& info, 248 ComplexColumnVector solve (const ComplexColumnVector& b, octave_idx_type& info,
249 double& rcon, solve_singularity_handler sing_handler, 249 double& rcon, solve_singularity_handler sing_handler,
250 blas_trans_type transt = blas_no_trans) const; 250 blas_trans_type transt = blas_no_trans) const;
251 251
252 // Singular solvers 252 // Singular solvers
253 Matrix lssolve (const Matrix& b) const; 253 Matrix lssolve (const Matrix& b) const;
254 Matrix lssolve (const Matrix& b, octave_idx_type& info) const; 254 Matrix lssolve (const Matrix& b, octave_idx_type& info) const;
255 Matrix lssolve (const Matrix& b, octave_idx_type& info, 255 Matrix lssolve (const Matrix& b, octave_idx_type& info,
256 octave_idx_type& rank) const; 256 octave_idx_type& rank) const;
257 Matrix lssolve (const Matrix& b, octave_idx_type& info, 257 Matrix lssolve (const Matrix& b, octave_idx_type& info,
258 octave_idx_type& rank, double& rcon) const; 258 octave_idx_type& rank, double& rcon) const;
259 259
260 ComplexMatrix lssolve (const ComplexMatrix& b) const; 260 ComplexMatrix lssolve (const ComplexMatrix& b) const;
261 ComplexMatrix lssolve (const ComplexMatrix& b, octave_idx_type& info) const; 261 ComplexMatrix lssolve (const ComplexMatrix& b, octave_idx_type& info) const;
262 ComplexMatrix lssolve (const ComplexMatrix& b, octave_idx_type& info, 262 ComplexMatrix lssolve (const ComplexMatrix& b, octave_idx_type& info,
263 octave_idx_type& rank) const; 263 octave_idx_type& rank) const;
264 ComplexMatrix lssolve (const ComplexMatrix& b, octave_idx_type& info, 264 ComplexMatrix lssolve (const ComplexMatrix& b, octave_idx_type& info,
265 octave_idx_type& rank, double &rcon) const; 265 octave_idx_type& rank, double &rcon) const;
266 266
267 ColumnVector lssolve (const ColumnVector& b) const; 267 ColumnVector lssolve (const ColumnVector& b) const;
268 ColumnVector lssolve (const ColumnVector& b, octave_idx_type& info) const; 268 ColumnVector lssolve (const ColumnVector& b, octave_idx_type& info) const;
269 ColumnVector lssolve (const ColumnVector& b, octave_idx_type& info, 269 ColumnVector lssolve (const ColumnVector& b, octave_idx_type& info,
270 octave_idx_type& rank) const; 270 octave_idx_type& rank) const;
271 ColumnVector lssolve (const ColumnVector& b, octave_idx_type& info, 271 ColumnVector lssolve (const ColumnVector& b, octave_idx_type& info,
272 octave_idx_type& rank, double& rcon) const; 272 octave_idx_type& rank, double& rcon) const;
273 273
274 ComplexColumnVector lssolve (const ComplexColumnVector& b) const; 274 ComplexColumnVector lssolve (const ComplexColumnVector& b) const;
275 ComplexColumnVector lssolve (const ComplexColumnVector& b, 275 ComplexColumnVector lssolve (const ComplexColumnVector& b,
276 octave_idx_type& info) const; 276 octave_idx_type& info) const;
277 ComplexColumnVector lssolve (const ComplexColumnVector& b, 277 ComplexColumnVector lssolve (const ComplexColumnVector& b,
278 octave_idx_type& info, 278 octave_idx_type& info,
279 octave_idx_type& rank) const; 279 octave_idx_type& rank) const;
280 ComplexColumnVector lssolve (const ComplexColumnVector& b, 280 ComplexColumnVector lssolve (const ComplexColumnVector& b,
281 octave_idx_type& info, 281 octave_idx_type& info,
282 octave_idx_type& rank, double& rcon) const; 282 octave_idx_type& rank, double& rcon) const;
283 283
284 Matrix& operator += (const DiagMatrix& a); 284 Matrix& operator += (const DiagMatrix& a);
285 Matrix& operator -= (const DiagMatrix& a); 285 Matrix& operator -= (const DiagMatrix& a);
286 286
287 // unary operations 287 // unary operations