CHROMA
|
Exact 2 degen flavor RatioConvRat like fermact monomial in extra dimensions. More...
#include <two_flavor_ratio_conv_rat_monomial5d_w.h>
Public Member Functions | |
~TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D () | |
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 > &field_state) |
Refresh pseudofermions. More... | |
virtual void | setInternalFields (const Monomial< P, Q > &m) |
Copy pseudofermions if any. More... | |
virtual void | resetPredictors () |
Reset predictors. More... | |
Public Member Functions inherited from Chroma::ExactWilsonTypeFermMonomial5D< P, Q, Phi > | |
~ExactWilsonTypeFermMonomial5D () | |
virtual destructor: 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 multi1d< Phi > & | getPhi () const =0 |
Accessor for pseudofermion with Pf index i (read only) More... | |
virtual multi1d< Phi > & | getPhi ()=0 |
mutator for pseudofermion with Pf index i More... | |
virtual const WilsonTypeFermAct5D< Phi, P, Q > & | getFermAct () const |
Get at fermion action. More... | |
virtual const WilsonTypeFermAct5D< Phi, P, Q > & | getNumerFermAct () const =0 |
Get at fermion action. More... | |
virtual const WilsonTypeFermAct5D< Phi, P, Q > & | getDenomFermAct () const =0 |
virtual const GroupXML_t & | getNumerInvParams () const =0 |
Get parameters for the inverter. More... | |
virtual const GroupXML_t & | getDenomActionInvParams () const =0 |
Get inverter params. More... | |
virtual const GroupXML_t & | getDenomForceInvParams () const =0 |
Get inverter params. More... | |
virtual const RemezCoeff_t & | getDenomFPFE () const =0 |
Return the partial fraction expansion for the force calc. More... | |
virtual const RemezCoeff_t & | getDenomSPFE () const =0 |
Return the partial fraction expansion for the action calc. More... | |
virtual const RemezCoeff_t & | getDenomSIPFE () const =0 |
Return the partial fraction expansion for the heat-bath. More... | |
virtual AbsChronologicalPredictor5D< Phi > & | getMDSolutionPredictor ()=0 |
Get the initial guess predictor. More... | |
virtual int | getX (multi1d< Phi > &X, const AbsFieldState< P, Q > &s) |
Get (M^dagM)^{-1} phi. More... | |
Exact 2 degen flavor RatioConvRat like fermact monomial in extra dimensions.
Exact 2 degen flavor RatioConvRat like fermact monomial. Preconditioning is not specified yet. Can supply a default dsdq and pseudoferm refresh algorithm
Note most of the code is the same here as in the usual 2 flavour case. The only real change is that instead of the PV field, I now use the preconditioning matrix. – This leads to evil code duplication. Think about abstracting this better. CAVEAT: I assume there is only 1 pseudofermion field in the following so called TwoFlavorExact actions.
Definition at line 37 of file two_flavor_ratio_conv_rat_monomial5d_w.h.
|
inline |
virtual destructor:
Definition at line 41 of file two_flavor_ratio_conv_rat_monomial5d_w.h.
|
inlinevirtual |
Compute dsdq for the system...
Actions of the form chi^dag*(M^dag*M)*chi
Implements Chroma::ExactWilsonTypeFermMonomial5D< P, Q, Phi >.
Definition at line 48 of file two_flavor_ratio_conv_rat_monomial5d_w.h.
References Chroma::FermionAction< T, P, Q >::createState(), Chroma::END_CODE(), F, Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::getDenomFermAct(), Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::getNumerFermAct(), Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::getPhi(), Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::getX(), Chroma::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance(), Chroma::DiffFermAct5D< T, P, Q >::linOp(), Chroma::MINUS, Chroma::monitorForces(), Chroma::n_count, Chroma::PLUS, Chroma::pop(), Chroma::push(), Chroma::s(), Chroma::FermAct5D< T, P, Q >::size(), Chroma::START_CODE(), Chroma::state, and Chroma::write().
|
protectedpure virtual |
Get inverter params.
Implemented in Chroma::UnprecTwoFlavorRatioConvRatWilsonTypeFermMonomial5D, and Chroma::EvenOddPrecConstDetTwoFlavorRatioConvRatWilsonTypeFermMonomial5D.
|
protectedpure virtual |
Implemented in Chroma::TwoFlavorExactEvenOddPrecConstDetRatioConvRatWilsonTypeFermMonomial5D< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, Chroma::TwoFlavorExactUnprecRatioConvRatWilsonTypeFermMonomial5D< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, Chroma::TwoFlavorExactEvenOddPrecConstDetRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::TwoFlavorExactEvenOddPrecRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::TwoFlavorExactUnprecRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::UnprecTwoFlavorRatioConvRatWilsonTypeFermMonomial5D, and Chroma::EvenOddPrecConstDetTwoFlavorRatioConvRatWilsonTypeFermMonomial5D.
Referenced by Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::dsdq(), Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::getX(), and Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::refreshInternalFields().
|
protectedpure virtual |
Get inverter params.
Implemented in Chroma::UnprecTwoFlavorRatioConvRatWilsonTypeFermMonomial5D, and Chroma::EvenOddPrecConstDetTwoFlavorRatioConvRatWilsonTypeFermMonomial5D.
|
protectedpure virtual |
Return the partial fraction expansion for the force calc.
Implemented in Chroma::UnprecTwoFlavorRatioConvRatWilsonTypeFermMonomial5D, and Chroma::EvenOddPrecConstDetTwoFlavorRatioConvRatWilsonTypeFermMonomial5D.
|
protectedpure virtual |
Return the partial fraction expansion for the heat-bath.
Implemented in Chroma::UnprecTwoFlavorRatioConvRatWilsonTypeFermMonomial5D, and Chroma::EvenOddPrecConstDetTwoFlavorRatioConvRatWilsonTypeFermMonomial5D.
|
protectedpure virtual |
Return the partial fraction expansion for the action calc.
Implemented in Chroma::UnprecTwoFlavorRatioConvRatWilsonTypeFermMonomial5D, and Chroma::EvenOddPrecConstDetTwoFlavorRatioConvRatWilsonTypeFermMonomial5D.
|
inlineprotectedvirtual |
Get at fermion action.
Implements Chroma::ExactWilsonTypeFermMonomial5D< P, Q, Phi >.
Definition at line 231 of file two_flavor_ratio_conv_rat_monomial5d_w.h.
References Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::getNumerFermAct().
|
protectedpure virtual |
Get the initial guess predictor.
Implemented in Chroma::EvenOddPrecConstDetTwoFlavorRatioConvRatWilsonTypeFermMonomial5D, Chroma::TwoFlavorExactEvenOddPrecRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::TwoFlavorExactUnprecRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::TwoFlavorExactUnprecRatioConvRatWilsonTypeFermMonomial5D< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, and Chroma::UnprecTwoFlavorRatioConvRatWilsonTypeFermMonomial5D.
Referenced by Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::getX(), Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::refreshInternalFields(), and Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::resetPredictors().
|
protectedpure virtual |
Get at fermion action.
Implemented in Chroma::TwoFlavorExactEvenOddPrecConstDetRatioConvRatWilsonTypeFermMonomial5D< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, Chroma::TwoFlavorExactUnprecRatioConvRatWilsonTypeFermMonomial5D< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, Chroma::TwoFlavorExactEvenOddPrecConstDetRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::TwoFlavorExactEvenOddPrecRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::TwoFlavorExactUnprecRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::UnprecTwoFlavorRatioConvRatWilsonTypeFermMonomial5D, and Chroma::EvenOddPrecConstDetTwoFlavorRatioConvRatWilsonTypeFermMonomial5D.
Referenced by Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::dsdq(), Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::getFermAct(), Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::getX(), and Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::refreshInternalFields().
|
protectedpure virtual |
Get parameters for the inverter.
Implemented in Chroma::UnprecTwoFlavorRatioConvRatWilsonTypeFermMonomial5D, and Chroma::EvenOddPrecConstDetTwoFlavorRatioConvRatWilsonTypeFermMonomial5D.
Referenced by Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::getX(), and Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::refreshInternalFields().
|
protectedpure virtual |
Accessor for pseudofermion with Pf index i (read only)
Implemented in Chroma::UnprecTwoFlavorRatioConvRatWilsonTypeFermMonomial5D, Chroma::EvenOddPrecConstDetTwoFlavorRatioConvRatWilsonTypeFermMonomial5D, Chroma::EvenOddPrecConstDetTwoFlavorRatioConvRatWilsonTypeFermMonomial5D, Chroma::TwoFlavorExactUnprecRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::TwoFlavorExactUnprecRatioConvRatWilsonTypeFermMonomial5D< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, Chroma::TwoFlavorExactEvenOddPrecRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >, and Chroma::TwoFlavorExactUnprecRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >.
Referenced by Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::dsdq(), Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::getX(), Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::refreshInternalFields(), and Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::setInternalFields().
|
protectedpure virtual |
mutator for pseudofermion with Pf index i
Implemented in Chroma::UnprecTwoFlavorRatioConvRatWilsonTypeFermMonomial5D, Chroma::EvenOddPrecConstDetTwoFlavorRatioConvRatWilsonTypeFermMonomial5D, Chroma::TwoFlavorExactEvenOddPrecRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::TwoFlavorExactUnprecRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >, and Chroma::TwoFlavorExactUnprecRatioConvRatWilsonTypeFermMonomial5D< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >.
|
inlineprotectedvirtual |
Get (M^dagM)^{-1} phi.
Definition at line 261 of file two_flavor_ratio_conv_rat_monomial5d_w.h.
References Chroma::FermionAction< T, P, Q >::createState(), Chroma::END_CODE(), Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::getDenomFermAct(), Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::getMDSolutionPredictor(), Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::getNumerFermAct(), Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::getNumerInvParams(), Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::getPhi(), Chroma::WilsonTypeFermAct5D< T, P, Q >::invMdagM(), Chroma::DiffFermAct5D< T, P, Q >::linOp(), Chroma::WilsonTypeFermAct5D< T, P, Q >::lMdagM(), MdagM, Chroma::MINUS, Chroma::SystemSolverResults_t::n_count, Chroma::s(), Chroma::FermAct5D< T, P, Q >::size(), Chroma::START_CODE(), and Chroma::state.
Referenced by Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::dsdq(), Chroma::TwoFlavorExactUnprecRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::S(), and Chroma::TwoFlavorExactEvenOddPrecRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::S_odd_odd().
|
inlinevirtual |
Refresh pseudofermions.
Implements Chroma::ExactWilsonTypeFermMonomial5D< P, Q, Phi >.
Definition at line 131 of file two_flavor_ratio_conv_rat_monomial5d_w.h.
References Chroma::FermionAction< T, P, Q >::createState(), Chroma::END_CODE(), Chroma::eta, Chroma::gaussian(), Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::getDenomFermAct(), Chroma::FermionAction< T, P, Q >::getFermBC(), Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::getMDSolutionPredictor(), Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::getNumerFermAct(), Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::getNumerInvParams(), Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::getPhi(), Chroma::AbsFieldState< P, Q >::getQ(), Chroma::WilsonTypeFermAct5D< T, P, Q >::invMdagM(), Chroma::DiffFermAct5D< T, P, Q >::linOp(), Chroma::MINUS, N5, Chroma::PLUS, Chroma::s(), Chroma::FermAct5D< T, P, Q >::size(), Chroma::START_CODE(), Chroma::tmp, and Chroma::zero.
|
inlinevirtual |
Reset predictors.
Reimplemented from Chroma::ExactWilsonTypeFermMonomial5D< P, Q, Phi >.
Definition at line 218 of file two_flavor_ratio_conv_rat_monomial5d_w.h.
References Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::getMDSolutionPredictor().
|
pure virtual |
Compute the total action.
Implements Chroma::ExactWilsonTypeFermMonomial5D< P, Q, Phi >.
Implemented in Chroma::TwoFlavorExactEvenOddPrecRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::TwoFlavorExactUnprecRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >, and Chroma::TwoFlavorExactUnprecRatioConvRatWilsonTypeFermMonomial5D< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >.
|
inlinevirtual |
Copy pseudofermions if any.
Implements Chroma::ExactWilsonTypeFermMonomial5D< P, Q, Phi >.
Definition at line 193 of file two_flavor_ratio_conv_rat_monomial5d_w.h.
References Chroma::END_CODE(), Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::getPhi(), Chroma::i, m, and Chroma::START_CODE().