#include <overlap_fermact_base_w.h>
Inheritance diagram for Chroma::OverlapFermActBase:

Public Types | |
| typedef LatticeFermion | T |
| typedef multi1d< LatticeColorMatrix > | P |
| typedef multi1d< LatticeColorMatrix > | Q |
Public Member Functions | |
| virtual OverlapFermActBase * | clone () const =0 |
| Virtual copy constructor. | |
| virtual Real | getQuarkMass () const =0 |
| Return the quark mass. | |
| virtual bool | isChiral () const =0 |
| Does this object really satisfy the Ginsparg-Wilson relation? | |
| virtual UnprecLinearOperator< T, P, Q > * | unprecLinOp (Handle< FermState< T, P, Q > > state, const Real &m_q) const =0 |
| Produce an unpreconditioned linear operator for this action with arbitrary quark mass. | |
| virtual UnprecLinearOperator< T, P, Q > * | linOp (Handle< FermState< T, P, Q > > state) const |
| Override to produce a DWF-link unprec. linear operator for this action. | |
| virtual DiffLinearOperator< T, P, Q > * | lMdagM (Handle< FermState< T, P, Q > > state) const =0 |
| virtual DiffLinearOperator< T, P, Q > * | lMdagM (Handle< FermState< T, P, Q > > state, const Chirality &chirality) const =0 |
| virtual LinearOperator< T > * | hermitianLinOp (Handle< FermState< T, P, Q > > state) const |
| virtual LinearOperator< T > * | DeltaLs (Handle< FermState< T, P, Q > > state) const |
| virtual LinearOperator< T > * | lgamma5epsH (Handle< FermState< T, P, Q > > state) const =0 |
| Produce a linear operator that gives back gamma_5 eps(H). | |
| virtual LinearOperator< T > * | lgamma5epsHPrecondition (Handle< FermState< T, P, Q > > state) const =0 |
| Produce a linear operator that gives back gamma_5 eps(H). | |
| virtual LinearOperator< T > * | linOpPrecondition (Handle< FermState< T, P, Q > > state) const =0 |
| virtual LinearOperator< T > * | lMdagMPrecondition (Handle< FermState< T, P, Q > > state) const =0 |
| virtual LinearOperator< T > * | lMdagMPrecondition (Handle< FermState< T, P, Q > > state, const Chirality &chirality) const =0 |
| SystemSolver< T > * | qprop (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const |
| Redefine quark propagator routine for 4D fermions. | |
| void | multiQprop (multi1d< T > &psi, const multi1d< Real > &masses, Handle< FermState< T, P, Q > > state, const T &chi, const GroupXML_t &invParam, const int n_soln, int &ncg_had) const |
| Define a multi mass qprop. | |
| void | multiQuarkProp (multi1d< LatticePropagator > &q_sol, XMLWriter &xml_out, const LatticePropagator &q_src, Handle< FermState< T, P, Q > > state, const multi1d< Real > &masses, const GroupXML_t &invParam, const int n_soln, int &ncg_had) |
| Given a complete propagator as a source, this does all the inversions needed. | |
Unpreconditioned overlap-like fermion action. The conventions used here are specified in some Nucl.Phys.B. article by Edwards,Heller, Narayanan
NOTE: for now we assume the kernel is a fund. rep. fermion type, but that is not necessary
Definition at line 30 of file overlap_fermact_base_w.h.
| typedef multi1d<LatticeColorMatrix> Chroma::OverlapFermActBase::P |
Reimplemented in Chroma::OvlapPartFrac4DFermAct.
Definition at line 37 of file overlap_fermact_base_w.h.
| typedef multi1d<LatticeColorMatrix> Chroma::OverlapFermActBase::Q |
Reimplemented in Chroma::OvlapPartFrac4DFermAct.
Definition at line 38 of file overlap_fermact_base_w.h.
| typedef LatticeFermion Chroma::OverlapFermActBase::T |
Reimplemented in Chroma::OvlapPartFrac4DFermAct.
Definition at line 36 of file overlap_fermact_base_w.h.
| virtual OverlapFermActBase* Chroma::OverlapFermActBase::clone | ( | ) | const [pure virtual] |
| virtual LinearOperator<T>* Chroma::OverlapFermActBase::DeltaLs | ( | Handle< FermState< T, P, Q > > | state | ) | const [inline, virtual] |
Definition at line 73 of file overlap_fermact_base_w.h.
References Chroma::state, and unprecLinOp().
| virtual Real Chroma::OverlapFermActBase::getQuarkMass | ( | ) | const [pure virtual] |
Return the quark mass.
Implemented in Chroma::OvlapPartFrac4DFermAct.
Referenced by linOp(), and multiQprop().
| virtual bool Chroma::OverlapFermActBase::isChiral | ( | ) | const [pure virtual] |
Does this object really satisfy the Ginsparg-Wilson relation?
Implemented in Chroma::OvlapPartFrac4DFermAct.
Referenced by multiQprop().
| virtual LinearOperator<T>* Chroma::OverlapFermActBase::lgamma5epsH | ( | Handle< FermState< T, P, Q > > | state | ) | const [pure virtual] |
Produce a linear operator that gives back gamma_5 eps(H).
Implemented in Chroma::OvlapPartFrac4DFermAct.
Referenced by multiQprop().
| virtual LinearOperator<T>* Chroma::OverlapFermActBase::lgamma5epsHPrecondition | ( | Handle< FermState< T, P, Q > > | state | ) | const [pure virtual] |
Produce a linear operator that gives back gamma_5 eps(H).
Implemented in Chroma::OvlapPartFrac4DFermAct.
| virtual UnprecLinearOperator<T,P,Q>* Chroma::OverlapFermActBase::linOp | ( | Handle< FermState< T, P, Q > > | state | ) | const [inline, virtual] |
Override to produce a DWF-link unprec. linear operator for this action.
Covariant return rule - override base class function
Definition at line 55 of file overlap_fermact_base_w.h.
References getQuarkMass(), Chroma::state, and unprecLinOp().
Referenced by hermitianLinOp(), Chroma::OvlapPartFrac4DFermAct::lMdagM(), and multiQprop().
| virtual LinearOperator<T>* Chroma::OverlapFermActBase::linOpPrecondition | ( | Handle< FermState< T, P, Q > > | state | ) | const [pure virtual] |
Implemented in Chroma::OvlapPartFrac4DFermAct.
| virtual DiffLinearOperator<T,P,Q>* Chroma::OverlapFermActBase::lMdagM | ( | Handle< FermState< T, P, Q > > | state, | |
| const Chirality & | chirality | |||
| ) | const [pure virtual] |
Implemented in Chroma::OvlapPartFrac4DFermAct.
| virtual DiffLinearOperator<T,P,Q>* Chroma::OverlapFermActBase::lMdagM | ( | Handle< FermState< T, P, Q > > | state | ) | const [pure virtual] |
Robert's way: Produce a linear operator M^dag.M for this action to be applied
Implemented in Chroma::OvlapPartFrac4DFermAct.
Referenced by multiQprop().
| virtual LinearOperator<T>* Chroma::OverlapFermActBase::lMdagMPrecondition | ( | Handle< FermState< T, P, Q > > | state, | |
| const Chirality & | chirality | |||
| ) | const [pure virtual] |
Implemented in Chroma::OvlapPartFrac4DFermAct.
| virtual LinearOperator<T>* Chroma::OverlapFermActBase::lMdagMPrecondition | ( | Handle< FermState< T, P, Q > > | state | ) | const [pure virtual] |
Robert's way: Produce a linear operator M^dag.M for this action to be applied
Implemented in Chroma::OvlapPartFrac4DFermAct.
| void Chroma::OverlapFermActBase::multiQprop | ( | multi1d< T > & | psi, | |
| const multi1d< Real > & | masses, | |||
| Handle< FermState< T, P, Q > > | state, | |||
| const T & | chi, | |||
| const GroupXML_t & | invParam, | |||
| const int | n_soln, | |||
| int & | ncg_had | |||
| ) | const |
Define a multi mass qprop.
this should be possible for most 4D operators of the form (1/2)[ (1 + Mass ) + (1 - Mass) gamma_5 psi
Definition at line 388 of file overlap_fermact_base_w.cc.
References Chroma::CH_NONE, getQuarkMass(), isChiral(), Chroma::isChiralVector(), lgamma5epsH(), linOp(), lMdagM(), Chroma::MultiSysSolverCGParams::MaxCG, Chroma::MINUS, Chroma::MInvCG(), Chroma::MInvMR(), Chroma::MInvRelCG(), Chroma::MInvRelSUMR(), Chroma::MInvSUMR(), Chroma::GroupXML_t::path, Chroma::PLUS, Chroma::RsdCG, Chroma::MultiSysSolverCGParams::RsdCG, Chroma::state, U, and Chroma::GroupXML_t::xml.
| SystemSolver< LatticeFermion > * Chroma::OverlapFermActBase::qprop | ( | Handle< FermState< T, P, Q > > | state, | |
| const GroupXML_t & | invParam | |||
| ) | const |
Redefine quark propagator routine for 4D fermions.
Default implementation provided
Definition at line 356 of file overlap_fermact_base_w.cc.
References clone(), Chroma::GroupXML_t::path, Chroma::state, and Chroma::GroupXML_t::xml.
Referenced by main().
| virtual UnprecLinearOperator<T,P,Q>* Chroma::OverlapFermActBase::unprecLinOp | ( | Handle< FermState< T, P, Q > > | state, | |
| const Real & | m_q | |||
| ) | const [pure virtual] |
Produce an unpreconditioned linear operator for this action with arbitrary quark mass.
Implemented in Chroma::OvlapPartFrac4DFermAct.
1.4.7