00001 00030 #ifndef LS_SOLVE_H 00031 #define LS_SOLVE_H 00032 00033 #include <itpp/base/mat.h> 00034 00035 00036 namespace itpp 00037 { 00038 00039 00042 00043 00049 bool ls_solve(const mat &A, const vec &b, vec &x); 00050 00056 vec ls_solve(const mat &A, const vec &b); 00057 00063 bool ls_solve(const mat &A, const mat &B, mat &X); 00064 00070 mat ls_solve(const mat &A, const mat &B); 00071 00072 00078 bool ls_solve(const cmat &A, const cvec &b, cvec &x); 00079 00085 cvec ls_solve(const cmat &A, const cvec &b); 00086 00092 bool ls_solve(const cmat &A, const cmat &B, cmat &X); 00093 00099 cmat ls_solve(const cmat &A, const cmat &B); 00100 00101 00107 bool ls_solve_chol(const mat &A, const vec &b, vec &x); 00108 00114 vec ls_solve_chol(const mat &A, const vec &b); 00115 00121 bool ls_solve_chol(const mat &A, const mat &B, mat &X); 00122 00128 mat ls_solve_chol(const mat &A, const mat &B); 00129 00130 00136 bool ls_solve_chol(const cmat &A, const cvec &b, cvec &x); 00137 00143 cvec ls_solve_chol(const cmat &A, const cvec &b); 00144 00150 bool ls_solve_chol(const cmat &A, const cmat &B, cmat &X); 00151 00157 cmat ls_solve_chol(const cmat &A, const cmat &B); 00158 00159 00160 00166 bool ls_solve_od(const mat &A, const vec &b, vec &x); 00167 00173 vec ls_solve_od(const mat &A, const vec &b); 00174 00180 bool ls_solve_od(const mat &A, const mat &B, mat &X); 00181 00187 mat ls_solve_od(const mat &A, const mat &B); 00188 00189 00195 bool ls_solve_od(const cmat &A, const cvec &b, cvec &x); 00196 00202 cvec ls_solve_od(const cmat &A, const cvec &b); 00203 00209 bool ls_solve_od(const cmat &A, const cmat &B, cmat &X); 00210 00216 cmat ls_solve_od(const cmat &A, const cmat &B); 00217 00218 00219 00225 bool ls_solve_ud(const mat &A, const vec &b, vec &x); 00226 00232 vec ls_solve_ud(const mat &A, const vec &b); 00233 00239 bool ls_solve_ud(const mat &A, const mat &B, mat &X); 00240 00246 mat ls_solve_ud(const mat &A, const mat &B); 00247 00248 00254 bool ls_solve_ud(const cmat &A, const cvec &b, cvec &x); 00255 00261 cvec ls_solve_ud(const cmat &A, const cvec &b); 00262 00268 bool ls_solve_ud(const cmat &A, const cmat &B, cmat &X); 00269 00275 cmat ls_solve_ud(const cmat &A, const cmat &B); 00276 00277 00283 bool backslash(const mat &A, const vec &b, vec &x); 00284 00290 vec backslash(const mat &A, const vec &b); 00291 00297 bool backslash(const mat &A, const mat &B, mat &X); 00298 00304 mat backslash(const mat &A, const mat &B); 00305 00306 00312 bool backslash(const cmat &A, const cvec &b, cvec &x); 00313 00319 cvec backslash(const cmat &A, const cvec &b); 00320 00326 bool backslash(const cmat &A, const cmat &B, cmat &X); 00327 00333 cmat backslash(const cmat &A, const cmat &B); 00334 00335 00336 00343 vec forward_substitution(const mat &L, const vec &b); 00344 00351 void forward_substitution(const mat &L, const vec &b, vec &x); 00352 00360 vec forward_substitution(const mat &L, int p, const vec &b); 00361 00369 void forward_substitution(const mat &L, int p, const vec &b, vec &x); 00370 00377 vec backward_substitution(const mat &U, const vec &b); 00378 00385 void backward_substitution(const mat &U, const vec &b, vec &x); 00386 00394 vec backward_substitution(const mat &U, int q, const vec &b); 00395 00403 void backward_substitution(const mat &U, int q, const vec &b, vec &x); 00404 00406 00407 } //namespace itpp 00408 00409 #endif // #ifndef LS_SOLVE_H 00410 00411 00412
Generated on Thu Apr 23 20:06:46 2009 for IT++ by Doxygen 1.5.8