CHROMA
Public Member Functions | Protected Member Functions | List of all members
Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi > Class Template Referenceabstract

Exact 1 flavor fermact monomial in extra dimensions. More...

#include <one_flavor_rat_monomial5d_w.h>

Inheritance diagram for Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >:
Chroma::ExactWilsonTypeFermMonomial5D< P, Q, Phi > Chroma::ExactFermMonomial5D< P, Q, Phi > Chroma::ExactFermMonomial< P, Q, Phi > Chroma::ExactMonomial< P, Q > Chroma::Monomial< P, Q > Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial5D< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion > Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial5D< P, Q, Phi > Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial5D< P, Q, Phi > Chroma::UnprecOneFlavorWilsonTypeFermRatMonomial5D Chroma::OneFlavorRatExactEvenOddPrecConstDetWilsonTypeFermMonomial5D< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion > Chroma::OneFlavorRatExactEvenOddPrecConstDetWilsonTypeFermMonomial5D< P, Q, Phi > Chroma::EvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomial5D

Public Member Functions

 ~OneFlavorRatExactWilsonTypeFermMonomial5D ()
 virtual destructor: More...
 
virtual Double S (const AbsFieldState< P, Q > &s)=0
 Compute the total action. More...
 
virtual void dsdq (P &F, const AbsFieldState< P, Q > &s)
 Compute dsdq for the system... More...
 
virtual void refreshInternalFields (const AbsFieldState< P, Q > &s)
 Refresh pseudofermions. More...
 
virtual void setInternalFields (const Monomial< P, Q > &m)
 Copy internal fields. More...
 
virtual Double S_subset (const AbsFieldState< P, Q > &s) const
 Compute action on the appropriate subset. More...
 
- Public Member Functions inherited from Chroma::ExactWilsonTypeFermMonomial5D< P, Q, Phi >
 ~ExactWilsonTypeFermMonomial5D ()
 virtual destructor: More...
 
virtual void resetPredictors (void)
 Reset predictors. More...
 
- Public Member Functions inherited from Chroma::ExactFermMonomial5D< P, Q, Phi >
 ~ExactFermMonomial5D ()
 virtual destructor: More...
 
- Public Member Functions inherited from Chroma::ExactFermMonomial< P, Q, Phi >
 ~ExactFermMonomial ()
 virtual destructor: More...
 
- Public Member Functions inherited from Chroma::ExactMonomial< P, Q >
virtual ~ExactMonomial ()
 virtual destructor: More...
 
- Public Member Functions inherited from Chroma::Monomial< P, Q >
virtual ~Monomial ()
 virtual destructor: More...
 

Protected Member Functions

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

Detailed Description

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

Exact 1 flavor fermact monomial in extra dimensions.

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

Definition at line 29 of file one_flavor_rat_monomial5d_w.h.

Constructor & Destructor Documentation

◆ ~OneFlavorRatExactWilsonTypeFermMonomial5D()

template<typename P , typename Q , typename Phi >
Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::~OneFlavorRatExactWilsonTypeFermMonomial5D ( )
inline

virtual destructor:

Definition at line 33 of file one_flavor_rat_monomial5d_w.h.

Member Function Documentation

◆ dsdq()

template<typename P , typename Q , typename Phi >
virtual void Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::dsdq ( P F,
const AbsFieldState< P, Q > &  s 
)
inlinevirtual

◆ getActionInvParams()

template<typename P , typename Q , typename Phi >
virtual const GroupXML_t& Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::getActionInvParams ( void  ) const
protectedpure virtual

◆ getFermAct()

template<typename P , typename Q , typename Phi >
virtual const WilsonTypeFermAct5D<Phi,P,Q>& Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::getFermAct ( void  ) const
protectedpure virtual

◆ getForceInvParams()

template<typename P , typename Q , typename Phi >
virtual const GroupXML_t& Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::getForceInvParams ( void  ) const
protectedpure virtual

◆ getFPFE()

template<typename P , typename Q , typename Phi >
virtual const RemezCoeff_t& Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::getFPFE ( ) const
protectedpure virtual

◆ getNPF()

template<typename P , typename Q , typename Phi >
virtual int Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::getNPF ( ) const
protectedpure virtual

◆ getPhi() [1/2]

template<typename P , typename Q , typename Phi >
virtual const multi1d< multi1d<Phi> >& Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::getPhi ( void  ) const
protectedpure virtual

◆ getPhi() [2/2]

template<typename P , typename Q , typename Phi >
virtual multi1d< multi1d<Phi> >& Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::getPhi ( void  )
protectedpure virtual

◆ getSIPFE()

template<typename P , typename Q , typename Phi >
virtual const RemezCoeff_t& Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::getSIPFE ( ) const
protectedpure virtual

◆ getSPFE()

template<typename P , typename Q , typename Phi >
virtual const RemezCoeff_t& Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::getSPFE ( ) const
protectedpure virtual

◆ refreshInternalFields()

template<typename P , typename Q , typename Phi >
virtual void Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::refreshInternalFields ( const AbsFieldState< P, Q > &  s)
inlinevirtual

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 = SIRatDeg

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::ExactWilsonTypeFermMonomial5D< P, Q, Phi >.

Definition at line 156 of file one_flavor_rat_monomial5d_w.h.

References Chroma::FermionAction< T, P, Q >::createState(), Chroma::END_CODE(), Chroma::eta, Chroma::gaussian(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::getActionInvParams(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::getFermAct(), Chroma::FermionAction< T, P, Q >::getFermBC(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::getNPF(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::getPhi(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::getSIPFE(), Chroma::i, Chroma::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance(), j, Chroma::DiffFermAct5D< T, P, Q >::linOp(), Chroma::WilsonTypeFermAct5D< T, P, Q >::mInvMdagM(), n, N5, Chroma::SystemSolverResults_t::n_count, Chroma::RemezCoeff_t::norm, Chroma::RemezCoeff_t::pole, Chroma::pop(), Chroma::push(), Chroma::QDP_error_exit(), Chroma::RemezCoeff_t::res, Chroma::s(), Chroma::FermAct5D< T, P, Q >::size(), Chroma::START_CODE(), Chroma::write(), and Chroma::zero.

◆ S()

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

◆ S_subset()

template<typename P , typename Q , typename Phi >
virtual Double Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::S_subset ( const AbsFieldState< P, Q > &  s) const
inlinevirtual

Compute action on the appropriate subset.

This may only be a Piece Of The Action

This function 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 278 of file one_flavor_rat_monomial5d_w.h.

References Chroma::FermionAction< T, P, Q >::createState(), Chroma::END_CODE(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::getActionInvParams(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::getFermAct(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::getNPF(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::getPhi(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::getSPFE(), Chroma::i, Chroma::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance(), j, Chroma::DiffFermAct5D< T, P, Q >::linOp(), Chroma::WilsonTypeFermAct5D< T, P, Q >::mInvMdagM(), n, N5, Chroma::SystemSolverResults_t::n_count, Chroma::RemezCoeff_t::norm, Chroma::RemezCoeff_t::pole, Chroma::pop(), Chroma::push(), Chroma::QDP_error_exit(), Chroma::RemezCoeff_t::res, Chroma::s(), Chroma::FermAct5D< T, P, Q >::size(), Chroma::START_CODE(), Chroma::tmp, Chroma::write(), and Chroma::zero.

Referenced by Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial5D< P, Q, Phi >::S(), and Chroma::OneFlavorRatExactEvenOddPrecWilsonTypeFermMonomial5D< P, Q, Phi >::S_odd_odd().

◆ setInternalFields()

template<typename P , typename Q , typename Phi >
virtual void Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::setInternalFields ( const Monomial< P, Q > &  m)
inlinevirtual

The documentation for this class was generated from the following file: