Chroma::EvenOddPrecDWFermActBaseArray< T, P, Q > Class Template Reference
[Fermion actions]

Base class for unpreconditioned domain-wall-like fermion actions. More...

#include <eoprec_dwf_fermact_base_array_w.h>

Inheritance diagram for Chroma::EvenOddPrecDWFermActBaseArray< T, P, Q >:

Chroma::EvenOddPrecConstDetWilsonTypeFermAct5D< T, P, Q > List of all members.

Public Member Functions

virtual Real getQuarkMass () const =0
 Return the quark mass.
virtual UnprecDWLikeLinOpBaseArray<
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 EvenOddPrecDWLikeLinOpBaseArray<
T, P, Q > * 
precLinOp (Handle< FermState< T, P, Q > > state, const Real &m_q) const =0
 Produce an even-odd preconditioned linear operator for this action with arbitrary quark mass.
virtual EvenOddPrecDWLikeLinOpBaseArray<
T, P, Q > * 
linOp (Handle< FermState< T, P, Q > > state) const
 Override to produce a DWF-link even-odd prec. linear operator for this action.
virtual EvenOddPrecDWLikeLinOpBaseArray<
T, P, Q > * 
linOpPV (Handle< FermState< T, P, Q > > state) const
 Override to produce a DWF-link even-odd prec. Pauli-Villars linear operator for this action.
virtual LinearOperatorArray<
T > * 
hermitianLinOp (Handle< FermState< T, P, Q > > state) const
 Produce a hermitian version of the linear operator.
virtual LinearOperator< T > * linOp4D (Handle< FermState< T, P, Q > > state, const Real &m_q, const GroupXML_t &invParam) const
 Produce an unpreconditioned linear operator projecting 5D to 4D (the inverse of qprop below).
virtual LinearOperator< T > * DeltaLs (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const
 Produce a DeltaLs = 1-epsilon^2(H) operator.
SystemSolver< T > * qprop (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const
 Define quark propagator routine for 4D fermions.
void Dminus (T &chi, const T &psi, Handle< FermState< T, P, Q > > state, enum PlusMinus isign, int s5) const
 Apply the Dminus operator on a fermion.
template<>
SystemSolver< LF > * qprop (Handle< FermState< LF, LCM, LCM > > state, const GroupXML_t &invParam) const

Detailed Description

template<typename T, typename P, typename Q>
class Chroma::EvenOddPrecDWFermActBaseArray< T, P, Q >

Base class for unpreconditioned domain-wall-like fermion actions.

Unprecondition domain-wall fermion action. The conventions used here are specified in Phys.Rev.D63:094505,2001 (hep-lat/0005002).

Definition at line 26 of file eoprec_dwf_fermact_base_array_w.h.


Member Function Documentation

template<typename T, typename P, typename Q>
virtual LinearOperator<T>* Chroma::EvenOddPrecDWFermActBaseArray< T, P, Q >::DeltaLs ( Handle< FermState< T, P, Q > >  state,
const GroupXML_t invParam 
) const [inline, virtual]

Produce a DeltaLs = 1-epsilon^2(H) operator.

Definition at line 85 of file eoprec_dwf_fermact_base_array_w.h.

template<typename T, typename P, typename Q>
void Chroma::EvenOddPrecDWFermActBaseArray< T, P, Q >::Dminus ( T chi,
const T psi,
Handle< FermState< T, P, Q > >  state,
enum PlusMinus  isign,
int  s5 
) const [inline]

Apply the Dminus operator on a fermion.

Slightly more than a convenience function, it avoids specifying the type of the linOp. Used in the dwf_quarkProp routine.

Definition at line 103 of file eoprec_dwf_fermact_base_array_w.h.

template<typename T, typename P, typename Q>
virtual Real Chroma::EvenOddPrecDWFermActBaseArray< T, P, Q >::getQuarkMass (  )  const [pure virtual]

Return the quark mass.

Implemented in Chroma::EvenOddPrecDWFermActArray, Chroma::EvenOddPrecKNOFermActArray, Chroma::EvenOddPrecNEFFermActArray, Chroma::EvenOddPrecOvDWFermActArray, and Chroma::EvenOddPrecZoloNEFFermActArray.

Referenced by Chroma::EvenOddPrecDWFermActBaseArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >::linOp(), and Chroma::EvenOddPrecDWFermActBaseArray< T, P, Q >::qprop().

template<typename T, typename P, typename Q>
virtual LinearOperatorArray<T>* Chroma::EvenOddPrecDWFermActBaseArray< T, P, Q >::hermitianLinOp ( Handle< FermState< T, P, Q > >  state  )  const [inline, virtual]

Produce a hermitian version of the linear operator.

This code is generic

Definition at line 56 of file eoprec_dwf_fermact_base_array_w.h.

template<typename T, typename P, typename Q>
virtual EvenOddPrecDWLikeLinOpBaseArray<T,P,Q>* Chroma::EvenOddPrecDWFermActBaseArray< T, P, Q >::linOp ( Handle< FermState< T, P, Q > >  state  )  const [inline, virtual]

Override to produce a DWF-link even-odd prec. linear operator for this action.

Covariant return rule - override base class function

Definition at line 42 of file eoprec_dwf_fermact_base_array_w.h.

Referenced by Chroma::EvenOddPrecDWFermActBaseArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >::Dminus(), and main().

template<typename T, typename P, typename Q>
virtual LinearOperator<T>* Chroma::EvenOddPrecDWFermActBaseArray< T, P, Q >::linOp4D ( Handle< FermState< T, P, Q > >  state,
const Real &  m_q,
const GroupXML_t invParam 
) const [inline, virtual]

Produce an unpreconditioned linear operator projecting 5D to 4D (the inverse of qprop below).

Use the fact that linOp4D(m_q) = [P^{-1} (D^{(5)}(1))^{-1} D^{(5)}(m_q) P]_{11}

Definition at line 72 of file eoprec_dwf_fermact_base_array_w.h.

Referenced by Chroma::EvenOddPrecDWFermActBaseArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >::DeltaLs().

template<typename T, typename P, typename Q>
virtual EvenOddPrecDWLikeLinOpBaseArray<T,P,Q>* Chroma::EvenOddPrecDWFermActBaseArray< T, P, Q >::linOpPV ( Handle< FermState< T, P, Q > >  state  )  const [inline, virtual]

Override to produce a DWF-link even-odd prec. Pauli-Villars linear operator for this action.

Covariant return rule - override base class function

Definition at line 49 of file eoprec_dwf_fermact_base_array_w.h.

template<typename T, typename P, typename Q>
virtual EvenOddPrecDWLikeLinOpBaseArray<T,P,Q>* Chroma::EvenOddPrecDWFermActBaseArray< T, P, Q >::precLinOp ( Handle< FermState< T, P, Q > >  state,
const Real &  m_q 
) const [pure virtual]

Produce an even-odd preconditioned linear operator for this action with arbitrary quark mass.

Implemented in Chroma::EvenOddPrecDWFermActArray, Chroma::EvenOddPrecKNOFermActArray, Chroma::EvenOddPrecNEFFermActArray, Chroma::EvenOddPrecOvDWFermActArray, and Chroma::EvenOddPrecZoloNEFFermActArray.

Referenced by Chroma::EvenOddPrecDWFermActBaseArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >::linOp(), Chroma::EvenOddPrecDWFermActBaseArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >::linOp4D(), and Chroma::EvenOddPrecDWFermActBaseArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >::linOpPV().

template<>
SystemSolver< LF > * Chroma::EvenOddPrecDWFermActBaseArray< LF, LCM, LCM >::qprop ( Handle< FermState< LF, LCM, LCM > >  state,
const GroupXML_t invParam 
) const

Definition at line 117 of file dwf_fermact_qprop_array_w.cc.

References Chroma::EvenOddPrecDWFermActBaseArray< T, P, Q >::getQuarkMass(), Chroma::state, and Chroma::EvenOddPrecDWFermActBaseArray< T, P, Q >::unprecLinOp().

template<typename T, typename P, typename Q>
SystemSolver<T>* Chroma::EvenOddPrecDWFermActBaseArray< T, P, Q >::qprop ( Handle< FermState< T, P, Q > >  state,
const GroupXML_t invParam 
) const

Define quark propagator routine for 4D fermions.

Default implementation provided

Referenced by main().

template<typename T, typename P, typename Q>
virtual UnprecDWLikeLinOpBaseArray<T,P,Q>* Chroma::EvenOddPrecDWFermActBaseArray< T, P, Q >::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::EvenOddPrecDWFermActArray, Chroma::EvenOddPrecKNOFermActArray, Chroma::EvenOddPrecNEFFermActArray, Chroma::EvenOddPrecOvDWFermActArray, and Chroma::EvenOddPrecZoloNEFFermActArray.

Referenced by Chroma::EvenOddPrecDWFermActBaseArray< T, P, Q >::qprop().


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