QUDA
v0.7.0
A library for QCD on GPUs
|
#include <lanczos_quda.h>
Public Member Functions | |
Eig_Solver (QudaEigParam &eigParam, TimeProfile &profile) | |
virtual | ~Eig_Solver () |
virtual void | operator() (double *alpha, double *beta, cudaColorSpinorField **Eig_Vec, cudaColorSpinorField &r, cudaColorSpinorField &Apsi, int k0, int m)=0 |
bool | convergence (const double &r2, const double &hq2, const double &r2_tol, const double &hq_tol) |
void | PrintStats (const char *, int k, const double &r2, const double &b2, const double &hq2) |
void | PrintSummary (const char *name, int k, const double &r2, const double &b2) |
void | GrandSchm_test (cudaColorSpinorField &psi, cudaColorSpinorField **Eig_Vec, int Nvec, double *delta) |
Static Public Member Functions | |
static Eig_Solver * | create (QudaEigParam ¶m, RitzMat &ritz_mat, TimeProfile &profile) |
Protected Attributes | |
QudaEigParam & | eigParam |
TimeProfile & | profile |
New object class for solving an eigen problems, currently Lanczos operator is implemented
Definition at line 16 of file lanczos_quda.h.
|
inline |
Definition at line 23 of file lanczos_quda.h.
|
inlinevirtual |
Definition at line 24 of file lanczos_quda.h.
bool quda::Eig_Solver::convergence | ( | const double & | r2, |
const double & | hq2, | ||
const double & | r2_tol, | ||
const double & | hq_tol | ||
) |
Not implemented yet!!!, Checkthe eig solver convergence
Definition at line 32 of file eig_solver.cpp.
|
static |
Definition at line 12 of file eig_solver.cpp.
void quda::Eig_Solver::GrandSchm_test | ( | cudaColorSpinorField & | psi, |
cudaColorSpinorField ** | Eig_Vec, | ||
int | Nvec, | ||
double * | delta | ||
) |
Do the GrandSchmit orthogonalization and check the orthogonality of eigen vectors
Definition at line 45 of file eig_solver.cpp.
|
pure virtual |
Implemented in quda::ImpRstLanczos, and quda::Lanczos.
void quda::Eig_Solver::PrintStats | ( | const char * | name, |
int | k, | ||
const double & | r2, | ||
const double & | b2, | ||
const double & | hq2 | ||
) |
Not implemented yet!!!, Prints out the running statistics of the solver
Definition at line 38 of file eig_solver.cpp.
void quda::Eig_Solver::PrintSummary | ( | const char * | name, |
int | k, | ||
const double & | r2, | ||
const double & | b2 | ||
) |
Prints out the summary of the solver convergence (requires a versbosity of QUDA_SUMMARIZE). Assumes QudaEigParam.true_res and QudaEigParam.true_res_hq has been set
Definition at line 42 of file eig_solver.cpp.
|
protected |
Definition at line 19 of file lanczos_quda.h.
|
protected |
Definition at line 20 of file lanczos_quda.h.