CHROMA
|
Solve a M*psi=chi linear system by CG2 with eigenvectors. More...
#include <syssolver_mdagm_OPTeigcg.h>
Public Member Functions | |
void | QIOWriteOptEvecs () |
Write out an OptEigInfo Type More... | |
void | QIOReadOptEvecs () |
Read a OptEigInfo Type More... | |
MdagMSysSolverOptEigCG (Handle< LinearOperator< T > > A_, const SysSolverOptEigCGParams &invParam_) | |
Constructor. More... | |
~MdagMSysSolverOptEigCG () | |
Destructor is automatic. More... | |
const Subset & | subset () const |
Return the subset on which the operator acts. More... | |
SystemSolverResults_t | operator() (T &psi, const T &chi) const |
Solver the linear system. More... | |
SystemSolverResults_t | operator() (T &psi, const T &chi, AbsChronologicalPredictor4D< T > &predictor) const |
Solve the linear system starting with a chrono guess. More... | |
SystemSolverResults_t | operator() (LatticeFermionF &psi, const LatticeFermionF &chi) const |
SystemSolverResults_t | operator() (LatticeFermionD &psi, const LatticeFermionD &chi) const |
SystemSolverResults_t | operator() (LatticeStaggeredFermionF &psi, const LatticeStaggeredFermionF &chi) const |
SystemSolverResults_t | operator() (LatticeStaggeredFermionD &psi, const LatticeStaggeredFermionD &chi) const |
Public Member Functions inherited from Chroma::SystemSolver< T > | |
virtual | ~SystemSolver () |
Virtual destructor to help with cleanup;. More... | |
Private Member Functions | |
MdagMSysSolverOptEigCG () | |
Private Attributes | |
int | numMatvecs |
Handle< LinearOperator< T > > | MdagM |
Handle< LinearOperator< T > > | A |
SysSolverOptEigCGParams | invParam |
Solve a M*psi=chi linear system by CG2 with eigenvectors.
Definition at line 38 of file syssolver_mdagm_OPTeigcg.h.
|
inline |
Constructor.
M_ | Linear operator ( Read ) |
invParam_ | inverter parameters ( Read ) |
Definition at line 190 of file syssolver_mdagm_OPTeigcg.h.
References Chroma::MdagMSysSolverOptEigCG< T >::A, Chroma::SysSolverOptEigCGParams::eigen_id, Chroma::SysSolverOptEigCGParams::file, Chroma::LinAlg::EigInfo::init(), Chroma::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance(), Chroma::MdagMSysSolverOptEigCG< T >::invParam, Chroma::SysSolverOptEigCGParams::Neig_max, Chroma::MdagMSysSolverOptEigCG< T >::numMatvecs, Chroma::MdagMSysSolverOptEigCG< T >::QIOReadOptEvecs(), Chroma::SysSolverOptEigCGParams::File_t::read, Chroma::LinAlg::EigInfo::restartTol, and Chroma::SysSolverOptEigCGParams::restartTol.
|
inline |
Destructor is automatic.
Definition at line 215 of file syssolver_mdagm_OPTeigcg.h.
References Chroma::SysSolverOptEigCGParams::cleanUpEvecs, Chroma::SysSolverOptEigCGParams::eigen_id, Chroma::SysSolverOptEigCGParams::file, Chroma::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance(), Chroma::MdagMSysSolverOptEigCG< T >::invParam, Chroma::MdagMSysSolverOptEigCG< T >::QIOWriteOptEvecs(), and Chroma::SysSolverOptEigCGParams::File_t::write.
|
inlineprivate |
Definition at line 274 of file syssolver_mdagm_OPTeigcg.h.
SystemSolverResults_t Chroma::MdagMSysSolverOptEigCG< LatticeFermionD >::operator() | ( | LatticeFermionD & | psi, |
const LatticeFermionD & | chi | ||
) | const |
Definition at line 291 of file syssolver_mdagm_OPTeigcg.cc.
References Chroma::A(), Chroma::chi(), MdagM, and Chroma::psi.
SystemSolverResults_t Chroma::MdagMSysSolverOptEigCG< LatticeFermionF >::operator() | ( | LatticeFermionF & | psi, |
const LatticeFermionF & | chi | ||
) | const |
Definition at line 283 of file syssolver_mdagm_OPTeigcg.cc.
References Chroma::A(), Chroma::chi(), MdagM, and Chroma::psi.
SystemSolverResults_t Chroma::MdagMSysSolverOptEigCG< LatticeStaggeredFermionD >::operator() | ( | LatticeStaggeredFermionD & | psi, |
const LatticeStaggeredFermionD & | chi | ||
) | const |
Definition at line 311 of file syssolver_mdagm_OPTeigcg.cc.
References Chroma::A(), Chroma::chi(), MdagM, and Chroma::psi.
SystemSolverResults_t Chroma::MdagMSysSolverOptEigCG< LatticeStaggeredFermionF >::operator() | ( | LatticeStaggeredFermionF & | psi, |
const LatticeStaggeredFermionF & | chi | ||
) | const |
Definition at line 303 of file syssolver_mdagm_OPTeigcg.cc.
References Chroma::A(), Chroma::chi(), MdagM, and Chroma::psi.
|
virtual |
Solver the linear system.
psi | solution ( Modify ) |
chi | source ( Read ) |
Definitions supplied in the correspond .cc file
Implements Chroma::MdagMSystemSolver< T >.
|
inlinevirtual |
Solve the linear system starting with a chrono guess.
psi | solution (Write) |
chi | source (Read) |
predictor | a chronological predictor (Read) |
Implements Chroma::MdagMSystemSolver< T >.
Definition at line 249 of file syssolver_mdagm_OPTeigcg.h.
References Chroma::MdagMSysSolverOptEigCG< T >::A, Chroma::chi(), Chroma::END_CODE(), Chroma::MdagMSysSolverOptEigCG< T >::MdagM, Chroma::AbsChronologicalPredictor4D< T >::newVector(), Chroma::psi, and Chroma::START_CODE().
|
inline |
Read a OptEigInfo Type
Definition at line 107 of file syssolver_mdagm_OPTeigcg.h.
References Chroma::SysSolverOptEigCGParams::eigen_id, Chroma::SysSolverOptEigCGParams::file, Chroma::SysSolverOptEigCGParams::File_t::file_name, Chroma::i, Chroma::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance(), Chroma::MdagMSysSolverOptEigCG< T >::invParam, obj, Chroma::read(), and Chroma::MdagMSysSolverOptEigCG< T >::subset().
Referenced by Chroma::MdagMSysSolverOptEigCG< T >::MdagMSysSolverOptEigCG().
|
inline |
Write out an OptEigInfo Type
Definition at line 43 of file syssolver_mdagm_OPTeigcg.h.
References Chroma::SysSolverOptEigCGParams::eigen_id, Chroma::SysSolverOptEigCGParams::file, Chroma::SysSolverOptEigCGParams::File_t::file_name, Chroma::SysSolverOptEigCGParams::File_t::file_volfmt, Chroma::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance(), Chroma::MdagMSysSolverOptEigCG< T >::invParam, obj, Chroma::pop(), Chroma::push(), Chroma::MdagMSysSolverOptEigCG< T >::subset(), Chroma::uniqueId(), and Chroma::write().
Referenced by Chroma::MdagMSysSolverOptEigCG< T >::~MdagMSysSolverOptEigCG().
|
inlinevirtual |
Return the subset on which the operator acts.
Implements Chroma::MdagMSystemSolver< T >.
Definition at line 228 of file syssolver_mdagm_OPTeigcg.h.
References Chroma::MdagMSysSolverOptEigCG< T >::A.
Referenced by Chroma::MdagMSysSolverOptEigCG< T >::QIOReadOptEvecs(), and Chroma::MdagMSysSolverOptEigCG< T >::QIOWriteOptEvecs().
|
private |
Definition at line 277 of file syssolver_mdagm_OPTeigcg.h.
Referenced by Chroma::MdagMSysSolverOptEigCG< T >::MdagMSysSolverOptEigCG(), Chroma::MdagMSysSolverOptEigCG< T >::operator()(), and Chroma::MdagMSysSolverOptEigCG< T >::subset().
|
private |
Definition at line 278 of file syssolver_mdagm_OPTeigcg.h.
Referenced by Chroma::MdagMSysSolverOptEigCG< T >::MdagMSysSolverOptEigCG(), Chroma::MdagMSysSolverOptEigCG< T >::QIOReadOptEvecs(), Chroma::MdagMSysSolverOptEigCG< T >::QIOWriteOptEvecs(), and Chroma::MdagMSysSolverOptEigCG< T >::~MdagMSysSolverOptEigCG().
|
private |
Definition at line 276 of file syssolver_mdagm_OPTeigcg.h.
Referenced by Chroma::MdagMSysSolverOptEigCG< T >::operator()().
|
private |
Definition at line 275 of file syssolver_mdagm_OPTeigcg.h.
Referenced by Chroma::MdagMSysSolverOptEigCG< T >::MdagMSysSolverOptEigCG().