CHROMA
Public Member Functions | List of all members
Chroma::WilsonTypeFermAct5D< T, P, Q > Class Template Referenceabstract

Wilson-like fermion actions. More...

#include <fermact.orig.h>

Inheritance diagram for Chroma::WilsonTypeFermAct5D< T, P, Q >:
Chroma::DiffFermAct5D< T, P, Q > Chroma::DiffFermAct5D< T, P, Q > Chroma::FermAct5D< T, P, Q > Chroma::FermAct5D< T, P, Q > Chroma::FermAct5D< T, P, Q > Chroma::FermAct5D< T, P, Q > Chroma::FermionAction< T, P, Q > Chroma::FermionAction< T, P, Q > Chroma::FermionAction< T, P, Q > Chroma::FermionAction< T, P, Q > Chroma::FermionAction< T, P, Q > Chroma::FermionAction< T, P, Q > Chroma::FermionAction< T, P, Q > Chroma::FermionAction< T, P, Q > Chroma::UnprecWilsonTypeFermAct5D< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::UnprecWilsonTypeFermAct5D< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::EvenOddPrecWilsonTypeFermAct5D< T, P, Q > Chroma::EvenOddPrecWilsonTypeFermAct5D< T, P, Q > Chroma::UnprecWilsonTypeFermAct5D< T, P, Q > Chroma::UnprecWilsonTypeFermAct5D< T, P, Q > Chroma::UnprecDWFermActBaseArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::UnprecHTContFrac5DFermActArray Chroma::UnprecOvExtFermActArray Chroma::UnprecOvlapContFrac5DFermActArray Chroma::UnprecDWFermActBaseArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::UnprecHTContFrac5DFermActArray Chroma::UnprecOvExtFermActArray Chroma::UnprecOvlapContFrac5DFermActArray Chroma::EvenOddPrecConstDetWilsonTypeFermAct5D< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::EvenOddPrecConstDetWilsonTypeFermAct5D< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::EvenOddPrecConstDetWilsonTypeFermAct5D< T, P, Q > Chroma::EvenOddPrecConstDetWilsonTypeFermAct5D< T, P, Q > Chroma::EvenOddPrecConstDetWilsonTypeFermAct5D< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::EvenOddPrecConstDetWilsonTypeFermAct5D< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::EvenOddPrecConstDetWilsonTypeFermAct5D< T, P, Q > Chroma::EvenOddPrecConstDetWilsonTypeFermAct5D< T, P, Q > Chroma::UnprecDWFermActBaseArray< T, P, Q > Chroma::UnprecDWFermActBaseArray< T, P, Q >

Public Member Functions

virtual ~WilsonTypeFermAct5D ()
 Virtual destructor to help with cleanup;. More...
 
virtual DiffLinearOperatorArray< T, P, Q > * lMdagM (Handle< FermState< T, P, Q > > state) const
 Produce a linear operator M^dag.M for this action. More...
 
virtual LinearOperatorArray< T > * hermitianLinOp (Handle< FermState< T, P, Q > > state) const =0
 Produce a hermitian version of the linear operator. More...
 
virtual LinOpSystemSolverArray< T > * invLinOp (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const
 Return a linear operator solver for this action to solve M*psi=chi. More...
 
virtual MdagMSystemSolverArray< T > * invMdagM (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const
 Return a linear operator solver for this action to solve MdagM*psi=chi. More...
 
virtual LinOpSystemSolverArray< T > * invLinOpPV (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const
 Return a linear operator solver for this action to solve PV*psi=chi. More...
 
virtual MdagMSystemSolverArray< T > * invMdagMPV (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const
 Return a linear operator solver for this action to solve PV^dag*PV*psi=chi. More...
 
virtual MdagMMultiSystemSolverArray< T > * mInvMdagM (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const
 Return a multi-shift linear operator solver for this action to solve (MdagM+shift)*psi=chi. More...
 
virtual MdagMMultiSystemSolverArray< T > * mInvMdagMPV (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const
 Return a multi-shift linear operator solver for this action to solve (PV^dag*PV+shift)*psi=chi. More...
 
virtual LinearOperator< T > * linOp4D (Handle< FermState< T, P, Q > > state, const Real &m_q, const GroupXML_t &invParam) const =0
 Produce an unpreconditioned linear operator projecting 5D to 4D (the inverse of qprop below) More...
 
virtual LinearOperator< T > * DeltaLs (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const =0
 Produce a DeltaLs = 1-epsilon^2(H) operator. More...
 
virtual void quarkProp (typename PropTypeTraits< T >::Type_t &q_sol, XMLWriter &xml_out, const typename PropTypeTraits< T >::Type_t &q_src, Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam, QuarkSpinType quarkSpinType, int &ncg_had) const
 Given a complete propagator as a source, this does all the inversions needed. More...
 
virtual ~WilsonTypeFermAct5D ()
 Virtual destructor to help with cleanup;. More...
 
virtual DiffLinearOperatorArray< T, P, Q > * lMdagM (Handle< FermState< T, P, Q > > state) const
 Produce a linear operator M^dag.M for this action. More...
 
virtual LinearOperatorArray< T > * hermitianLinOp (Handle< FermState< T, P, Q > > state) const =0
 Produce a hermitian version of the linear operator. More...
 
virtual LinOpSystemSolverArray< T > * invLinOp (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const
 Return a linear operator solver for this action to solve M*psi=chi. More...
 
virtual MdagMSystemSolverArray< T > * invMdagM (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const
 Return a linear operator solver for this action to solve MdagM*psi=chi. More...
 
virtual LinOpSystemSolverArray< T > * invLinOpPV (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const
 Return a linear operator solver for this action to solve PV*psi=chi. More...
 
virtual MdagMSystemSolverArray< T > * invMdagMPV (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const
 Return a linear operator solver for this action to solve PV^dag*PV*psi=chi. More...
 
virtual MdagMMultiSystemSolverArray< T > * mInvMdagM (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const
 Return a multi-shift linear operator solver for this action to solve (MdagM+shift)*psi=chi. More...
 
virtual MdagMMultiSystemSolverAccumulateArray< T > * mInvMdagMAcc (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const
 Return a multi-shift linear operator solver for this action to solve (MdagM+shift)*psi=chi. More...
 
virtual MdagMMultiSystemSolverArray< T > * mInvMdagMPV (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const
 Return a multi-shift linear operator solver for this action to solve (MdagM+shift)*psi=chi. More...
 
virtual MdagMMultiSystemSolverAccumulateArray< T > * mInvMdagMPVAcc (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const
 Return a multi-shift linear operator solver for this action to solve (PV^dag*PV+shift)*psi=chi. More...
 
virtual LinearOperator< T > * linOp4D (Handle< FermState< T, P, Q > > state, const Real &m_q, const GroupXML_t &invParam) const =0
 Produce an unpreconditioned linear operator projecting 5D to 4D (the inverse of qprop below) More...
 
virtual LinearOperator< T > * DeltaLs (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const =0
 Produce a DeltaLs = 1-epsilon^2(H) operator. More...
 
virtual void quarkProp (typename PropTypeTraits< T >::Type_t &q_sol, XMLWriter &xml_out, const typename PropTypeTraits< T >::Type_t &q_src, Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam, QuarkSpinType quarkSpinType, int &ncg_had) const
 Given a complete propagator as a source, this does all the inversions needed. More...
 
void quarkProp (LatticePropagator &q_sol, XMLWriter &xml_out, const LatticePropagator &q_src, Handle< FermState< LF, LCM, LCM > > state, const GroupXML_t &invParam, QuarkSpinType quarkSpinType, int &ncg_had) const
 Given a complete propagator as a source, this does all the inversions needed. More...
 
LinOpSystemSolverArray< LF > * invLinOp (Handle< FermState< LF, LCM, LCM > > state, const GroupXML_t &invParam) const
 
MdagMSystemSolverArray< LF > * invMdagM (Handle< FermState< LF, LCM, LCM > > state, const GroupXML_t &invParam) const
 Return a linear operator solver for this action to solve MdagM*psi=chi. More...
 
LinOpSystemSolverArray< LF > * invLinOpPV (Handle< FermState< LF, LCM, LCM > > state, const GroupXML_t &invParam) const
 
MdagMSystemSolverArray< LF > * invMdagMPV (Handle< FermState< LF, LCM, LCM > > state, const GroupXML_t &invParam) const
 Return a linear operator solver for this action to solve PV^dag*PV*psi=chi. More...
 
MdagMMultiSystemSolverArray< LF > * mInvMdagM (Handle< FermState< LF, LCM, LCM > > state, const GroupXML_t &invParam) const
 Return a linear operator solver for this action to solve (MdagM+shift_i)*psi_i = chi. More...
 
MdagMMultiSystemSolverAccumulateArray< LF > * mInvMdagMAcc (Handle< FermState< LF, LCM, LCM > > state, const GroupXML_t &invParam) const
 Return a linear operator solver for this action to solve (MdagM+shift_i)*psi_i = chi. More...
 
MdagMMultiSystemSolverArray< LF > * mInvMdagMPV (Handle< FermState< LF, LCM, LCM > > state, const GroupXML_t &invParam) const
 Return a linear operator solver for this action to solve (MdagM+shift_i)*psi_i = chi. More...
 
MdagMMultiSystemSolverAccumulateArray< LF > * mInvMdagMPVAcc (Handle< FermState< LF, LCM, LCM > > state, const GroupXML_t &invParam) const
 Return a linear operator solver for this action to solve (MdagM+shift_i)*psi_i = chi. More...
 
- Public Member Functions inherited from Chroma::DiffFermAct5D< T, P, Q >
virtual ~DiffFermAct5D ()
 Virtual destructor to help with cleanup;. More...
 
virtual DiffLinearOperatorArray< T, P, Q > * linOp (Handle< FermState< T, P, Q > > state) const =0
 Produce a linear operator for this action. More...
 
virtual DiffLinearOperatorArray< T, P, Q > * linOpPV (Handle< FermState< T, P, Q > > state) const =0
 Produce a Pauli-Villars linear operator for this action. More...
 
virtual ~DiffFermAct5D ()
 Virtual destructor to help with cleanup;. More...
 
virtual DiffLinearOperatorArray< T, P, Q > * linOp (Handle< FermState< T, P, Q > > state) const =0
 Produce a linear operator for this action. More...
 
virtual DiffLinearOperatorArray< T, P, Q > * linOpPV (Handle< FermState< T, P, Q > > state) const =0
 Produce a Pauli-Villars linear operator for this action. More...
 
- Public Member Functions inherited from Chroma::FermAct5D< T, P, Q >
virtual ~FermAct5D ()
 Virtual destructor to help with cleanup;. More...
 
virtual Real getQuarkMass () const =0
 Return the quark mass. More...
 
virtual int size () const =0
 Expected length of array index. More...
 
virtual SystemSolverArray< T > * qpropT (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const
 Return quark prop solver, solution of unpreconditioned system. More...
 
virtual ~FermAct5D ()
 Virtual destructor to help with cleanup;. More...
 
virtual Real getQuarkMass () const =0
 Return the quark mass. More...
 
virtual int size () const =0
 Expected length of array index. More...
 
virtual SystemSolverArray< T > * qpropT (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const
 Return quark prop solver, solution of unpreconditioned system. More...
 
SystemSolverArray< LatticeFermion > * qpropT (Handle< FermState< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > > state, const GroupXML_t &invParam) const
 
- Public Member Functions inherited from Chroma::FermionAction< T, P, Q >
virtual ~FermionAction ()
 Virtual destructor to help with cleanup;. More...
 
virtual FermState< T, P, Q > * createState (const Q &q) const
 Given links (coordinates Q) create the state needed for the linear operators. More...
 
virtual FermState< T, P, Q > * createState (const Q &q, XMLReader &reader, const std::string &path) const
 Given links (coordinates Q) create a state with additional info held by the XMLReader. More...
 
virtual const FermBC< T, P, Q > & getFermBC () const
 Return the fermion BC object for this action. More...
 
virtual const CreateFermState< T, P, Q > & getCreateState () const =0
 Return the factory object that produces a state. More...
 
virtual SystemSolver< T > * qprop (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const =0
 Return quark prop solver, solution of unpreconditioned system. More...
 
virtual void quarkProp (typename PropTypeTraits< T >::Type_t &q_sol, XMLWriter &xml_out, const typename PropTypeTraits< T >::Type_t &q_src, int t_src, int j_decay, Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam, QuarkSpinType quarkSpinType, bool obsvP, int &ncg_had) const
 Given a complete propagator as a source, this does all the inversions needed. More...
 
virtual ~FermionAction ()
 Virtual destructor to help with cleanup;. More...
 
virtual FermState< T, P, Q > * createState (const Q &q) const
 Given links (coordinates Q) create the state needed for the linear operators. More...
 
virtual FermState< T, P, Q > * createState (const Q &q, XMLReader &reader, const std::string &path) const
 Given links (coordinates Q) create a state with additional info held by the XMLReader. More...
 
virtual const FermBC< T, P, Q > & getFermBC () const
 Return the fermion BC object for this action. More...
 
virtual const CreateFermState< T, P, Q > & getCreateState () const =0
 Return the factory object that produces a state. More...
 
virtual SystemSolver< T > * qprop (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const =0
 Return quark prop solver, solution of unpreconditioned system. More...
 
virtual void quarkProp (typename PropTypeTraits< T >::Type_t &q_sol, XMLWriter &xml_out, const typename PropTypeTraits< T >::Type_t &q_src, int t_src, int j_decay, Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam, QuarkSpinType quarkSpinType, bool obsvP, int &ncg_had) const
 Given a complete propagator as a source, this does all the inversions needed. More...
 

Detailed Description

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

Wilson-like fermion actions.

Wilson-like fermion actions

Definition at line 402 of file fermact.orig.h.

Constructor & Destructor Documentation

◆ ~WilsonTypeFermAct5D() [1/2]

template<typename T , typename P , typename Q >
virtual Chroma::WilsonTypeFermAct5D< T, P, Q >::~WilsonTypeFermAct5D ( )
inlinevirtual

Virtual destructor to help with cleanup;.

Definition at line 406 of file fermact.orig.h.

◆ ~WilsonTypeFermAct5D() [2/2]

template<typename T , typename P , typename Q >
virtual Chroma::WilsonTypeFermAct5D< T, P, Q >::~WilsonTypeFermAct5D ( )
inlinevirtual

Virtual destructor to help with cleanup;.

Definition at line 96 of file wilstype_fermact_w.h.

Member Function Documentation

◆ DeltaLs() [1/2]

template<typename T , typename P , typename Q >
virtual LinearOperator<T>* Chroma::WilsonTypeFermAct5D< T, P, Q >::DeltaLs ( Handle< FermState< T, P, Q > >  state,
const GroupXML_t invParam 
) const
pure virtual

◆ DeltaLs() [2/2]

template<typename T , typename P , typename Q >
virtual LinearOperator<T>* Chroma::WilsonTypeFermAct5D< T, P, Q >::DeltaLs ( Handle< FermState< T, P, Q > >  state,
const GroupXML_t invParam 
) const
pure virtual

◆ hermitianLinOp() [1/2]

template<typename T , typename P , typename Q >
virtual LinearOperatorArray<T>* Chroma::WilsonTypeFermAct5D< T, P, Q >::hermitianLinOp ( Handle< FermState< T, P, Q > >  state) const
pure virtual

◆ hermitianLinOp() [2/2]

template<typename T , typename P , typename Q >
virtual LinearOperatorArray<T>* Chroma::WilsonTypeFermAct5D< T, P, Q >::hermitianLinOp ( Handle< FermState< T, P, Q > >  state) const
pure virtual

◆ invLinOp() [1/3]

LinOpSystemSolverArray< LF > * Chroma::WilsonTypeFermAct5D< LF, LCM, LCM >::invLinOp ( Handle< FermState< LF, LCM, LCM > >  state,
const GroupXML_t invParam 
) const

◆ invLinOp() [2/3]

template<typename T , typename P , typename Q >
virtual LinOpSystemSolverArray<T>* Chroma::WilsonTypeFermAct5D< T, P, Q >::invLinOp ( Handle< FermState< T, P, Q > >  state,
const GroupXML_t invParam 
) const
virtual

Return a linear operator solver for this action to solve M*psi=chi.

Default implementation provided

Implements Chroma::FermAct5D< T, P, Q >.

Referenced by Chroma::EvenOddPrecDWFermActArray::qpropT().

◆ invLinOp() [3/3]

template<typename T , typename P , typename Q >
virtual LinOpSystemSolverArray<T>* Chroma::WilsonTypeFermAct5D< T, P, Q >::invLinOp ( Handle< FermState< T, P, Q > >  state,
const GroupXML_t invParam 
) const
virtual

Return a linear operator solver for this action to solve M*psi=chi.

Default implementation provided

Implements Chroma::FermAct5D< T, P, Q >.

◆ invLinOpPV() [1/3]

LinOpSystemSolverArray< LF > * Chroma::WilsonTypeFermAct5D< LF, LCM, LCM >::invLinOpPV ( Handle< FermState< LF, LCM, LCM > >  state,
const GroupXML_t invParam 
) const

◆ invLinOpPV() [2/3]

template<typename T , typename P , typename Q >
virtual LinOpSystemSolverArray<T>* Chroma::WilsonTypeFermAct5D< T, P, Q >::invLinOpPV ( Handle< FermState< T, P, Q > >  state,
const GroupXML_t invParam 
) const
virtual

Return a linear operator solver for this action to solve PV*psi=chi.

Default implementation provided

Do we need this critter?

Implements Chroma::FermAct5D< T, P, Q >.

◆ invLinOpPV() [3/3]

template<typename T , typename P , typename Q >
virtual LinOpSystemSolverArray<T>* Chroma::WilsonTypeFermAct5D< T, P, Q >::invLinOpPV ( Handle< FermState< T, P, Q > >  state,
const GroupXML_t invParam 
) const
virtual

Return a linear operator solver for this action to solve PV*psi=chi.

Default implementation provided

Do we need this critter?

Implements Chroma::FermAct5D< T, P, Q >.

◆ invMdagM() [1/3]

MdagMSystemSolverArray< LF > * Chroma::WilsonTypeFermAct5D< LF, LCM, LCM >::invMdagM ( Handle< FermState< LF, LCM, LCM > >  state,
const GroupXML_t invParam 
) const

Return a linear operator solver for this action to solve MdagM*psi=chi.

Definition at line 390 of file quarkprop4_w.cc.

References Chroma::GroupXML_t::id, Chroma::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance(), Chroma::GroupXML_t::path, Chroma::state, and Chroma::GroupXML_t::xml.

◆ invMdagM() [2/3]

template<typename T , typename P , typename Q >
virtual MdagMSystemSolverArray<T>* Chroma::WilsonTypeFermAct5D< T, P, Q >::invMdagM ( Handle< FermState< T, P, Q > >  state,
const GroupXML_t invParam 
) const
virtual

◆ invMdagM() [3/3]

template<typename T , typename P , typename Q >
virtual MdagMSystemSolverArray<T>* Chroma::WilsonTypeFermAct5D< T, P, Q >::invMdagM ( Handle< FermState< T, P, Q > >  state,
const GroupXML_t invParam 
) const
virtual

Return a linear operator solver for this action to solve MdagM*psi=chi.

Default implementation provided

Implements Chroma::FermAct5D< T, P, Q >.

◆ invMdagMPV() [1/3]

MdagMSystemSolverArray< LF > * Chroma::WilsonTypeFermAct5D< LF, LCM, LCM >::invMdagMPV ( Handle< FermState< LF, LCM, LCM > >  state,
const GroupXML_t invParam 
) const

Return a linear operator solver for this action to solve PV^dag*PV*psi=chi.

Definition at line 427 of file quarkprop4_w.cc.

References Chroma::GroupXML_t::id, Chroma::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance(), Chroma::GroupXML_t::path, Chroma::state, and Chroma::GroupXML_t::xml.

◆ invMdagMPV() [2/3]

template<typename T , typename P , typename Q >
virtual MdagMSystemSolverArray<T>* Chroma::WilsonTypeFermAct5D< T, P, Q >::invMdagMPV ( Handle< FermState< T, P, Q > >  state,
const GroupXML_t invParam 
) const
virtual

Return a linear operator solver for this action to solve PV^dag*PV*psi=chi.

Default implementation provided

Implements Chroma::FermAct5D< T, P, Q >.

◆ invMdagMPV() [3/3]

template<typename T , typename P , typename Q >
virtual MdagMSystemSolverArray<T>* Chroma::WilsonTypeFermAct5D< T, P, Q >::invMdagMPV ( Handle< FermState< T, P, Q > >  state,
const GroupXML_t invParam 
) const
virtual

Return a linear operator solver for this action to solve PV^dag*PV*psi=chi.

Default implementation provided

Implements Chroma::FermAct5D< T, P, Q >.

◆ linOp4D() [1/2]

template<typename T , typename P , typename Q >
virtual LinearOperator<T>* Chroma::WilsonTypeFermAct5D< T, P, Q >::linOp4D ( Handle< FermState< T, P, Q > >  state,
const Real &  m_q,
const GroupXML_t invParam 
) const
pure virtual

◆ linOp4D() [2/2]

template<typename T , typename P , typename Q >
virtual LinearOperator<T>* Chroma::WilsonTypeFermAct5D< T, P, Q >::linOp4D ( Handle< FermState< T, P, Q > >  state,
const Real &  m_q,
const GroupXML_t invParam 
) const
pure virtual

◆ lMdagM() [1/2]

template<typename T , typename P , typename Q >
virtual DiffLinearOperatorArray<T,P,Q>* Chroma::WilsonTypeFermAct5D< T, P, Q >::lMdagM ( Handle< FermState< T, P, Q > >  state) const
inlinevirtual

◆ lMdagM() [2/2]

template<typename T , typename P , typename Q >
virtual DiffLinearOperatorArray<T,P,Q>* Chroma::WilsonTypeFermAct5D< T, P, Q >::lMdagM ( Handle< FermState< T, P, Q > >  state) const
inlinevirtual

Produce a linear operator M^dag.M for this action.

Default implementation

Implements Chroma::DiffFermAct5D< T, P, Q >.

Definition at line 100 of file wilstype_fermact_w.h.

References Chroma::DiffFermAct5D< T, P, Q >::linOp(), and Chroma::state.

◆ mInvMdagM() [1/3]

MdagMMultiSystemSolverArray< LF > * Chroma::WilsonTypeFermAct5D< LF, LCM, LCM >::mInvMdagM ( Handle< FermState< LF, LCM, LCM > >  state,
const GroupXML_t invParam 
) const

Return a linear operator solver for this action to solve (MdagM+shift_i)*psi_i = chi.

Definition at line 445 of file quarkprop4_w.cc.

References Chroma::GroupXML_t::id, Chroma::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance(), Chroma::GroupXML_t::path, Chroma::state, and Chroma::GroupXML_t::xml.

◆ mInvMdagM() [2/3]

template<typename T , typename P , typename Q >
virtual MdagMMultiSystemSolverArray<T>* Chroma::WilsonTypeFermAct5D< T, P, Q >::mInvMdagM ( Handle< FermState< T, P, Q > >  state,
const GroupXML_t invParam 
) const
virtual

◆ mInvMdagM() [3/3]

template<typename T , typename P , typename Q >
virtual MdagMMultiSystemSolverArray<T>* Chroma::WilsonTypeFermAct5D< T, P, Q >::mInvMdagM ( Handle< FermState< T, P, Q > >  state,
const GroupXML_t invParam 
) const
virtual

Return a multi-shift linear operator solver for this action to solve (MdagM+shift)*psi=chi.

Default implementation provided

Implements Chroma::FermAct5D< T, P, Q >.

◆ mInvMdagMAcc() [1/2]

MdagMMultiSystemSolverAccumulateArray< LF > * Chroma::WilsonTypeFermAct5D< LF, LCM, LCM >::mInvMdagMAcc ( Handle< FermState< LF, LCM, LCM > >  state,
const GroupXML_t invParam 
) const

Return a linear operator solver for this action to solve (MdagM+shift_i)*psi_i = chi.

Definition at line 462 of file quarkprop4_w.cc.

References Chroma::GroupXML_t::id, Chroma::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance(), Chroma::GroupXML_t::path, Chroma::state, and Chroma::GroupXML_t::xml.

◆ mInvMdagMAcc() [2/2]

template<typename T , typename P , typename Q >
virtual MdagMMultiSystemSolverAccumulateArray<T>* Chroma::WilsonTypeFermAct5D< T, P, Q >::mInvMdagMAcc ( Handle< FermState< T, P, Q > >  state,
const GroupXML_t invParam 
) const
virtual

Return a multi-shift linear operator solver for this action to solve (MdagM+shift)*psi=chi.

Default implementation provided

Implements Chroma::FermAct5D< T, P, Q >.

◆ mInvMdagMPV() [1/3]

MdagMMultiSystemSolverArray< LF > * Chroma::WilsonTypeFermAct5D< LF, LCM, LCM >::mInvMdagMPV ( Handle< FermState< LF, LCM, LCM > >  state,
const GroupXML_t invParam 
) const

Return a linear operator solver for this action to solve (MdagM+shift_i)*psi_i = chi.

Definition at line 479 of file quarkprop4_w.cc.

References Chroma::GroupXML_t::id, Chroma::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance(), MdagM, Chroma::GroupXML_t::path, Chroma::state, and Chroma::GroupXML_t::xml.

◆ mInvMdagMPV() [2/3]

template<typename T , typename P , typename Q >
virtual MdagMMultiSystemSolverArray<T>* Chroma::WilsonTypeFermAct5D< T, P, Q >::mInvMdagMPV ( Handle< FermState< T, P, Q > >  state,
const GroupXML_t invParam 
) const
virtual

Return a multi-shift linear operator solver for this action to solve (PV^dag*PV+shift)*psi=chi.

Default implementation provided

Implements Chroma::FermAct5D< T, P, Q >.

◆ mInvMdagMPV() [3/3]

template<typename T , typename P , typename Q >
virtual MdagMMultiSystemSolverArray<T>* Chroma::WilsonTypeFermAct5D< T, P, Q >::mInvMdagMPV ( Handle< FermState< T, P, Q > >  state,
const GroupXML_t invParam 
) const
virtual

Return a multi-shift linear operator solver for this action to solve (MdagM+shift)*psi=chi.

Default implementation provided

Implements Chroma::FermAct5D< T, P, Q >.

◆ mInvMdagMPVAcc() [1/2]

MdagMMultiSystemSolverAccumulateArray< LF > * Chroma::WilsonTypeFermAct5D< LF, LCM, LCM >::mInvMdagMPVAcc ( Handle< FermState< LF, LCM, LCM > >  state,
const GroupXML_t invParam 
) const

Return a linear operator solver for this action to solve (MdagM+shift_i)*psi_i = chi.

Definition at line 500 of file quarkprop4_w.cc.

References Chroma::GroupXML_t::id, Chroma::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance(), MdagM, Chroma::GroupXML_t::path, Chroma::state, and Chroma::GroupXML_t::xml.

◆ mInvMdagMPVAcc() [2/2]

template<typename T , typename P , typename Q >
virtual MdagMMultiSystemSolverAccumulateArray<T>* Chroma::WilsonTypeFermAct5D< T, P, Q >::mInvMdagMPVAcc ( Handle< FermState< T, P, Q > >  state,
const GroupXML_t invParam 
) const
virtual

Return a multi-shift linear operator solver for this action to solve (PV^dag*PV+shift)*psi=chi.

Default implementation provided

Implements Chroma::FermAct5D< T, P, Q >.

◆ quarkProp() [1/3]

void Chroma::WilsonTypeFermAct5D< LF, LCM, LCM >::quarkProp ( LatticePropagator &  q_sol,
XMLWriter &  xml_out,
const LatticePropagator &  q_src,
Handle< FermState< LF, LCM, LCM > >  state,
const GroupXML_t invParam,
QuarkSpinType  quarkSpinType,
int &  ncg_had 
) const

Given a complete propagator as a source, this does all the inversions needed.

This routine is actually generic to all Wilson-like fermions

Parameters
q_solquark propagator ( Write )
q_srcsource ( Read )
invParaminverter parameters ( Read )
ncg_hadnumber of CG iterations ( Write )

Definition at line 261 of file quarkprop4_w.cc.

References Chroma::state.

◆ quarkProp() [2/3]

template<typename T , typename P , typename Q >
virtual void Chroma::WilsonTypeFermAct5D< T, P, Q >::quarkProp ( typename PropTypeTraits< T >::Type_t &  q_sol,
XMLWriter &  xml_out,
const typename PropTypeTraits< T >::Type_t &  q_src,
Handle< FermState< T, P, Q > >  state,
const GroupXML_t invParam,
QuarkSpinType  quarkSpinType,
int &  ncg_had 
) const
virtual

Given a complete propagator as a source, this does all the inversions needed.

Provides a default version

Parameters
q_solquark propagator ( Write )
q_srcsource ( Read )
xml_outdiagnostic output ( Modify )
stategauge connection state ( Read )
invParaminverter parameters ( Read )
quarkSpinTypecompute only a non-relativistic prop ( Read )
ncg_hadnumber of solver iterations ( Write )

Implements Chroma::FermionAction< T, P, Q >.

◆ quarkProp() [3/3]

template<typename T , typename P , typename Q >
virtual void Chroma::WilsonTypeFermAct5D< T, P, Q >::quarkProp ( typename PropTypeTraits< T >::Type_t &  q_sol,
XMLWriter &  xml_out,
const typename PropTypeTraits< T >::Type_t &  q_src,
Handle< FermState< T, P, Q > >  state,
const GroupXML_t invParam,
QuarkSpinType  quarkSpinType,
int &  ncg_had 
) const
virtual

Given a complete propagator as a source, this does all the inversions needed.

Provides a default version

Parameters
q_solquark propagator ( Write )
q_srcsource ( Read )
xml_outdiagnostic output ( Modify )
stategauge connection state ( Read )
invParaminverter parameters ( Read )
quarkSpinTypecompute only a non-relativistic prop ( Read )
ncg_hadnumber of solver iterations ( Write )

Implements Chroma::FermionAction< T, P, Q >.


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