22 #ifndef __HERMES_COMMON_SOLVER_H_
23 #define __HERMES_COMMON_SOLVER_H_
30 using namespace Hermes::Algebra;
38 using namespace Hermes::Preconditioners;
91 template <
typename Scalar>
101 virtual bool solve() = 0;
105 Scalar *get_sln_vector();
113 virtual int get_matrix_size() = 0;
120 virtual void set_factorization_scheme();
132 template <
typename Scalar>
142 unsigned int factorization_scheme;
147 template <
typename Scalar>
153 virtual int get_num_iters() = 0;
154 virtual double get_residual() = 0;
158 void set_tolerance(
double tol);
162 void set_max_iters(
int iters);
164 virtual void set_precond(
const char *name) = 0;
178 template<
typename Scalar>