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 00041 00042 00048 bool ls_solve(const mat &A, const vec &b, vec &x); 00049 00055 vec ls_solve(const mat &A, const vec &b); 00056 00062 bool ls_solve(const mat &A, const mat &B, mat &X); 00063 00069 mat ls_solve(const mat &A, const mat &B); 00070 00071 00077 bool ls_solve(const cmat &A, const cvec &b, cvec &x); 00078 00084 cvec ls_solve(const cmat &A, const cvec &b); 00085 00091 bool ls_solve(const cmat &A, const cmat &B, cmat &X); 00092 00098 cmat ls_solve(const cmat &A, const cmat &B); 00099 00100 00106 bool ls_solve_chol(const mat &A, const vec &b, vec &x); 00107 00113 vec ls_solve_chol(const mat &A, const vec &b); 00114 00120 bool ls_solve_chol(const mat &A, const mat &B, mat &X); 00121 00127 mat ls_solve_chol(const mat &A, const mat &B); 00128 00129 00135 bool ls_solve_chol(const cmat &A, const cvec &b, cvec &x); 00136 00142 cvec ls_solve_chol(const cmat &A, const cvec &b); 00143 00149 bool ls_solve_chol(const cmat &A, const cmat &B, cmat &X); 00150 00156 cmat ls_solve_chol(const cmat &A, const cmat &B); 00157 00158 00159 00165 bool ls_solve_od(const mat &A, const vec &b, vec &x); 00166 00172 vec ls_solve_od(const mat &A, const vec &b); 00173 00179 bool ls_solve_od(const mat &A, const mat &B, mat &X); 00180 00186 mat ls_solve_od(const mat &A, const mat &B); 00187 00188 00194 bool ls_solve_od(const cmat &A, const cvec &b, cvec &x); 00195 00201 cvec ls_solve_od(const cmat &A, const cvec &b); 00202 00208 bool ls_solve_od(const cmat &A, const cmat &B, cmat &X); 00209 00215 cmat ls_solve_od(const cmat &A, const cmat &B); 00216 00217 00218 00224 bool ls_solve_ud(const mat &A, const vec &b, vec &x); 00225 00231 vec ls_solve_ud(const mat &A, const vec &b); 00232 00238 bool ls_solve_ud(const mat &A, const mat &B, mat &X); 00239 00245 mat ls_solve_ud(const mat &A, const mat &B); 00246 00247 00253 bool ls_solve_ud(const cmat &A, const cvec &b, cvec &x); 00254 00260 cvec ls_solve_ud(const cmat &A, const cvec &b); 00261 00267 bool ls_solve_ud(const cmat &A, const cmat &B, cmat &X); 00268 00274 cmat ls_solve_ud(const cmat &A, const cmat &B); 00275 00276 00282 bool backslash(const mat &A, const vec &b, vec &x); 00283 00289 vec backslash(const mat &A, const vec &b); 00290 00296 bool backslash(const mat &A, const mat &B, mat &X); 00297 00303 mat backslash(const mat &A, const mat &B); 00304 00305 00311 bool backslash(const cmat &A, const cvec &b, cvec &x); 00312 00318 cvec backslash(const cmat &A, const cvec &b); 00319 00325 bool backslash(const cmat &A, const cmat &B, cmat &X); 00326 00332 cmat backslash(const cmat &A, const cmat &B); 00333 00334 00335 00342 vec forward_substitution(const mat &L, const vec &b); 00343 00350 void forward_substitution(const mat &L, const vec &b, vec &x); 00351 00359 vec forward_substitution(const mat &L, int p, const vec &b); 00360 00368 void forward_substitution(const mat &L, int p, const vec &b, vec &x); 00369 00376 vec backward_substitution(const mat &U, const vec &b); 00377 00384 void backward_substitution(const mat &U, const vec &b, vec &x); 00385 00393 vec backward_substitution(const mat &U, int q, const vec &b); 00394 00402 void backward_substitution(const mat &U, int q, const vec &b, vec &x); 00403 00405 00406 } //namespace itpp 00407 00408 #endif // #ifndef LS_SOLVE_H 00409 00410 00411
Generated on Sun Sep 14 18:52:33 2008 for IT++ by Doxygen 1.5.6