CHROMA
|
4D style even-odd preconditioned domain-wall fermion action More...
#include <eoprec_dwf_fermact_array_w.h>
Public Types | |
typedef LatticeFermion | T |
typedef multi1d< LatticeColorMatrix > | P |
typedef multi1d< LatticeColorMatrix > | Q |
Public Member Functions | |
EvenOddPrecDWFermActArray (Handle< CreateFermState< T, P, Q > > cfs_, const Real &OverMass_, const Real &Mass_, int N5_) | |
General FermBC. More... | |
EvenOddPrecDWFermActArray (Handle< CreateFermState< T, P, Q > > cfs_, const EvenOddPrecDWFermActArrayParams &p) | |
General FermBC. More... | |
EvenOddPrecDWFermActArray (const EvenOddPrecDWFermActArray &a) | |
Copy constructor. More... | |
int | size () const |
Length of DW flavor index/space. More... | |
Real | getQuarkMass () const |
Return the quark mass. More... | |
UnprecDWLikeLinOpBaseArray< T, P, Q > * | unprecLinOp (Handle< FermState< T, P, Q > > state, const Real &m_q) const |
Produce an unpreconditioned linear operator for this action with arbitrary quark mass. More... | |
EvenOddPrecDWLikeLinOpBaseArray< T, P, Q > * | precLinOp (Handle< FermState< T, P, Q > > state, const Real &m_q) const |
Produce an even-odd preconditioned linear operator for this action with arbitrary quark mass. More... | |
SystemSolverArray< T > * | qpropT (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const |
Return possibly optimized quark prop solver, solution of preconditioned system. More... | |
~EvenOddPrecDWFermActArray () | |
Destructor is automatic. More... | |
void | quarkProp (PropTypeTraits< T >::Type_t &q_sol, XMLWriter &xml_out, const 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... | |
Public Member Functions inherited from Chroma::EvenOddPrecDWFermActBaseArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > | |
virtual EvenOddPrecDWLikeLinOpBaseArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > * | linOp (Handle< FermState< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > > state) const |
Override to produce a DWF-link even-odd prec. linear operator for this action. More... | |
virtual EvenOddPrecDWLikeLinOpBaseArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > * | linOpPV (Handle< FermState< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > > state) const |
Override to produce a DWF-link even-odd prec. Pauli-Villars linear operator for this action. More... | |
virtual LinearOperatorArray< LatticeFermion > * | hermitianLinOp (Handle< FermState< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > > state) const |
Produce a hermitian version of the linear operator. More... | |
virtual LinearOperator< LatticeFermion > * | linOp4D (Handle< FermState< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > > state, const Real &m_q, const GroupXML_t &invParam) const |
Produce an unpreconditioned linear operator projecting 5D to 4D (the inverse of qprop below) More... | |
virtual LinearOperator< LatticeFermion > * | DeltaLs (Handle< FermState< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > > state, const GroupXML_t &invParam) const |
Produce a DeltaLs = 1-epsilon^2(H) operator. More... | |
SystemSolver< LatticeFermion > * | qprop (Handle< FermState< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > > state, const GroupXML_t &invParam) const |
Define quark propagator routine for 4D fermions. More... | |
SystemSolver< LF > * | qprop (Handle< FermState< LF, LCM, LCM > > state, const GroupXML_t &invParam) const |
void | Dminus (LatticeFermion &chi, const LatticeFermion &psi, Handle< FermState< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > > state, enum PlusMinus isign, int s5) const |
Apply the Dminus operator on a fermion. More... | |
Public Member Functions inherited from Chroma::EvenOddPrecConstDetWilsonTypeFermAct5D< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > | |
virtual | ~EvenOddPrecConstDetWilsonTypeFermAct5D () |
Virtual destructor to help with cleanup;. More... | |
virtual | ~EvenOddPrecConstDetWilsonTypeFermAct5D () |
Virtual destructor to help with cleanup;. More... | |
Public Member Functions inherited from Chroma::EvenOddPrecWilsonTypeFermAct5D< T, P, Q > | |
virtual | ~EvenOddPrecWilsonTypeFermAct5D () |
Virtual destructor to help with cleanup;. More... | |
virtual | ~EvenOddPrecWilsonTypeFermAct5D () |
Virtual destructor to help with cleanup;. More... | |
SystemSolverArray< LF > * | qpropT (Handle< FermState< LF, LCM, LCM > > state, const GroupXML_t &invParam) const |
Propagator of a generic even-odd preconditioned fermion linear operator. More... | |
Public Member Functions inherited from Chroma::WilsonTypeFermAct5D< T, P, Q > | |
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 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 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 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 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 | ~DiffFermAct5D () |
Virtual destructor to help with cleanup;. More... | |
Public Member Functions inherited from Chroma::FermAct5D< T, P, Q > | |
virtual | ~FermAct5D () |
Virtual destructor to help with cleanup;. More... | |
virtual | ~FermAct5D () |
Virtual destructor to help with cleanup;. 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 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 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... | |
Protected Member Functions | |
const CreateFermState< T, P, Q > & | getCreateState () const |
Return the fermion create state for this action. More... | |
Private Member Functions | |
EvenOddPrecDWFermActArray () | |
EvenOddPrecDWFermActArray & | operator= (const EvenOddPrecDWFermActArray &a) |
Private Attributes | |
Handle< CreateFermState< T, P, Q > > | cfs |
EvenOddPrecDWFermActArrayParams | param |
4D style even-odd preconditioned domain-wall fermion action
4D style even-odd preconditioned domain-wall fermion action. Follows notes of Orginos (10/2003)
Hopefully, the conventions used here are specified in Phys.Rev.D63:094505,2001 (hep-lat/0005002).
Definition at line 51 of file eoprec_dwf_fermact_array_w.h.
typedef multi1d<LatticeColorMatrix> Chroma::EvenOddPrecDWFermActArray::P |
Definition at line 57 of file eoprec_dwf_fermact_array_w.h.
typedef multi1d<LatticeColorMatrix> Chroma::EvenOddPrecDWFermActArray::Q |
Definition at line 58 of file eoprec_dwf_fermact_array_w.h.
typedef LatticeFermion Chroma::EvenOddPrecDWFermActArray::T |
Definition at line 56 of file eoprec_dwf_fermact_array_w.h.
|
inline |
General FermBC.
Definition at line 61 of file eoprec_dwf_fermact_array_w.h.
References Chroma::EvenOddPrecDWFermActArrayParams::a5, Chroma::EvenOddPrecDWFermActArrayParams::Mass, Chroma::EvenOddPrecDWFermActArrayParams::N5, Chroma::EvenOddPrecDWFermActArrayParams::OverMass, and param.
|
inline |
General FermBC.
Definition at line 77 of file eoprec_dwf_fermact_array_w.h.
|
inline |
Copy constructor.
Definition at line 82 of file eoprec_dwf_fermact_array_w.h.
|
inline |
Destructor is automatic.
Definition at line 104 of file eoprec_dwf_fermact_array_w.h.
|
inlineprivate |
Definition at line 134 of file eoprec_dwf_fermact_array_w.h.
|
inlineprotectedvirtual |
Return the fermion create state for this action.
Implements Chroma::FermionAction< T, P, Q >.
Definition at line 131 of file eoprec_dwf_fermact_array_w.h.
References cfs.
|
inlinevirtual |
Return the quark mass.
Definition at line 89 of file eoprec_dwf_fermact_array_w.h.
References Chroma::EvenOddPrecDWFermActArrayParams::Mass, and param.
Referenced by quarkProp().
|
inlineprivate |
Definition at line 135 of file eoprec_dwf_fermact_array_w.h.
|
virtual |
Produce an even-odd preconditioned linear operator for this action with arbitrary quark mass.
Produce a preconditioned linear operator for this action with arbitrary quark mass.
Definition at line 184 of file eoprec_dwf_fermact_array_w.cc.
References Chroma::EvenOddPrecDWFermActArrayParams::anisoParam, Chroma::EvenOddPrecDWFermActArrayParams::N5, Chroma::EvenOddPrecDWFermActArrayParams::OverMass, param, and Chroma::state.
|
virtual |
Return possibly optimized quark prop solver, solution of preconditioned system.
Reimplemented from Chroma::EvenOddPrecWilsonTypeFermAct5D< T, P, Q >.
Definition at line 203 of file eoprec_dwf_fermact_array_w.cc.
References Chroma::EvenOddPrecDWFermActArrayParams::anisoParam, Chroma::WilsonTypeFermAct5D< T, P, Q >::invLinOp(), Chroma::EvenOddPrecDWFermActBaseArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >::linOp(), Chroma::EvenOddPrecDWFermActArrayParams::Mass, Chroma::EvenOddPrecDWFermActArrayParams::OverMass, param, and Chroma::state.
Referenced by main(), and quarkProp().
void Chroma::EvenOddPrecDWFermActArray::quarkProp | ( | PropTypeTraits< T >::Type_t & | q_sol, |
XMLWriter & | xml_out, | ||
const 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.
This routine is actually generic to Domain Wall fermions (Array) fermions
q_sol | quark propagator ( Write ) |
q_src | source ( Read ) |
xml_out | diagnostic output ( Modify ) |
state | gauge connection state ( Read ) |
t_src | time slice of source ( Read ) |
j_decay | direction of decay ( Read ) |
invParam | inverter parameters ( Read ) |
ncg_had | number of CG iterations ( Write ) |
Definition at line 213 of file eoprec_dwf_fermact_array_w.cc.
References Chroma::dwf_quarkProp4(), getQuarkMass(), j_decay, Chroma::EvenOddPrecDWFermActBaseArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >::qprop(), qpropT(), Chroma::QUARK_SPIN_TYPE_FULL, Chroma::quarkProp4(), and Chroma::state.
|
inlinevirtual |
Length of DW flavor index/space.
Implements Chroma::FermAct5D< T, P, Q >.
Definition at line 86 of file eoprec_dwf_fermact_array_w.h.
References Chroma::EvenOddPrecDWFermActArrayParams::N5, and param.
Referenced by main().
|
virtual |
Produce an unpreconditioned linear operator for this action with arbitrary quark mass.
Definition at line 194 of file eoprec_dwf_fermact_array_w.cc.
References Chroma::EvenOddPrecDWFermActArrayParams::anisoParam, Chroma::EvenOddPrecDWFermActArrayParams::N5, Chroma::EvenOddPrecDWFermActArrayParams::OverMass, param, and Chroma::state.
|
private |
Definition at line 139 of file eoprec_dwf_fermact_array_w.h.
Referenced by getCreateState().
|
private |
Definition at line 140 of file eoprec_dwf_fermact_array_w.h.
Referenced by EvenOddPrecDWFermActArray(), getQuarkMass(), precLinOp(), qpropT(), size(), and unprecLinOp().