|
CHROMA
|
Even-odd preconditioned Wilson fermion action with parity breaking term. More...
#include <eoprec_twm_fermact_array_w.h>
Public Types | |
| typedef LatticeFermion | T |
| typedef multi1d< LatticeColorMatrix > | P |
| typedef multi1d< LatticeColorMatrix > | Q |
Public Member Functions | |
| EvenOddPrecTwmFermActArray (Handle< CreateFermState< T, P, Q > > fs_, const EvenOddPrecTwmFermActArrayParams ¶m_) | |
| General FermBC. More... | |
| EvenOddPrecTwmFermActArray (const EvenOddPrecTwmFermActArray &a) | |
| Copy constructor. More... | |
| int | size () const |
| Length of DW flavor index/space. More... | |
| EvenOddPrecConstDetLinearOperatorArray< T, P, Q > * | linOp (Handle< FermState< T, P, Q > > state) const |
| Produce a linear operator for this action. More... | |
| EvenOddPrecConstDetLinearOperatorArray< T, P, Q > * | linOpPV (Handle< FermState< T, P, Q > > state) const |
| Override to produce an even-odd prec. Pauli-Villars linear operator for this action. More... | |
| LinearOperator< T > * | hermitianLinOp (Handle< FermState< T, P, Q > > state) const |
| Produce the gamma_5 hermitin op gamma_5 M. More... | |
| SystemSolverArray< T > * | qpropT (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const |
| Return quark prop solver, solution of unpreconditioned system. More... | |
| ~EvenOddPrecTwmFermActArray () | |
| Destructor is automatic. 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 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 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 | ~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 Real | getQuarkMass () const =0 |
| Return the quark mass. More... | |
| virtual | ~FermAct5D () |
| Virtual destructor to help with cleanup;. More... | |
| virtual Real | getQuarkMass () const =0 |
| Return the quark mass. 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 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 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... | |
Protected Member Functions | |
| const CreateFermState< T, P, Q > & | getCreateState () const |
| Return the fermion create state for this action. More... | |
| EvenOddPrecTwmFermActArray () | |
| Partial constructor. More... | |
| void | operator= (const EvenOddPrecTwmFermActArray &a) |
| Hide =. More... | |
Private Attributes | |
| Handle< CreateFermState< T, P, Q > > | fs |
| EvenOddPrecTwmFermActArrayParams | param |
Even-odd preconditioned Wilson fermion action with parity breaking term.
Even-odd preconditioned wilson fermion action with parity breaking term Only defined on odd subset.
The kernel for Wilson fermions with a parity breaking term is
M = (d+M) + i*mu_sigma*gamma_5*tau_1 + mu_delta*tau_3 - (1/2) D'
Definition at line 48 of file eoprec_twm_fermact_array_w.h.
| typedef multi1d<LatticeColorMatrix> Chroma::EvenOddPrecTwmFermActArray::P |
Definition at line 54 of file eoprec_twm_fermact_array_w.h.
| typedef multi1d<LatticeColorMatrix> Chroma::EvenOddPrecTwmFermActArray::Q |
Definition at line 55 of file eoprec_twm_fermact_array_w.h.
| typedef LatticeFermion Chroma::EvenOddPrecTwmFermActArray::T |
Definition at line 53 of file eoprec_twm_fermact_array_w.h.
|
inline |
General FermBC.
Definition at line 58 of file eoprec_twm_fermact_array_w.h.
|
inline |
Copy constructor.
Definition at line 63 of file eoprec_twm_fermact_array_w.h.
|
inline |
Destructor is automatic.
Definition at line 91 of file eoprec_twm_fermact_array_w.h.
|
inlineprotected |
Partial constructor.
Definition at line 98 of file eoprec_twm_fermact_array_w.h.
|
inlineprotectedvirtual |
Return the fermion create state for this action.
Implements Chroma::FermionAction< T, P, Q >.
Definition at line 95 of file eoprec_twm_fermact_array_w.h.
References fs.
|
inlinevirtual |
Produce the gamma_5 hermitin op gamma_5 M.
Implements Chroma::WilsonTypeFermAct5D< T, P, Q >.
Definition at line 80 of file eoprec_twm_fermact_array_w.h.
References Chroma::QDP_error_exit().
|
virtual |
Produce a linear operator for this action.
The operator acts on the odd subset
| state | gauge field (Read) |
Definition at line 86 of file eoprec_twm_fermact_array_w.cc.
References Chroma::EvenOddPrecTwmFermActArrayParams::Mass, Chroma::EvenOddPrecTwmFermActArrayParams::mu_delta, Chroma::EvenOddPrecTwmFermActArrayParams::mu_sigma, param, and Chroma::state.
|
inlinevirtual |
Override to produce an even-odd prec. Pauli-Villars linear operator for this action.
Definition at line 73 of file eoprec_twm_fermact_array_w.h.
References Chroma::QDP_error_exit().
|
inlineprotected |
Hide =.
Definition at line 100 of file eoprec_twm_fermact_array_w.h.
|
virtual |
Return quark prop solver, solution of unpreconditioned system.
Reimplemented from Chroma::EvenOddPrecWilsonTypeFermAct5D< T, P, Q >.
Definition at line 94 of file eoprec_twm_fermact_array_w.cc.
References Chroma::QDP_error_exit().
|
inlinevirtual |
Length of DW flavor index/space.
Implements Chroma::FermAct5D< T, P, Q >.
Definition at line 67 of file eoprec_twm_fermact_array_w.h.
|
private |
Definition at line 103 of file eoprec_twm_fermact_array_w.h.
Referenced by getCreateState().
|
private |
Definition at line 104 of file eoprec_twm_fermact_array_w.h.
Referenced by linOp().