CHROMA
|
Solve a M*psi=chi linear system by CG2 with eigenvectors. More...
#include <syssolver_linop_eigcg_array.h>
Public Member Functions | |
LinOpSysSolverEigCGArray (Handle< LinearOperatorArray< T > > A_, const SysSolverEigCGParams &invParam_) | |
Constructor. More... | |
~LinOpSysSolverEigCGArray () | |
Destructor is automatic. More... | |
const Subset & | subset (void) const |
Return the subset on which the operator acts. More... | |
int | size (void) const |
Expected length of array index. More... | |
SystemSolverResults_t | operator() (multi1d< T > &psi, const multi1d< T > &chi) const |
Solver the linear system. More... | |
SystemSolverResults_t | operator() (multi1d< LatticeFermionF > &psi, const multi1d< LatticeFermionF > &chi) const |
SystemSolverResults_t | operator() (multi1d< LatticeFermionD > &psi, const multi1d< LatticeFermionD > &chi) const |
Public Member Functions inherited from Chroma::SystemSolverArray< T > | |
virtual | ~SystemSolverArray () |
Virtual destructor to help with cleanup;. More... | |
Private Member Functions | |
LinOpSysSolverEigCGArray () | |
Private Attributes | |
Handle< LinearOperatorArray< T > > | MdagM |
Handle< LinearOperatorArray< T > > | A |
SysSolverEigCGParams | invParam |
Solve a M*psi=chi linear system by CG2 with eigenvectors.
Definition at line 35 of file syssolver_linop_eigcg_array.h.
|
inline |
Constructor.
M_ | Linear operator ( Read ) |
invParam_ | inverter parameters ( Read ) |
Definition at line 43 of file syssolver_linop_eigcg_array.h.
References Chroma::SysSolverEigCGParams::eigen_id, Chroma::LinAlg::RitzPairsArray< T >::init(), Chroma::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance(), Chroma::LinOpSysSolverEigCGArray< T >::invParam, Chroma::LinOpSysSolverEigCGArray< T >::MdagM, Chroma::SysSolverEigCGParams::Neig, and Chroma::SysSolverEigCGParams::Neig_max.
|
inline |
Destructor is automatic.
Definition at line 64 of file syssolver_linop_eigcg_array.h.
References Chroma::SysSolverEigCGParams::cleanUpEvecs, Chroma::SysSolverEigCGParams::eigen_id, Chroma::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance(), and Chroma::LinOpSysSolverEigCGArray< T >::invParam.
|
inlineprivate |
Definition at line 90 of file syssolver_linop_eigcg_array.h.
SystemSolverResults_t Chroma::LinOpSysSolverEigCGArray< LatticeFermionD >::operator() | ( | multi1d< LatticeFermionD > & | psi, |
const multi1d< LatticeFermionD > & | chi | ||
) | const |
Definition at line 242 of file syssolver_linop_eigcg_array.cc.
References Chroma::A(), Chroma::chi(), MdagM, and Chroma::psi.
SystemSolverResults_t Chroma::LinOpSysSolverEigCGArray< LatticeFermionF >::operator() | ( | multi1d< LatticeFermionF > & | psi, |
const multi1d< LatticeFermionF > & | chi | ||
) | const |
Definition at line 234 of file syssolver_linop_eigcg_array.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::SystemSolverArray< T >.
|
inlinevirtual |
Expected length of array index.
Implements Chroma::SystemSolverArray< T >.
Definition at line 76 of file syssolver_linop_eigcg_array.h.
References Chroma::LinOpSysSolverEigCGArray< T >::A.
|
inlinevirtual |
Return the subset on which the operator acts.
Implements Chroma::SystemSolverArray< T >.
Definition at line 73 of file syssolver_linop_eigcg_array.h.
References Chroma::LinOpSysSolverEigCGArray< T >::A.
|
private |
Definition at line 93 of file syssolver_linop_eigcg_array.h.
Referenced by Chroma::LinOpSysSolverEigCGArray< T >::size(), and Chroma::LinOpSysSolverEigCGArray< T >::subset().
|
private |
Definition at line 94 of file syssolver_linop_eigcg_array.h.
Referenced by Chroma::LinOpSysSolverEigCGArray< T >::LinOpSysSolverEigCGArray(), and Chroma::LinOpSysSolverEigCGArray< T >::~LinOpSysSolverEigCGArray().
|
private |
Definition at line 92 of file syssolver_linop_eigcg_array.h.
Referenced by Chroma::LinOpSysSolverEigCGArray< T >::LinOpSysSolverEigCGArray().