00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef CGSOLVER_H
00010 #define CGSOLVER_H
00011
00012 #include <solver/SolverInterface.hpp>
00013
00014 namespace imaging
00015 {
00016
00022 class CgSolver : public SolverInterface
00023 {
00024 size_t _n_max_iterations;
00025
00026 void report_error(int error_flag) const;
00027
00028 public:
00030 CgSolver(size_t n_max_iterations = 10000) : _n_max_iterations(n_max_iterations) {}
00031
00032 void solve(const ublas::compressed_matrix<float_t> & eqs, const ublas::vector<float_t> & rhs, ublas::vector<float_t> & result) const;
00033 };
00034 }
00035
00036 #endif