00001 00033 #ifndef LS_SOLVE_H 00034 #define LS_SOLVE_H 00035 00036 #include <itpp/base/vec.h> 00037 #include <itpp/base/mat.h> 00038 00039 00040 namespace itpp { 00041 00042 00045 00046 00052 bool ls_solve(const mat &A, const vec &b, vec &x); 00053 00059 vec ls_solve(const mat &A, const vec &b); 00060 00066 bool ls_solve(const mat &A, const mat &B, mat &X); 00067 00073 mat ls_solve(const mat &A, const mat &B); 00074 00075 00081 bool ls_solve(const cmat &A, const cvec &b, cvec &x); 00082 00088 cvec ls_solve(const cmat &A, const cvec &b); 00089 00095 bool ls_solve(const cmat &A, const cmat &B, cmat &X); 00096 00102 cmat ls_solve(const cmat &A, const cmat &B); 00103 00104 00110 bool ls_solve_chol(const mat &A, const vec &b, vec &x); 00111 00117 vec ls_solve_chol(const mat &A, const vec &b); 00118 00124 bool ls_solve_chol(const mat &A, const mat &B, mat &X); 00125 00131 mat ls_solve_chol(const mat &A, const mat &B); 00132 00133 00139 bool ls_solve_chol(const cmat &A, const cvec &b, cvec &x); 00140 00146 cvec ls_solve_chol(const cmat &A, const cvec &b); 00147 00153 bool ls_solve_chol(const cmat &A, const cmat &B, cmat &X); 00154 00160 cmat ls_solve_chol(const cmat &A, const cmat &B); 00161 00162 00163 00169 bool ls_solve_od(const mat &A, const vec &b, vec &x); 00170 00176 vec ls_solve_od(const mat &A, const vec &b); 00177 00183 bool ls_solve_od(const mat &A, const mat &B, mat &X); 00184 00190 mat ls_solve_od(const mat &A, const mat &B); 00191 00192 00198 bool ls_solve_od(const cmat &A, const cvec &b, cvec &x); 00199 00205 cvec ls_solve_od(const cmat &A, const cvec &b); 00206 00212 bool ls_solve_od(const cmat &A, const cmat &B, mat &X); 00213 00219 cmat ls_solve_od(const cmat &A, const cmat &B); 00220 00221 00222 00228 bool ls_solve_ud(const mat &A, const vec &b, vec &x); 00229 00235 vec ls_solve_ud(const mat &A, const vec &b); 00236 00242 bool ls_solve_ud(const mat &A, const mat &B, mat &X); 00243 00249 mat ls_solve_ud(const mat &A, const mat &B); 00250 00251 00257 bool ls_solve_ud(const cmat &A, const cvec &b, cvec &x); 00258 00264 cvec ls_solve_ud(const cmat &A, const cvec &b); 00265 00271 bool ls_solve_ud(const cmat &A, const cmat &B, mat &X); 00272 00278 cmat ls_solve_ud(const cmat &A, const cmat &B); 00279 00280 00281 00287 bool backslash(const mat &A, const vec &b, vec &x); 00288 00294 vec backslash(const mat &A, const vec &b); 00295 00301 bool backslash(const mat &A, const mat &B, mat &X); 00302 00308 mat backslash(const mat &A, const mat &B); 00309 00310 00316 bool backslash(const cmat &A, const cvec &b, cvec &x); 00317 00323 cvec backslash(const cmat &A, const cvec &b); 00324 00330 bool backslash(const cmat &A, const cmat &B, cmat &X); 00331 00337 cmat backslash(const cmat &A, const cmat &B); 00338 00339 00340 00347 vec forward_substitution(const mat &L, const vec &b); 00348 00355 void forward_substitution(const mat &L, const vec &b, vec &x); 00356 00364 vec forward_substitution(const mat &L, int p, const vec &b); 00365 00373 void forward_substitution(const mat &L, int p, const vec &b, vec &x); 00374 00381 vec backward_substitution(const mat &U, const vec &b); 00382 00389 void backward_substitution(const mat &U, const vec &b, vec &x); 00390 00398 vec backward_substitution(const mat &U, int q, const vec &b); 00399 00407 void backward_substitution(const mat &U, int q, const vec &b, vec &x); 00408 00410 00411 } //namespace itpp 00412 00413 #endif // #ifndef LS_SOLVE_H 00414 00415 00416
Generated on Sat Aug 25 23:40:02 2007 for IT++ by Doxygen 1.5.2