Chroma::OverlapFermActBase Class Reference
[Fermion actions]

Base class for unpreconditioned overlap-like fermion actions. More...

#include <overlap_fermact_base_w.h>

Inheritance diagram for Chroma::OverlapFermActBase:

Chroma::UnprecWilsonTypeFermAct< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::OvlapPartFrac4DFermAct List of all members.

Public Types

typedef LatticeFermion T
typedef multi1d< LatticeColorMatrix > P
typedef multi1d< LatticeColorMatrix > Q

Public Member Functions

virtual OverlapFermActBaseclone () 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.

Detailed Description

Base class for unpreconditioned overlap-like fermion actions.

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.


Member Typedef Documentation

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.


Member Function Documentation

virtual OverlapFermActBase* Chroma::OverlapFermActBase::clone (  )  const [pure virtual]

Virtual copy constructor.

Implemented in Chroma::OvlapPartFrac4DFermAct.

Referenced by qprop().

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 LinearOperator<T>* Chroma::OverlapFermActBase::hermitianLinOp ( Handle< FermState< T, P, Q > >  state  )  const [inline, virtual]

Definition at line 68 of file overlap_fermact_base_w.h.

References linOp(), and Chroma::state.

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.

Referenced by DeltaLs(), and linOp().


The documentation for this class was generated from the following files:
Generated on Sun Nov 22 04:40:03 2009 for CHROMA by  doxygen 1.4.7