QUDA
1.0.0
|
#include <invert_quda.h>
Public Member Functions | |
CGNE (DiracMatrix &mat, DiracMatrix &matSloppy, SolverParam ¶m, TimeProfile &profile) | |
virtual | ~CGNE () |
void | operator() (ColorSpinorField &out, ColorSpinorField &in) |
Run CG. More... | |
![]() | |
CG (DiracMatrix &mat, DiracMatrix &matSloppy, SolverParam ¶m, TimeProfile &profile) | |
virtual | ~CG () |
void | operator() (ColorSpinorField &out, ColorSpinorField &in, ColorSpinorField *p_init, double r2_old_init) |
Solve re-using an initial Krylov space defined by an initial r2_old_init and search direction p_init. More... | |
void | blocksolve (ColorSpinorField &out, ColorSpinorField &in) |
![]() | |
Solver (SolverParam ¶m, TimeProfile &profile) | |
virtual | ~Solver () |
bool | convergence (double r2, double hq2, double r2_tol, double hq_tol) |
bool | convergenceHQ (double r2, double hq2, double r2_tol, double hq_tol) |
Test for HQ solver convergence – ignore L2 residual. More... | |
bool | convergenceL2 (double r2, double hq2, double r2_tol, double hq_tol) |
Test for L2 solver convergence – ignore HQ residual. More... | |
void | PrintStats (const char *name, int k, double r2, double b2, double hq2) |
Prints out the running statistics of the solver (requires a verbosity of QUDA_VERBOSE) More... | |
void | PrintSummary (const char *name, int k, double r2, double b2, double r2_tol, double hq_tol) |
Prints out the summary of the solver convergence (requires a verbosity of QUDA_SUMMARIZE). Assumes SolverParam.true_res and SolverParam.true_res_hq has been set. More... | |
void | constructDeflationSpace (const ColorSpinorField &meta, const DiracMatrix &mat, bool svd) |
Constructs the deflation space. More... | |
virtual double | flops () const |
Private Attributes | |
DiracMMdag | mmdag |
DiracMMdag | mmdagSloppy |
ColorSpinorField * | xp |
ColorSpinorField * | yp |
bool | init |
Additional Inherited Members | |
![]() | |
static Solver * | create (SolverParam ¶m, DiracMatrix &mat, DiracMatrix &matSloppy, DiracMatrix &matPrecon, TimeProfile &profile) |
static double | stopping (double tol, double b2, QudaResidualType residual_type) |
Set the solver L2 stopping condition. More... | |
![]() | |
EigenSolver * | eig_solve |
bool | deflate_init = false |
std::vector< ColorSpinorField * > | defl_tmp1 |
std::vector< ColorSpinorField * > | defl_tmp2 |
![]() | |
SolverParam & | param |
TimeProfile & | profile |
int | node_parity |
Definition at line 642 of file invert_quda.h.
quda::CGNE::CGNE | ( | DiracMatrix & | mat, |
DiracMatrix & | matSloppy, | ||
SolverParam & | param, | ||
TimeProfile & | profile | ||
) |
Definition at line 60 of file inv_cg_quda.cpp.
|
virtual |
Definition at line 65 of file inv_cg_quda.cpp.
|
virtual |
Run CG.
out | Solution vector. |
in | Right-hand side. |
Reimplemented from quda::CG.
Definition at line 74 of file inv_cg_quda.cpp.
References quda::blas::axpby(), quda::SolverParam::compute_true_res, quda::ColorSpinorParam::create, quda::ColorSpinorField::Create(), csParam, quda::DiracMatrix::Expose(), quda::blas::HeavyQuarkResidualNorm(), init, quda::SolverParam::iter, quda::Dirac::M(), quda::SolverParam::maxiter, quda::Dirac::Mdag(), mmdag, quda::blas::norm2(), quda::SolverParam::Nsteps, quda::CG::operator()(), quda::Solver::param, quda::SolverParam::preserve_source, quda::Solver::PrintSummary(), QUDA_HEAVY_QUARK_RESIDUAL, QUDA_NULL_FIELD_CREATE, QUDA_PRESERVE_SOURCE_NO, QUDA_PRESERVE_SOURCE_YES, QUDA_USE_INIT_GUESS_NO, QUDA_USE_INIT_GUESS_YES, QUDA_ZERO_FIELD_CREATE, quda::SolverParam::residual_type, quda::sqrt(), quda::Solver::stopping(), quda::SolverParam::tol, quda::SolverParam::tol_hq, quda::SolverParam::true_res, quda::SolverParam::true_res_hq, quda::SolverParam::use_init_guess, quda::blas::xmyNorm(), xp, quda::blas::xpy(), yp, and quda::blas::zero().
|
private |
Definition at line 649 of file invert_quda.h.
Referenced by operator()(), and ~CGNE().
|
private |
Definition at line 645 of file invert_quda.h.
Referenced by operator()().
|
private |
Definition at line 646 of file invert_quda.h.
|
private |
Definition at line 647 of file invert_quda.h.
Referenced by operator()(), and ~CGNE().
|
private |
Definition at line 648 of file invert_quda.h.
Referenced by operator()(), and ~CGNE().