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

Linear system solvers. More...

#include <syssolver.h>

Inheritance diagram for Chroma::SystemSolver< T >:
Chroma::ContFrac5DQprop< T, P, Q > Chroma::DWFQprop< T > Chroma::EvenOddFermActQprop< T, P, Q > Chroma::FermActQprop< T > Chroma::HtContFrac5DQprop< T, P, Q > Chroma::LinOpSystemSolver< T > Chroma::MdagMSystemSolver< T > Chroma::OvExt5DQprop< T > Chroma::OvHTCFZ5DQprop< T > Chroma::OvUnprecCF5DQprop< T > Chroma::PolyPrecSystemSolver< T > Chroma::PrecFermActQprop< T, P, Q > Chroma::PrecOvExt5DQprop< T, P, Q > Chroma::SymEvenOddPrecActQprop< T, P, Q >

Public Member Functions

virtual ~SystemSolver ()
 Virtual destructor to help with cleanup;. More...
 
virtual SystemSolverResults_t operator() (T &psi, 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::SystemSolver< T >

Linear system solvers.

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

Definition at line 33 of file syssolver.h.

Constructor & Destructor Documentation

◆ ~SystemSolver()

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

Virtual destructor to help with cleanup;.

Definition at line 37 of file syssolver.h.

Member Function Documentation

◆ operator()()

template<typename T >
virtual SystemSolverResults_t Chroma::SystemSolver< T >::operator() ( T psi,
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 ???

Implemented in Chroma::MdagMSystemSolver< T >, Chroma::SymEvenOddPrecActQprop< T, P, Q >, Chroma::FermActQprop< T >, Chroma::EvenOddFermActQprop< T, P, Q >, Chroma::PrecFermActQprop< T, P, Q >, Chroma::DWFQprop< T >, Chroma::PolyPrecSysSolverCG< T >, Chroma::MdagMSysSolverRichardsonClover, Chroma::MdagMSysSolverReliableIBiCGStabClover, Chroma::MdagMSysSolverReliableCGClover, Chroma::MdagMSysSolverReliableBiCGStabClover, Chroma::MdagMSysSolverOptEigCG< T >, Chroma::MdagMSysSolverMR< T >, Chroma::MdagMSysSolverIBiCGStab< T >, Chroma::MdagMSysSolverQDPEigCG< T >, Chroma::MdagMSysSolverCGTimings< T >, Chroma::MdagMSysSolverCGLFClover, Chroma::MdagMSysSolverCG< T >, Chroma::MdagMSysSolverBiCGStab< T >, Chroma::LinOpSysSolverRichardsonClover, Chroma::LinOpSysSolverReliableIBiCGStabClover, Chroma::LinOpSysSolverReliableCGClover, Chroma::LinOpSysSolverReliableBiCGStabClover, Chroma::LinOpSysSolverOptEigBiCG< T >, Chroma::LinOpSysSolverMR< T >, Chroma::LinOpSysSolverIBiCGStab< T >, Chroma::LinOpSysSolverFGMRESDR, Chroma::LinOpSysSolverEigCG< T >, Chroma::LinOpSysSolverCGTiming< T >, Chroma::LinOpSysSolverCG< T >, Chroma::LinOpSysSolverBiCRStab< T >, Chroma::LinOpSysSolverBiCGStab< T >, Chroma::MdagMSysSolverQOPMG, Chroma::LinOpSysSolverQOPMG, Chroma::LinOpSysSolverMGProtoQPhiXEOClover, Chroma::LinOpSysSolverMGProtoQPhiXClover, Chroma::LinOpSysSolverMGProtoClover, Chroma::OvUnprecCF5DQprop< T >, Chroma::OvExt5DQprop< T >, Chroma::OvHTCFZ5DQprop< T >, Chroma::ContFrac5DQprop< T, P, Q >, Chroma::PrecOvExt5DQprop< T, P, Q >, Chroma::HtContFrac5DQprop< T, P, Q >, Chroma::AsqtadCPSWrapperQprop, Chroma::MdagMSystemSolver< LatticeFermion >, and Chroma::Ovlap4DQprop.

◆ subset()

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

Return the subset on which the operator acts.

Implemented in Chroma::MdagMSystemSolver< LatticeFermion >, Chroma::MdagMSystemSolver< T >, Chroma::SymEvenOddPrecActQprop< T, P, Q >, Chroma::FermActQprop< T >, Chroma::EvenOddFermActQprop< T, P, Q >, Chroma::PrecFermActQprop< T, P, Q >, Chroma::DWFQprop< T >, Chroma::AsqtadCPSWrapperQprop, Chroma::PolyPrecSysSolverCG< T >, Chroma::MdagMSysSolverRichardsonClover, Chroma::MdagMSysSolverReliableIBiCGStabClover, Chroma::MdagMSysSolverReliableCGClover, Chroma::MdagMSysSolverReliableBiCGStabClover, Chroma::MdagMSysSolverOptEigCG< T >, Chroma::MdagMSysSolverMR< T >, Chroma::MdagMSysSolverIBiCGStab< T >, Chroma::MdagMSysSolverQDPEigCG< T >, Chroma::MdagMSysSolverCGTimings< T >, Chroma::MdagMSysSolverCGLFClover, Chroma::MdagMSysSolverCG< T >, Chroma::MdagMSysSolverBiCGStab< T >, Chroma::LinOpSysSolverRichardsonClover, Chroma::LinOpSysSolverReliableIBiCGStabClover, Chroma::LinOpSysSolverReliableCGClover, Chroma::LinOpSysSolverReliableBiCGStabClover, Chroma::LinOpSysSolverOptEigBiCG< T >, Chroma::LinOpSysSolverMR< T >, Chroma::LinOpSysSolverIBiCGStab< T >, Chroma::LinOpSysSolverFGMRESDR, Chroma::LinOpSysSolverEigCG< T >, Chroma::LinOpSysSolverCGTiming< T >, Chroma::LinOpSysSolverCG< T >, Chroma::LinOpSysSolverBiCRStab< T >, Chroma::LinOpSysSolverBiCGStab< T >, Chroma::MdagMSysSolverQOPMG, Chroma::LinOpSysSolverQOPMG, Chroma::LinOpSysSolverMGProtoQPhiXEOClover, Chroma::LinOpSysSolverMGProtoQPhiXClover, Chroma::LinOpSysSolverMGProtoClover, Chroma::OvUnprecCF5DQprop< T >, Chroma::OvExt5DQprop< T >, Chroma::OvHTCFZ5DQprop< T >, Chroma::Ovlap4DQprop, Chroma::ContFrac5DQprop< T, P, Q >, Chroma::PrecOvExt5DQprop< T, P, Q >, and Chroma::HtContFrac5DQprop< T, P, Q >.

Referenced by Chroma::FlexibleArnoldiT().


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