10 #ifndef ITERATIVE_SHIFTED_LINEAR_FAMILY_SOLVER_H_
11 #define ITERATIVE_SHIFTED_LINEAR_FAMILY_SOLVER_H_
18 template <
class T>
class SGVector;
19 template <
class T>
class CLinearOperator;
74 return "IterativeShiftedLinearFamilySolver";
94 const T& beta_old,
const T& beta_cur,
const T& alpha,
SGVector<ST>& zeta_sh_new);
121 const T& beta_old,
const T& alpha,
SGVector<ST>& alpha_sh);
127 #endif // ITERATIVE_SHIFTED_LINEAR_FAMILY_SOLVER_H_
void compute_zeta_sh_new(const SGVector< ST > &zeta_sh_old, const SGVector< ST > &zeta_sh_cur, const SGVector< ST > &shifts, const T &beta_old, const T &beta_cur, const T &alpha, SGVector< ST > &zeta_sh_new)
virtual const char * get_name() const
CIterativeShiftedLinearFamilySolver()
virtual SGVector< ST > solve_shifted_weighted(CLinearOperator< T > *A, SGVector< T > b, SGVector< ST > shifts, SGVector< ST > weights)=0
void compute_beta_sh(const SGVector< ST > &zeta_sh_new, const SGVector< ST > &zeta_sh_cur, const T &beta_cur, SGVector< ST > &beta_sh)
abstract template base for all iterative linear solvers such as conjugate gradient (CG) solvers...
virtual SGVector< T > solve(CLinearOperator< T > *A, SGVector< T > b)=0
all of classes and functions are contained in the shogun namespace
Abstract template base class that represents a linear operator, e.g. a matrix.
virtual ~CIterativeShiftedLinearFamilySolver()
void compute_alpha_sh(const SGVector< ST > &zeta_sh_cur, const SGVector< ST > &zeta_sh_old, const SGVector< ST > &beta_sh_old, const T &beta_old, const T &alpha, SGVector< ST > &alpha_sh)
abstract template base for CG based solvers to the solution of shifted linear systems of the form fo...