6 #ifndef __seoprec_two_flavor_monomial_w_h__
7 #define __seoprec_two_flavor_monomial_w_h__
17 namespace SymEvenOddPrecConstDetTwoFlavorWilsonTypeFermMonomialEnv
30 multi1d<LatticeColorMatrix>,
31 multi1d<LatticeColorMatrix>,
36 typedef LatticeFermion
T;
37 typedef multi1d<LatticeColorMatrix>
P;
38 typedef multi1d<LatticeColorMatrix>
Q;
49 multi1d<LatticeColorMatrix> >&
s) {
56 multi1d<LatticeColorMatrix> >&
s) {
60 push(xml_out,
"S_odd_odd");
75 X[ lin->subset() ] =
zero;
78 QDPIO::cout <<
"TwoFlavWilson4DMonomial: resetting Predictor before energy calc solve" << std::endl;
82 QDPIO::cout <<
"2Flav::invert, n_count = " << res.
n_count << std::endl;
84 LatticeDouble site_action=
zero;
85 site_action[ lin->subset() ] =
Double(-12);
86 site_action[ lin->subset() ] += localInnerProductReal(
getPhi(),X);
89 Double action =
sum(site_action, lin->subset());
92 write(xml_out,
"S_oo", action);
Abstract interface for a Chronological Solution predictor.
virtual FermState< T, P, Q > * createState(const Q &q) const
Given links (coordinates Q) create the state needed for the linear operators.
Class for counted reference semantics.
Wrapper class for 2-flavor even-odd prec ferm monomials.
T & getPhi(void)
mutator for pseudofermion with Pf index i
multi1d< LatticeColorMatrix > P
Double S_odd_odd(const AbsFieldState< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > &s)
Compute the odd odd contribution (eg.
SymEvenOddPrecConstDetTwoFlavorWilsonTypeFermMonomial()
multi1d< LatticeColorMatrix > Q
Handle< AbsChronologicalPredictor4D< T > > chrono_predictor
const SymEvenOddPrecWilsonTypeFermAct< T, P, Q > & getFermAct(void) const
Get at fermion action For now the prototype is the same as before – wait until we refactor these befo...
SymEvenOddPrecConstDetTwoFlavorWilsonTypeFermMonomial(const SymEvenOddPrecConstDetTwoFlavorWilsonTypeFermMonomial &m)
AbsChronologicalPredictor4D< T > & getMDSolutionPredictor(void)
Get the initial guess predictor.
Handle< const SymEvenOddPrecWilsonTypeFermAct< T, P, Q > > fermact
const T & getPhi(void) const
Accessor for pseudofermion with Pf index i (read only)
void operator=(const SymEvenOddPrecConstDetTwoFlavorWilsonTypeFermMonomial &)
const GroupXML_t & getInvParams(void) const
Get parameters for the inverter.
Double S_even_even(const AbsFieldState< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > &s)
Even even contribution (eg ln det Clover)
Symmetric even-odd preconditioned Wilson-like fermion actions including derivatives.
virtual SymEvenOddPrecLinearOperator< T, P, Q > * linOp(Handle< FermState< T, P, Q > > state) const =0
Override to produce an even-odd prec. linear operator for this action.
Exact 2 degen flavor even-odd preconditioned fermact monomial.
virtual MdagMSystemSolver< T > * invMdagM(Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const
Return a linear operator solver for this action to solve MdagM*psi=chi.
void write(XMLWriter &xml, const std::string &path, const AsqtadFermActParams ¶m)
Writer parameters.
void reset()
Reset the default gauge field state.
bool registerAll()
Register all the factories.
Asqtad Staggered-Dirac operator.
push(xml_out,"Condensates")
const WilsonTypeFermAct< multi1d< LatticeFermion > > Handle< const ConnectState > state
multi1d< LatticeFermion > s(Ncb)
FloatingPoint< double > Double
Hold group xml and type id.
Holds return info from SystemSolver call.
Two-flavor monomial params.
Two flavor Monomials - gauge action or fermion binlinear contributions for HMC.