CHROMA
|
Wilson-like fermion actions. More...
#include <fermact.orig.h>
Public Member Functions | |
virtual | ~WilsonTypeFermAct () |
Virtual destructor to help with cleanup;. More... | |
virtual DiffLinearOperator< T, P, Q > * | lMdagM (Handle< FermState< T, P, Q > > state) const |
Produce a linear operator M^dag.M for this action. More... | |
virtual LinearOperator< T > * | hermitianLinOp (Handle< FermState< T, P, Q > > state) const =0 |
Produce a hermitian version of the linear operator. More... | |
virtual LinOpSystemSolver< 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 MdagMSystemSolver< 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 MdagMMultiSystemSolver< 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 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 | ~WilsonTypeFermAct () |
Virtual destructor to help with cleanup;. More... | |
virtual DiffLinearOperator< T, P, Q > * | lMdagM (Handle< FermState< T, P, Q > > state) const |
Produce a linear operator M^dag.M for this action. More... | |
virtual LinearOperator< T > * | hermitianLinOp (Handle< FermState< T, P, Q > > state) const =0 |
Produce a hermitian version of the linear operator. More... | |
virtual LinOpSystemSolver< 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 MdagMSystemSolver< 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 LinOpMultiSystemSolver< T > * | mInvLinOp (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const |
Return a multi-shift linear operator solver for this action to solve (M+shift)*psi=chi. More... | |
virtual MdagMMultiSystemSolver< 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 MdagMMultiSystemSolverAccumulate< T > * | mInvMdagMAcc (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const |
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... | |
LinOpSystemSolver< LF > * | invLinOp (Handle< FermState< LF, LCM, LCM > > state, const GroupXML_t &invParam) const |
MdagMSystemSolver< 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... | |
LinOpMultiSystemSolver< LF > * | mInvLinOp (Handle< FermState< LF, LCM, LCM > > state, const GroupXML_t &invParam) const |
Return a linear operator solver for this action to solve (M+shift_i)*psi_i = chi. More... | |
MdagMMultiSystemSolver< 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... | |
MdagMMultiSystemSolverAccumulate< 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... | |
Public Member Functions inherited from Chroma::DiffFermAct4D< T, P, Q > | |
virtual | ~DiffFermAct4D () |
Virtual destructor to help with cleanup;. More... | |
virtual DiffLinearOperator< T, Q, P > * | linOp (Handle< FermState< T, P, Q > > state) const =0 |
Produce a linear operator for this action. More... | |
virtual | ~DiffFermAct4D () |
Virtual destructor to help with cleanup;. More... | |
virtual DiffLinearOperator< T, Q, P > * | linOp (Handle< FermState< T, P, Q > > state) const =0 |
Produce a linear operator for this action. More... | |
Public Member Functions inherited from Chroma::FermAct4D< T, P, Q > | |
virtual | ~FermAct4D () |
Virtual destructor to help with cleanup;. More... | |
virtual SystemSolver< T > * | qprop (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const |
Return quark prop solver, solution of unpreconditioned system. More... | |
virtual | ~FermAct4D () |
Virtual destructor to help with cleanup;. More... | |
virtual SystemSolver< T > * | qprop (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const |
Return quark prop solver, solution of unpreconditioned system. More... | |
SystemSolver< LatticeFermion > * | qprop (Handle< FermState< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > > state, const GroupXML_t &invParam) const |
Return quark prop solver, solution of unpreconditioned system. More... | |
SystemSolver< LatticeStaggeredFermion > * | qprop (Handle< FermState< LatticeStaggeredFermion, 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 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 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... | |
Wilson-like fermion actions.
Wilson-like fermion actions
Definition at line 343 of file fermact.orig.h.
|
inlinevirtual |
Virtual destructor to help with cleanup;.
Definition at line 347 of file fermact.orig.h.
|
inlinevirtual |
Virtual destructor to help with cleanup;.
Definition at line 27 of file wilstype_fermact_w.h.
|
pure virtual |
Produce a hermitian version of the linear operator.
Implemented in Chroma::UnprecWilsonFermAct, Chroma::UnprecW12FermAct, Chroma::UnprecParWilsonFermAct, Chroma::UnprecHamberWuFermAct, Chroma::UnprecGrapheneFermAct, Chroma::UnprecDWFTransfFermAct, Chroma::UnprecCloverFermAct, Chroma::SymEvenOddPrecCloverFermAct, Chroma::PolyChebFermAct, Chroma::OverlapFermActBase, Chroma::EvenOddPrecWilsonFermAct, Chroma::EvenOddPrecWilsonCoarseFineFermAct, Chroma::EvenOddPrecSLRCFermAct, Chroma::EvenOddPrecSLICFermAct, Chroma::EvenOddPrecParWilsonFermAct, Chroma::EvenOddPrecCloverOrbifoldFermAct, Chroma::EvenOddPrecCloverFermAct, and Chroma::EvenOddPrecCloverExtFieldFermAct.
Referenced by Chroma::TwoFlavorExactPolyPrecWilsonTypeFermMonomial< P, Q, Phi >::refreshInternalFields().
|
pure virtual |
Produce a hermitian version of the linear operator.
Implemented in Chroma::UnprecWilsonFermAct, Chroma::UnprecW12FermAct, Chroma::UnprecParWilsonFermAct, Chroma::UnprecHamberWuFermAct, Chroma::UnprecGrapheneFermAct, Chroma::UnprecDWFTransfFermAct, Chroma::UnprecCloverFermAct, Chroma::SymEvenOddPrecCloverFermAct, Chroma::PolyChebFermAct, Chroma::OverlapFermActBase, Chroma::EvenOddPrecWilsonFermAct, Chroma::EvenOddPrecWilsonCoarseFineFermAct, Chroma::EvenOddPrecSLRCFermAct, Chroma::EvenOddPrecSLICFermAct, Chroma::EvenOddPrecParWilsonFermAct, Chroma::EvenOddPrecCloverOrbifoldFermAct, Chroma::EvenOddPrecCloverFermAct, and Chroma::EvenOddPrecCloverExtFieldFermAct.
LinOpSystemSolver< LF > * Chroma::WilsonTypeFermAct< LF, LCM, LCM >::invLinOp | ( | Handle< FermState< LF, LCM, LCM > > | state, |
const GroupXML_t & | invParam | ||
) | const |
Definition at line 282 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.
|
virtual |
Return a linear operator solver for this action to solve M*psi=chi.
Default implementation
Implements Chroma::FermAct4D< T, P, Q >.
Reimplemented in Chroma::EvenOddPrecWilsonFermAct, and Chroma::EvenOddPrecWilsonCoarseFineFermAct.
|
virtual |
Return a linear operator solver for this action to solve M*psi=chi.
Default implementation
Implements Chroma::FermAct4D< T, P, Q >.
Reimplemented in Chroma::EvenOddPrecWilsonFermAct, and Chroma::EvenOddPrecWilsonCoarseFineFermAct.
MdagMSystemSolver< LF > * Chroma::WilsonTypeFermAct< 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 300 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.
|
virtual |
Return a linear operator solver for this action to solve MdagM*psi=chi.
Default implementation
Implements Chroma::FermAct4D< T, P, Q >.
Reimplemented in Chroma::EvenOddPrecWilsonFermAct, and Chroma::EvenOddPrecWilsonCoarseFineFermAct.
Referenced by Chroma::TwoFlavorExactWilsonTypeFermMonomial< P, Q, Phi >::dsdq(), Chroma::TwoFlavorExactRatioConvConvWilsonTypeFermMonomial< P, Q, Phi >::dsdq(), Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial< P, Q, Phi >::getX(), Chroma::TwoFlavorExactRatioConvConvWilsonTypeFermMonomial< P, Q, Phi >::refreshInternalFields(), Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial< P, Q, Phi >::refreshInternalFields(), Chroma::TwoFlavorExactUnprecWilsonTypeFermMonomial< P, Q, Phi >::S(), Chroma::TwoFlavorExactUnprecRatioConvConvWilsonTypeFermMonomial< P, Q, Phi >::S(), Chroma::EvenOddPrecConstDetTwoFlavorWilsonTypeFermMonomial::S_odd_odd(), and Chroma::SymEvenOddPrecConstDetTwoFlavorWilsonTypeFermMonomial::S_odd_odd().
|
virtual |
Return a linear operator solver for this action to solve MdagM*psi=chi.
Default implementation
Implements Chroma::FermAct4D< T, P, Q >.
Reimplemented in Chroma::EvenOddPrecWilsonFermAct, and Chroma::EvenOddPrecWilsonCoarseFineFermAct.
|
inlinevirtual |
Produce a linear operator M^dag.M for this action.
Default implementation
Implements Chroma::DiffFermAct4D< T, P, Q >.
Reimplemented in Chroma::OverlapFermActBase, Chroma::PolyChebFermAct, and Chroma::OvlapPartFrac4DFermAct.
Definition at line 351 of file fermact.orig.h.
References Chroma::DiffFermAct4D< T, P, Q >::linOp(), and Chroma::state.
Referenced by Chroma::TwoFlavorExactRatioConvConvWilsonTypeFermMonomial< P, Q, Phi >::dsdq(), Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial< P, Q, Phi >::getX(), main(), and Chroma::TwoFlavorExactPolynomialWilsonTypeFermMonomial< P, Q, Phi >::refreshInternalFields().
|
inlinevirtual |
Produce a linear operator M^dag.M for this action.
Default implementation
Implements Chroma::DiffFermAct4D< T, P, Q >.
Reimplemented in Chroma::OverlapFermActBase, Chroma::PolyChebFermAct, and Chroma::OvlapPartFrac4DFermAct.
Definition at line 31 of file wilstype_fermact_w.h.
References Chroma::DiffFermAct4D< T, P, Q >::linOp(), and Chroma::state.
LinOpMultiSystemSolver< LF > * Chroma::WilsonTypeFermAct< LF, LCM, LCM >::mInvLinOp | ( | Handle< FermState< LF, LCM, LCM > > | state, |
const GroupXML_t & | invParam | ||
) | const |
Return a linear operator solver for this action to solve (M+shift_i)*psi_i = chi.
Definition at line 318 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.
|
virtual |
Return a multi-shift linear operator solver for this action to solve (M+shift)*psi=chi.
Default implementation
Implements Chroma::FermAct4D< T, P, Q >.
MdagMMultiSystemSolver< LF > * Chroma::WilsonTypeFermAct< 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 335 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.
|
virtual |
Return a multi-shift linear operator solver for this action to solve (MdagM+shift)*psi=chi.
Implements Chroma::FermAct4D< T, P, Q >.
Referenced by Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::dsdq(), Chroma::OneFlavorRatioRatConvExactWilsonTypeFermMonomial< P, Q, Phi >::dsdq(), Chroma::OneFlavorRatioRatRatExactWilsonTypeFermMonomial< P, Q, Phi >::dsdq(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::refreshInternalFields(), Chroma::OneFlavorRatioRatConvExactWilsonTypeFermMonomial< P, Q, Phi >::refreshInternalFields(), Chroma::OneFlavorRatioRatRatExactWilsonTypeFermMonomial< P, Q, Phi >::refreshInternalFields(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::S_subset(), Chroma::OneFlavorRatioRatConvExactWilsonTypeFermMonomial< P, Q, Phi >::S_subset(), and Chroma::OneFlavorRatioRatRatExactWilsonTypeFermMonomial< P, Q, Phi >::S_subset().
|
virtual |
Return a multi-shift linear operator solver for this action to solve (MdagM+shift)*psi=chi.
Default implementation
Implements Chroma::FermAct4D< T, P, Q >.
MdagMMultiSystemSolverAccumulate< LF > * Chroma::WilsonTypeFermAct< 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 352 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.
|
virtual |
Default implementation
Implements Chroma::FermAct4D< T, P, Q >.
Referenced by Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::refreshInternalFields(), and Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::S_subset().
void Chroma::WilsonTypeFermAct< 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
q_sol | quark propagator ( Write ) |
q_src | source ( Read ) |
invParam | inverter parameters ( Read ) |
ncg_had | number of CG iterations ( Write ) |
Definition at line 228 of file quarkprop4_w.cc.
References Chroma::state.
|
virtual |
Given a complete propagator as a source, this does all the inversions needed.
Provides a default version
q_sol | quark propagator ( Write ) |
q_src | source ( Read ) |
xml_out | diagnostic output ( Modify ) |
state | gauge connection state ( Read ) |
invParam | inverter parameters ( Read ) |
quarkSpinType | compute only a non-relativistic prop ( Read ) |
ncg_had | number of solver iterations ( Write ) |
Implements Chroma::FermionAction< T, P, Q >.
|
virtual |
Given a complete propagator as a source, this does all the inversions needed.
Provides a default version
q_sol | quark propagator ( Write ) |
q_src | source ( Read ) |
xml_out | diagnostic output ( Modify ) |
state | gauge connection state ( Read ) |
invParam | inverter parameters ( Read ) |
quarkSpinType | compute only a non-relativistic prop ( Read ) |
ncg_had | number of solver iterations ( Write ) |
Implements Chroma::FermionAction< T, P, Q >.