CHROMA
Public Member Functions | Protected Member Functions | Private Attributes | List of all members

Propagator of a generic even-odd preconditioned 5D fermion linear operator. More...

#include <eoprec_fermact_qprop_array.h>

Inheritance diagram for Chroma::PrecFermAct5DQprop< T, P, Q >:
Chroma::SystemSolverArray< T >

Public Member Functions

 PrecFermAct5DQprop (Handle< EvenOddPrecLinearOperatorArray< T, P, Q > > A_, Handle< LinOpSystemSolverArray< T > > invA_)
 Constructor. More...
 
 PrecFermAct5DQprop (Handle< EvenOddPrecLinearOperatorArray< T, P, Q > > A_, Handle< LinOpSystemSolverArray< T > > invA_, Handle< FermState< T, P, Q > > state_, const Real &OverMass_, const Real &Mass_, const AnisoParam_t &anisoParam_, const GroupXML_t &invParam_)
 Another constructor for compatibility. More...
 
 ~PrecFermAct5DQprop ()
 Destructor is automatic. More...
 
int size () const
 Expected length of array index. More...
 
const Subset & subset () const
 Return the subset on which the operator acts. More...
 
SystemSolverResults_t operator() (multi1d< T > &psi, const multi1d< T > &chi) const
 Solver the linear system. More...
 
SystemSolverResults_t operator() (multi1d< LatticeFermion > &psi, const multi1d< LatticeFermion > &chi) const
 Propagator of a generic even-odd preconditioned fermion linear operator. More...
 
- Public Member Functions inherited from Chroma::SystemSolverArray< T >
virtual ~SystemSolverArray ()
 Virtual destructor to help with cleanup;. More...
 

Protected Member Functions

 PrecFermAct5DQprop ()
 Hide default constructor. More...
 

Private Attributes

Handle< EvenOddPrecLinearOperatorArray< T, P, Q > > A
 
Handle< LinOpSystemSolverArray< T > > invA
 

Detailed Description

template<typename T, typename P, typename Q>
class Chroma::PrecFermAct5DQprop< T, P, Q >

Propagator of a generic even-odd preconditioned 5D fermion linear operator.

This routine is actually generic to all even-odd 5D preconditioned fermions

Definition at line 22 of file eoprec_fermact_qprop_array.h.

Constructor & Destructor Documentation

◆ PrecFermAct5DQprop() [1/3]

template<typename T , typename P , typename Q >
Chroma::PrecFermAct5DQprop< T, P, Q >::PrecFermAct5DQprop ( Handle< EvenOddPrecLinearOperatorArray< T, P, Q > >  A_,
Handle< LinOpSystemSolverArray< T > >  invA_ 
)
inline

Constructor.

Parameters
A_Linear operator ( Read )
invParam_inverter parameters ( Read )

Definition at line 30 of file eoprec_fermact_qprop_array.h.

◆ PrecFermAct5DQprop() [2/3]

template<typename T , typename P , typename Q >
Chroma::PrecFermAct5DQprop< T, P, Q >::PrecFermAct5DQprop ( Handle< EvenOddPrecLinearOperatorArray< T, P, Q > >  A_,
Handle< LinOpSystemSolverArray< T > >  invA_,
Handle< FermState< T, P, Q > >  state_,
const Real &  OverMass_,
const Real &  Mass_,
const AnisoParam_t anisoParam_,
const GroupXML_t invParam_ 
)
inline

Another constructor for compatibility.

This constructor exists so this class can be compatible with optimized inverter constructors

Parameters
A_Linear operator ( Read )
invParam_inverter parameters ( Read )

Definition at line 42 of file eoprec_fermact_qprop_array.h.

◆ ~PrecFermAct5DQprop()

template<typename T , typename P , typename Q >
Chroma::PrecFermAct5DQprop< T, P, Q >::~PrecFermAct5DQprop ( )
inline

Destructor is automatic.

Definition at line 53 of file eoprec_fermact_qprop_array.h.

◆ PrecFermAct5DQprop() [3/3]

template<typename T , typename P , typename Q >
Chroma::PrecFermAct5DQprop< T, P, Q >::PrecFermAct5DQprop ( )
inlineprotected

Hide default constructor.

Definition at line 71 of file eoprec_fermact_qprop_array.h.

Member Function Documentation

◆ operator()() [1/2]

SystemSolverResults_t Chroma::PrecFermAct5DQprop< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >::operator() ( multi1d< LatticeFermion > &  psi,
const multi1d< LatticeFermion > &  chi 
) const
virtual

Propagator of a generic even-odd preconditioned fermion linear operator.

Parameters
psiquark propagator ( Modify )
chisource ( Read )
Returns
number of CG iterations

Implements Chroma::SystemSolverArray< T >.

Definition at line 147 of file eoprec_fermact_qprop_array.cc.

References Chroma::A(), Chroma::chi(), Chroma::END_CODE(), n, N5, Chroma::PLUS, Chroma::psi, Chroma::QDP_error_exit(), Chroma::r, Chroma::SystemSolverResults_t::resid, Chroma::START_CODE(), and tmp2.

◆ operator()() [2/2]

template<typename T , typename P , typename Q >
SystemSolverResults_t Chroma::PrecFermAct5DQprop< T, P, Q >::operator() ( multi1d< T > &  psi,
const multi1d< T > &  chi 
) const
virtual

Solver the linear system.

Parameters
psiquark propagator ( Modify )
chisource ( Read )
Returns
number of CG iterations

Implements Chroma::SystemSolverArray< T >.

◆ size()

template<typename T , typename P , typename Q >
int Chroma::PrecFermAct5DQprop< T, P, Q >::size ( void  ) const
inlinevirtual

Expected length of array index.

Implements Chroma::SystemSolverArray< T >.

Definition at line 56 of file eoprec_fermact_qprop_array.h.

References Chroma::PrecFermAct5DQprop< T, P, Q >::A.

◆ subset()

template<typename T , typename P , typename Q >
const Subset& Chroma::PrecFermAct5DQprop< T, P, Q >::subset ( void  ) const
inlinevirtual

Return the subset on which the operator acts.

Implements Chroma::SystemSolverArray< T >.

Definition at line 59 of file eoprec_fermact_qprop_array.h.

Member Data Documentation

◆ A

template<typename T , typename P , typename Q >
Handle< EvenOddPrecLinearOperatorArray<T,P,Q> > Chroma::PrecFermAct5DQprop< T, P, Q >::A
private

◆ invA

template<typename T , typename P , typename Q >
Handle< LinOpSystemSolverArray<T> > Chroma::PrecFermAct5DQprop< T, P, Q >::invA
private

Definition at line 75 of file eoprec_fermact_qprop_array.h.


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