Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi > Class Template Reference
[HMC monomials]

Exact 1 flavor fermact monomial using rational polynomials. More...

#include <one_flavor_rat_monomial_w.h>

Inheritance diagram for Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >:

Chroma::ExactWilsonTypeFermMonomial< P, Q, Phi > Chroma::ExactFermMonomial4D< P, Q, Phi > Chroma::ExactFermMonomial< P, Q, Phi > Chroma::ExactMonomial< P, Q > Chroma::Monomial< P, Q > Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< P, Q, Phi > Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion > Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, Phi > Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< P, Q, Phi > Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion > Chroma::OneFlavorRatExactEvenOddPrecConstDetWilsonTypeFermMonomial< P, Q, Phi > Chroma::OneFlavorRatExactEvenOddPrecConstDetWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion > Chroma::UnprecOneFlavorWilsonTypeFermRatMonomial Chroma::EvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomial List of all members.

Public Member Functions

 ~OneFlavorRatExactWilsonTypeFermMonomial ()
 virtual destructor:
virtual Double S (const AbsFieldState< P, Q > &s)=0
 Compute the total action.
virtual void dsdq (P &F, const AbsFieldState< P, Q > &s)
 Compute dsdq for the system...
virtual void refreshInternalFields (const AbsFieldState< P, Q > &s)
 Refresh pseudofermions.
virtual void setInternalFields (const Monomial< P, Q > &m)
 Copy pseudofermions if any.
virtual Double S_subset (const AbsFieldState< P, Q > &s) const
 Compute the action on the appropriate subset.

Protected Member Functions

virtual const WilsonTypeFermAct<
Phi, P, Q > & 
getFermAct (void) const =0
 Get at fermion action.
virtual const GroupXML_tgetActionInvParams (void) const =0
 Get inverter params.
virtual const GroupXML_tgetForceInvParams (void) const =0
 Get inverter params.
virtual int getNPF () const =0
 Return number of roots in used.
virtual const RemezCoeff_tgetFPFE () const =0
 Return the partial fraction expansion for the force calc.
virtual const RemezCoeff_tgetSPFE () const =0
 Return the partial fraction expansion for the action calc.
virtual const RemezCoeff_tgetSIPFE () const =0
 Return the partial fraction expansion for the heat-bath.
virtual const multi1d< Phi > & getPhi (void) const =0
 Accessor for pseudofermion (read only).
virtual multi1d< Phi > & getPhi (void)=0
 mutator for pseudofermion

Detailed Description

template<typename P, typename Q, typename Phi>
class Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >

Exact 1 flavor fermact monomial using rational polynomials.

Exact 1 flavor fermact monomial using Rational Polynomial. Preconditioning is not specified yet. Can supply a default dsdq and pseudoferm refresh algorithm

Definition at line 29 of file one_flavor_rat_monomial_w.h.


Constructor & Destructor Documentation

template<typename P, typename Q, typename Phi>
Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::~OneFlavorRatExactWilsonTypeFermMonomial (  )  [inline]

virtual destructor:

Definition at line 33 of file one_flavor_rat_monomial_w.h.


Member Function Documentation

template<typename P, typename Q, typename Phi>
virtual void Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::dsdq ( P F,
const AbsFieldState< P, Q > &  s 
) [inline, virtual]

Compute dsdq for the system...

Actions of the form chi^dag*(M^dag*M)*chi

Implements Chroma::ExactWilsonTypeFermMonomial< P, Q, Phi >.

Definition at line 40 of file one_flavor_rat_monomial_w.h.

template<typename P, typename Q, typename Phi>
virtual const GroupXML_t& Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::getActionInvParams ( void   )  const [protected, pure virtual]

Get inverter params.

Implemented in Chroma::EvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomial, Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::UnprecOneFlavorWilsonTypeFermRatMonomial, Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, Phi >, and Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >.

Referenced by Chroma::OneFlavorRatExactWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >::refreshInternalFields(), and Chroma::OneFlavorRatExactWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >::S_subset().

template<typename P, typename Q, typename Phi>
virtual const WilsonTypeFermAct<Phi,P,Q>& Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::getFermAct ( void   )  const [protected, pure virtual]

Get at fermion action.

Implements Chroma::ExactWilsonTypeFermMonomial< P, Q, Phi >.

Implemented in Chroma::EvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomial, Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::OneFlavorRatExactEvenOddPrecConstDetWilsonTypeFermMonomial< P, Q, Phi >, Chroma::UnprecOneFlavorWilsonTypeFermRatMonomial, Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, Phi >, Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, and Chroma::OneFlavorRatExactEvenOddPrecConstDetWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >.

Referenced by Chroma::OneFlavorRatExactWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >::dsdq(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >::refreshInternalFields(), and Chroma::OneFlavorRatExactWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >::S_subset().

template<typename P, typename Q, typename Phi>
virtual const GroupXML_t& Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::getForceInvParams ( void   )  const [protected, pure virtual]

Get inverter params.

Implemented in Chroma::EvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomial, Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::UnprecOneFlavorWilsonTypeFermRatMonomial, Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, Phi >, and Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >.

Referenced by Chroma::OneFlavorRatExactWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >::dsdq().

template<typename P, typename Q, typename Phi>
virtual const RemezCoeff_t& Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::getFPFE (  )  const [protected, pure virtual]

Return the partial fraction expansion for the force calc.

Implemented in Chroma::EvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomial, Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::UnprecOneFlavorWilsonTypeFermRatMonomial, Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, Phi >, and Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >.

Referenced by Chroma::OneFlavorRatExactWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >::dsdq().

template<typename P, typename Q, typename Phi>
virtual int Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::getNPF (  )  const [protected, pure virtual]

Return number of roots in used.

Implemented in Chroma::EvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomial, Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::UnprecOneFlavorWilsonTypeFermRatMonomial, Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, Phi >, and Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >.

Referenced by Chroma::OneFlavorRatExactWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >::dsdq(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >::refreshInternalFields(), and Chroma::OneFlavorRatExactWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >::S_subset().

template<typename P, typename Q, typename Phi>
virtual multi1d<Phi>& Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::getPhi ( void   )  [protected, pure virtual]

mutator for pseudofermion

Implemented in Chroma::EvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomial, Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::UnprecOneFlavorWilsonTypeFermRatMonomial, Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, Phi >, and Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >.

template<typename P, typename Q, typename Phi>
virtual const multi1d<Phi>& Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::getPhi ( void   )  const [protected, pure virtual]

Accessor for pseudofermion (read only).

Implemented in Chroma::EvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomial, Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::UnprecOneFlavorWilsonTypeFermRatMonomial, Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, Phi >, and Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >.

Referenced by Chroma::OneFlavorRatExactWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >::dsdq(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >::refreshInternalFields(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >::S_subset(), and Chroma::OneFlavorRatExactWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >::setInternalFields().

template<typename P, typename Q, typename Phi>
virtual const RemezCoeff_t& Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::getSIPFE (  )  const [protected, pure virtual]

Return the partial fraction expansion for the heat-bath.

Implemented in Chroma::EvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomial, Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::UnprecOneFlavorWilsonTypeFermRatMonomial, Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, Phi >, and Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >.

Referenced by Chroma::OneFlavorRatExactWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >::refreshInternalFields().

template<typename P, typename Q, typename Phi>
virtual const RemezCoeff_t& Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::getSPFE (  )  const [protected, pure virtual]

Return the partial fraction expansion for the action calc.

Implemented in Chroma::EvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomial, Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::UnprecOneFlavorWilsonTypeFermRatMonomial, Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, Phi >, and Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >.

Referenced by Chroma::OneFlavorRatExactWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >::S_subset().

template<typename P, typename Q, typename Phi>
virtual void Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::refreshInternalFields ( const AbsFieldState< P, Q > &  s  )  [inline, virtual]

Refresh pseudofermions.

This routine calculates the pseudofermion field (chi) for the case of rational evolution

chi = n(Q)*[d(Q)]^(-1) * eta Where: Q = M^dag*M d(Q) = (Q+q_1)*(Q+q_2)*...*(Q+q_m) n(Q) = (Q+p_1)*(Q+p_2)*... *(Q+p_m) m = HBRatDeg

The rational function n(x)/d(x) is the optimal rational approximation to the inverse square root of N(x)/D(x) which in turn is the optimal rational approximation to x^(-alpha). Here, alpha = 1/2

To solve {n(Q)*[d(Q)]^(-1) * eta} the partial fraction expansion is used in combination with a multishift solver.

Implements Chroma::ExactWilsonTypeFermMonomial< P, Q, Phi >.

Definition at line 154 of file one_flavor_rat_monomial_w.h.

template<typename P, typename Q, typename Phi>
virtual Double Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::S ( const AbsFieldState< P, Q > &  s  )  [pure virtual]

Compute the total action.

Implements Chroma::ExactWilsonTypeFermMonomial< P, Q, Phi >.

Implemented in Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, Phi >, and Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >.

template<typename P, typename Q, typename Phi>
virtual Double Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::S_subset ( const AbsFieldState< P, Q > &  s  )  const [inline, virtual]

Compute the action on the appropriate subset.

This measures the pseudofermion contribution to the Hamiltonian for the case of rational evolution (with polynomials n(x) and d(x), of degree SRatDeg

S_f = chi_dag * (n(A)*d(A)^(-1))^2* chi

where A is M^dag*M

The rational function n(x)/d(x) is the optimal rational approximation to the square root of N(x)/D(x) which in turn is the optimal rational approximation to x^(-alpha). Here, alpha = 1/2

Definition at line 256 of file one_flavor_rat_monomial_w.h.

Referenced by Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >::S(), and Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >::S_odd_odd().

template<typename P, typename Q, typename Phi>
virtual void Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::setInternalFields ( const Monomial< P, Q > &  m  )  [inline, virtual]

Copy pseudofermions if any.

Implements Chroma::ExactWilsonTypeFermMonomial< P, Q, Phi >.

Definition at line 223 of file one_flavor_rat_monomial_w.h.


The documentation for this class was generated from the following file:
Generated on Mon Mar 15 04:40:38 2010 for CHROMA by  doxygen 1.4.7