CHROMA
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Chroma::MdagMSysSolverOptEigCG< T > Class Template Reference

Solve a M*psi=chi linear system by CG2 with eigenvectors. More...

#include <syssolver_mdagm_OPTeigcg.h>

Inheritance diagram for Chroma::MdagMSysSolverOptEigCG< T >:
Chroma::MdagMSystemSolver< T > Chroma::SystemSolver< T >

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
 

Detailed Description

template<typename T>
class Chroma::MdagMSysSolverOptEigCG< T >

Solve a M*psi=chi linear system by CG2 with eigenvectors.

Definition at line 38 of file syssolver_mdagm_OPTeigcg.h.

Constructor & Destructor Documentation

◆ MdagMSysSolverOptEigCG() [1/2]

template<typename T >
Chroma::MdagMSysSolverOptEigCG< T >::MdagMSysSolverOptEigCG ( Handle< LinearOperator< T > >  A_,
const SysSolverOptEigCGParams invParam_ 
)
inline

◆ ~MdagMSysSolverOptEigCG()

template<typename T >
Chroma::MdagMSysSolverOptEigCG< T >::~MdagMSysSolverOptEigCG ( )
inline

◆ MdagMSysSolverOptEigCG() [2/2]

template<typename T >
Chroma::MdagMSysSolverOptEigCG< T >::MdagMSysSolverOptEigCG ( )
inlineprivate

Definition at line 274 of file syssolver_mdagm_OPTeigcg.h.

Member Function Documentation

◆ operator()() [1/6]

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.

◆ operator()() [2/6]

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.

◆ operator()() [3/6]

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.

◆ operator()() [4/6]

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.

◆ operator()() [5/6]

template<typename T >
SystemSolverResults_t Chroma::MdagMSysSolverOptEigCG< T >::operator() ( T psi,
const T chi 
) const
virtual

Solver the linear system.

Parameters
psisolution ( Modify )
chisource ( Read )
Returns
syssolver results

Definitions supplied in the correspond .cc file

Implements Chroma::MdagMSystemSolver< T >.

◆ operator()() [6/6]

template<typename T >
SystemSolverResults_t Chroma::MdagMSysSolverOptEigCG< T >::operator() ( T psi,
const T chi,
AbsChronologicalPredictor4D< T > &  predictor 
) const
inlinevirtual

Solve the linear system starting with a chrono guess.

Parameters
psisolution (Write)
chisource (Read)
predictora chronological predictor (Read)
Returns
syssolver results

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().

◆ QIOReadOptEvecs()

template<typename T >
void Chroma::MdagMSysSolverOptEigCG< T >::QIOReadOptEvecs ( )
inline

◆ QIOWriteOptEvecs()

template<typename T >
void Chroma::MdagMSysSolverOptEigCG< T >::QIOWriteOptEvecs ( )
inline

◆ subset()

template<typename T >
const Subset& Chroma::MdagMSysSolverOptEigCG< T >::subset ( void  ) const
inlinevirtual

Member Data Documentation

◆ A

template<typename T >
Handle< LinearOperator<T> > Chroma::MdagMSysSolverOptEigCG< T >::A
private

◆ invParam

template<typename T >
SysSolverOptEigCGParams Chroma::MdagMSysSolverOptEigCG< T >::invParam
private

◆ MdagM

template<typename T >
Handle< LinearOperator<T> > Chroma::MdagMSysSolverOptEigCG< T >::MdagM
private

◆ numMatvecs

template<typename T >
int Chroma::MdagMSysSolverOptEigCG< T >::numMatvecs
private

The documentation for this class was generated from the following file: