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

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

#include <syssolver_linop_eigcg_array.h>

Inheritance diagram for Chroma::LinOpSysSolverEigCGArray< T >:
Chroma::LinOpSystemSolverArray< T > Chroma::SystemSolverArray< T >

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
 

Detailed Description

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

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

Definition at line 35 of file syssolver_linop_eigcg_array.h.

Constructor & Destructor Documentation

◆ LinOpSysSolverEigCGArray() [1/2]

template<typename T >
Chroma::LinOpSysSolverEigCGArray< T >::LinOpSysSolverEigCGArray ( Handle< LinearOperatorArray< T > >  A_,
const SysSolverEigCGParams invParam_ 
)
inline

◆ ~LinOpSysSolverEigCGArray()

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

◆ LinOpSysSolverEigCGArray() [2/2]

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

Definition at line 90 of file syssolver_linop_eigcg_array.h.

Member Function Documentation

◆ operator()() [1/3]

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.

◆ operator()() [2/3]

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.

◆ operator()() [3/3]

template<typename T >
SystemSolverResults_t Chroma::LinOpSysSolverEigCGArray< T >::operator() ( multi1d< T > &  psi,
const multi1d< 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::SystemSolverArray< T >.

◆ size()

template<typename T >
int Chroma::LinOpSysSolverEigCGArray< T >::size ( void  ) const
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.

◆ subset()

template<typename T >
const Subset& Chroma::LinOpSysSolverEigCGArray< T >::subset ( void  ) const
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.

Member Data Documentation

◆ A

template<typename T >
Handle< LinearOperatorArray<T> > Chroma::LinOpSysSolverEigCGArray< T >::A
private

◆ invParam

template<typename T >
SysSolverEigCGParams Chroma::LinOpSysSolverEigCGArray< T >::invParam
private

◆ MdagM

template<typename T >
Handle< LinearOperatorArray<T> > Chroma::LinOpSysSolverEigCGArray< T >::MdagM
private

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