28 #ifndef PARALUTION_EIGENVALUE_CG_HN_HPP_
29 #define PARALUTION_EIGENVALUE_CG_HN_HPP_
31 #include "../solver.hpp"
32 #include "../krylov/cg.hpp"
39 template <
class OperatorType,
class VectorType,
typename ValueType>
46 virtual void Print(
void)
const;
47 virtual void Build(
void);
48 virtual void Clear(
void);
53 virtual void Solve (
const VectorType &rhs, VectorType *
x, VectorType &u_k);
55 virtual void SetIta (
const ValueType a) {this->
Ita_ = a;
return;};
64 virtual void SolveNonPrecond(
const VectorType &rhs, VectorType *x, VectorType &u_k);
65 virtual void SolvePrecond (
const VectorType &rhs, VectorType *x, VectorType &u_k);
72 virtual void GetBeta (VectorType *x,
const VectorType &u_k);
76 virtual bool Check_HN (ValueType res, VectorType *x, VectorType &u_k);
90 #endif // PARALUTION_EIGENVALUE_CG_HN_HPP_
ValueType alpha_set_
Definition: cg_hn.hpp:82
virtual void Clear(void)
Clear (free all local data) the solver.
Definition: cg_hn.cpp:498
virtual void SetIta(const ValueType a)
Definition: cg_hn.hpp:55
VectorType p_
Definition: cg_hn.hpp:80
virtual void Solve(const VectorType &rhs, VectorType *x, VectorType &u_k)
Definition: cg_hn.cpp:574
bool IsFirst_
Definition: cg_hn.hpp:77
virtual bool Check_HN(ValueType res, VectorType *x, VectorType &u_k)
Definition: cg_hn.cpp:124
ValueType Tol_out_
Definition: cg_hn.hpp:84
VectorType q_
Definition: cg_hn.hpp:80
virtual bool JudgeCaseC(void)
Definition: cg_hn.cpp:232
ValueType norm_r_out_
Definition: cg_hn.hpp:84
virtual void Print(void) const
Print information about the solver.
Definition: cg_hn.cpp:77
VectorType r_
Definition: cg_hn.hpp:79
ValueType g_k_[2]
Definition: cg_hn.hpp:83
bool CaseB_
Definition: cg_hn.hpp:77
virtual void Build(void)
Build the solver (data allocation, structure computation, numerical computation)
Definition: cg_hn.cpp:441
virtual void SolvePrecond(const VectorType &rhs, VectorType *x, VectorType &u_k)
Definition: cg_hn.cpp:345
ValueType Tau_3_
Definition: cg_hn.hpp:84
virtual void PrintStart_(void) const
Print starting msg of the solver.
Definition: cg_hn.cpp:93
virtual void SetTau_1(const ValueType a)
Definition: cg_hn.hpp:59
virtual void MoveToHostLocalData_(void)
Move all local data to the host.
Definition: cg_hn.cpp:526
virtual void SetNorm_r_out(const ValueType a)
Definition: cg_hn.hpp:57
VectorType u_A_
Definition: cg_hn.hpp:81
ValueType beta_set_
Definition: cg_hn.hpp:82
ValueType Tau_2_
Definition: cg_hn.hpp:84
bool CaseC_
Definition: cg_hn.hpp:77
ValueType Ita_
Definition: cg_hn.hpp:84
ValueType Tau_1_
Definition: cg_hn.hpp:84
virtual void SetTau_2(const ValueType a)
Definition: cg_hn.hpp:60
virtual void SetTol_out(const ValueType a)
Definition: cg_hn.hpp:56
virtual void MoveToAcceleratorLocalData_(void)
Move all local data to the accelerator.
Definition: cg_hn.cpp:550
virtual bool JudgeCaseB(void)
Definition: cg_hn.cpp:212
CG_HN()
Definition: cg_hn.cpp:40
virtual void SolveNonPrecond(const VectorType &rhs, VectorType *x, VectorType &u_k)
Definition: cg_hn.cpp:251
int GetBetaTime_
Definition: cg_hn.hpp:78
Definition: backend_manager.cpp:43
virtual void Get_r_eig(void)
Definition: cg_hn.cpp:195
VectorType x_A_
Definition: cg_hn.hpp:81
VectorType z_
Definition: cg_hn.hpp:79
const IndexType const IndexType const IndexType const ValueType const ValueType const ValueType * x
Definition: cuda_kernels_coo.hpp:91
virtual ~CG_HN()
Definition: cg_hn.cpp:67
virtual void SetAlpha(const ValueType a)
Definition: cg_hn.hpp:58
bool UsingHN_
Definition: cg_hn.hpp:77
virtual void SetTau_3(const ValueType a)
Definition: cg_hn.hpp:61
ValueType s_set_
Definition: cg_hn.hpp:82
virtual void GetBeta(VectorType *x, const VectorType &u_k)
Definition: cg_hn.cpp:171
ValueType ResAtFirst_
Definition: cg_hn.hpp:84
ValueType r_eig_
Definition: cg_hn.hpp:82
virtual void PrintEnd_(void) const
Print ending msg of the solver.
Definition: cg_hn.cpp:109