CHROMA
Public Member Functions | List of all members
Chroma::MultiSystemSolver< T > Class Template Referenceabstract

Linear multi-system solvers. More...

#include <syssolver.h>

Inheritance diagram for Chroma::MultiSystemSolver< T >:
Chroma::MdagMMultiSystemSolver< LatticeFermion > Chroma::LinOpMultiSystemSolver< T > Chroma::MdagMMultiSystemSolver< T > Chroma::MdagMMultiSysSolverCGChronoClover Chroma::LinOpMultiSysSolverMR< T > Chroma::MdagMMultiSysSolverCG< T >

Public Member Functions

virtual ~MultiSystemSolver ()
 Virtual destructor to help with cleanup;. More...
 
virtual SystemSolverResults_t operator() (multi1d< T > &psi, const multi1d< Real > &shifts, const T &chi) const =0
 Apply the operator onto a source std::vector. More...
 
virtual const Subset & subset () const =0
 Return the subset on which the operator acts. More...
 

Detailed Description

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

Linear multi-system solvers.

Solves multi-shift linear systems of equations. The solver may only live on a subset.

Definition at line 92 of file syssolver.h.

Constructor & Destructor Documentation

◆ ~MultiSystemSolver()

template<typename T >
virtual Chroma::MultiSystemSolver< T >::~MultiSystemSolver ( )
inlinevirtual

Virtual destructor to help with cleanup;.

Definition at line 96 of file syssolver.h.

Member Function Documentation

◆ operator()()

template<typename T >
virtual SystemSolverResults_t Chroma::MultiSystemSolver< T >::operator() ( multi1d< T > &  psi,
const multi1d< Real > &  shifts,
const T chi 
) const
pure virtual

Apply the operator onto a source std::vector.

Solves A*psi = chi or psi = A^(-1)*chi up to some accuracy. There is the interesting possibility of generalizing to support PLUS/MINUS

Should the accuracy be specified here ???

Should the shifts be here or in the constructor???

Implemented in Chroma::MdagMMultiSysSolverCGChronoClover, Chroma::MdagMMultiSysSolverCG< T >, and Chroma::LinOpMultiSysSolverMR< T >.

◆ subset()

template<typename T >
virtual const Subset& Chroma::MultiSystemSolver< T >::subset ( ) const
pure virtual

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