30#ifndef QCD_PSEUDOFERMION_TWO_FLAVOUR_RATIO_H
31#define QCD_PSEUDOFERMION_TWO_FLAVOUR_RATIO_H
59 virtual std::string
action_name(){
return "TwoFlavourRatioPseudoFermionAction";}
62 std::stringstream sstream;
82 RealD scale = std::sqrt(0.5);
84 FermionField eta(
NumOp.FermionGrid());
85 FermionField tmp(
NumOp.FermionGrid());
113 FermionField X(
NumOp.FermionGrid());
114 FermionField Y(
NumOp.FermionGrid());
133 virtual void deriv(
const GaugeField &
U,GaugeField & dSdU) {
140 FermionField X(
NumOp.FermionGrid());
141 FermionField Y(
NumOp.FermionGrid());
143 GaugeField force(
NumOp.GaugeGrid());
RealD norm2(const Lattice< vobj > &arg)
void gaussian(GridParallelRNG &rng, Lattice< vobj > &l)
GridLogger GridLogMessage(1, "Message", GridLogColours, "NORMAL")
#define NAMESPACE_BEGIN(A)
static constexpr int DaggerYes
static constexpr int DaggerNo
static INTERNAL_PRECISION U
Base class for all actions.
FermionOperator< Impl > & DenOp
virtual std::string action_name()
Report the name of the action.
virtual void refresh(const GaugeField &U, GridSerialRNG &sRNG, GridParallelRNG &pRNG)
Refresh pseudofermion fields.
virtual RealD S(const GaugeField &U)
Evaluate this action with the given gauge field.
virtual void deriv(const GaugeField &U, GaugeField &dSdU)
FermionOperator< Impl > & NumOp
OperatorFunction< FermionField > & DerivativeSolver
TwoFlavourRatioPseudoFermionAction(FermionOperator< Impl > &_NumOp, FermionOperator< Impl > &_DenOp, OperatorFunction< FermionField > &DS, OperatorFunction< FermionField > &AS)
virtual std::string LogParameters()
Print the parameters of the action.
OperatorFunction< FermionField > & ActionSolver