00001
00002
00003 #ifndef LINEAR_SOLVERS_HPP
00004 #define LINEAR_SOLVERS_HPP
00005
00006 #include "jafarConfig.h"
00007
00008 #ifdef HAVE_BOOST_SANDBOX
00009 #ifdef HAVE_LAPACK
00010
00011 #include "jmath/jblas.hpp"
00012
00013 namespace jafar {
00014 namespace jmath {
00015
00023 namespace LinearSolvers {
00024
00036 int solve_QR(jblas::mat_column_major& A, const jblas::mat_column_major& B, jblas::mat_column_major& X);
00037
00049 int solve_QR_noQ(jblas::mat_column_major A, jblas::mat B, jblas::mat& X);
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062 int solve_Cholesky(jblas::mat_column_major A, jblas::mat_column_major B, jblas::mat& X);
00063 int solve_Cholesky(jblas::mat_column_major A, jblas::vec B, jblas::vec& x);
00064
00075 int solve_LU(jblas::mat_column_major A, jblas::vec b, jblas::vec& x);
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088 int solve_SVD(const jblas::mat& A, const jblas::vec& b, jblas::vec& x);
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099 int solve_BK(const jblas::mat& A, const jblas::vec& b, jblas::vec& x);
00100 }
00101 }
00102 }
00103
00104
00105 #endif // HAVE_LAPACK
00106 #endif // HAVE_BOOST_SANDBOX
00107
00108 #endif // JMATH_LINEAR_LEAST_SQUARES_HPP