CHROMA
|
Solve a M*psi=chi linear system by biCG with eigenvectors. More...
#include <syssolver_linop_OPTeigbicg.h>
Public Member Functions | |
void | QIOWriteOptEvecs () |
Write out an OptEigInfo Type More... | |
void | QIOReadOptEvecs () |
Read a OptEigInfo Type More... | |
LinOpSysSolverOptEigBiCG (Handle< LinearOperator< T > > A_, const SysSolverOptEigBiCGParams &invParam_) | |
Constructor. More... | |
~LinOpSysSolverOptEigBiCG () | |
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() (LatticeFermionF &psi, const LatticeFermionF &chi) const |
SystemSolverResults_t | operator() (LatticeFermionD &psi, const LatticeFermionD &chi) const |
![]() | |
virtual | ~SystemSolver () |
Virtual destructor to help with cleanup;. More... | |
Private Member Functions | |
LinOpSysSolverOptEigBiCG () | |
Private Attributes | |
int | numMatvecs |
Handle< LinearOperator< T > > | A |
SysSolverOptEigBiCGParams | invParam |
Solve a M*psi=chi linear system by biCG with eigenvectors.
Definition at line 37 of file syssolver_linop_OPTeigbicg.h.
|
inline |
Constructor.
M_ | Linear operator ( Read ) |
invParam_ | inverter parameters ( Read ) |
Definition at line 204 of file syssolver_linop_OPTeigbicg.h.
References Chroma::LinOpSysSolverOptEigBiCG< T >::A, Chroma::SysSolverOptEigBiCGParams::eigen_id, Chroma::SysSolverOptEigBiCGParams::file, Chroma::LinAlg::EigInfo::init(), Chroma::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance(), Chroma::LinOpSysSolverOptEigBiCG< T >::invParam, Chroma::SysSolverOptEigBiCGParams::Neig_max, Chroma::LinOpSysSolverOptEigBiCG< T >::numMatvecs, Chroma::LinOpSysSolverOptEigBiCG< T >::QIOReadOptEvecs(), Chroma::SysSolverOptEigBiCGParams::File_t::read, Chroma::LinAlg::EigInfo::restartTol, and Chroma::SysSolverOptEigBiCGParams::restartTol.
|
inline |
Destructor is automatic.
Definition at line 227 of file syssolver_linop_OPTeigbicg.h.
References Chroma::SysSolverOptEigBiCGParams::cleanUpEvecs, Chroma::SysSolverOptEigBiCGParams::eigen_id, Chroma::SysSolverOptEigBiCGParams::file, Chroma::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance(), Chroma::LinOpSysSolverOptEigBiCG< T >::invParam, Chroma::LinOpSysSolverOptEigBiCG< T >::QIOWriteOptEvecs(), and Chroma::SysSolverOptEigBiCGParams::File_t::write.
|
inlineprivate |
Definition at line 286 of file syssolver_linop_OPTeigbicg.h.
SystemSolverResults_t Chroma::LinOpSysSolverOptEigBiCG< LatticeFermionD >::operator() | ( | LatticeFermionD & | psi, |
const LatticeFermionD & | chi | ||
) | const |
Definition at line 277 of file syssolver_linop_OPTeigbicg.cc.
References Chroma::A(), Chroma::chi(), and Chroma::psi.
SystemSolverResults_t Chroma::LinOpSysSolverOptEigBiCG< LatticeFermionF >::operator() | ( | LatticeFermionF & | psi, |
const LatticeFermionF & | chi | ||
) | const |
Definition at line 269 of file syssolver_linop_OPTeigbicg.cc.
References Chroma::A(), Chroma::chi(), and Chroma::psi.
|
virtual |
Solver the linear system.
psi | solution ( Modify ) |
chi | source ( Read ) |
Definitions supplied in the correspond .cc file
Implements Chroma::SystemSolver< T >.
|
inline |
Read a OptEigInfo Type
Definition at line 121 of file syssolver_linop_OPTeigbicg.h.
References Chroma::SysSolverOptEigBiCGParams::eigen_id, Chroma::SysSolverOptEigBiCGParams::file, Chroma::SysSolverOptEigBiCGParams::File_t::file_name, Chroma::i, Chroma::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance(), Chroma::LinOpSysSolverOptEigBiCG< T >::invParam, obj, Chroma::read(), and Chroma::LinOpSysSolverOptEigBiCG< T >::subset().
Referenced by Chroma::LinOpSysSolverOptEigBiCG< T >::LinOpSysSolverOptEigBiCG().
|
inline |
Write out an OptEigInfo Type
Definition at line 42 of file syssolver_linop_OPTeigbicg.h.
References Chroma::SysSolverOptEigBiCGParams::eigen_id, Chroma::SysSolverOptEigBiCGParams::file, Chroma::SysSolverOptEigBiCGParams::File_t::file_name, Chroma::SysSolverOptEigBiCGParams::File_t::file_volfmt, Chroma::i, Chroma::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance(), Chroma::LinOpSysSolverOptEigBiCG< T >::invParam, obj, Chroma::pop(), Chroma::push(), Chroma::LinOpSysSolverOptEigBiCG< T >::subset(), Chroma::uniqueId(), and Chroma::write().
Referenced by Chroma::LinOpSysSolverOptEigBiCG< T >::~LinOpSysSolverOptEigBiCG().
|
inlinevirtual |
Return the subset on which the operator acts.
Implements Chroma::SystemSolver< T >.
Definition at line 240 of file syssolver_linop_OPTeigbicg.h.
References Chroma::LinOpSysSolverOptEigBiCG< T >::A.
Referenced by Chroma::LinOpSysSolverOptEigBiCG< T >::QIOReadOptEvecs(), and Chroma::LinOpSysSolverOptEigBiCG< T >::QIOWriteOptEvecs().
|
private |
Definition at line 288 of file syssolver_linop_OPTeigbicg.h.
Referenced by Chroma::LinOpSysSolverOptEigBiCG< T >::LinOpSysSolverOptEigBiCG(), and Chroma::LinOpSysSolverOptEigBiCG< T >::subset().
|
private |
Definition at line 289 of file syssolver_linop_OPTeigbicg.h.
Referenced by Chroma::LinOpSysSolverOptEigBiCG< T >::LinOpSysSolverOptEigBiCG(), Chroma::LinOpSysSolverOptEigBiCG< T >::QIOReadOptEvecs(), Chroma::LinOpSysSolverOptEigBiCG< T >::QIOWriteOptEvecs(), and Chroma::LinOpSysSolverOptEigBiCG< T >::~LinOpSysSolverOptEigBiCG().
|
private |
Definition at line 287 of file syssolver_linop_OPTeigbicg.h.
Referenced by Chroma::LinOpSysSolverOptEigBiCG< T >::LinOpSysSolverOptEigBiCG().