CHROMA
|
Exact 1 flavor fermact monomial using rational polynomials. More...
#include <one_flavor_rat_monomial_w.h>
Public Member Functions | |
~OneFlavorRatExactWilsonTypeFermMonomial () | |
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 pseudofermions if any. More... | |
virtual Double | S_subset (const AbsFieldState< P, Q > &s) const |
Compute the action on the appropriate subset. More... | |
Public Member Functions inherited from Chroma::ExactWilsonTypeFermMonomial< P, Q, Phi > | |
~ExactWilsonTypeFermMonomial () | |
virtual destructor: More... | |
virtual void | resetPredictors (void) |
Reset predictors. More... | |
Public Member Functions inherited from Chroma::ExactFermMonomial4D< P, Q, Phi > | |
~ExactFermMonomial4D () | |
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 WilsonTypeFermAct< Phi, P, Q > & | getFermAct (void) const =0 |
Get at fermion action. More... | |
virtual const GroupXML_t & | getActionInvParams (void) const =0 |
Get inverter params. More... | |
virtual const GroupXML_t & | getForceInvParams (void) const =0 |
Get inverter params. More... | |
virtual int | getNPF () const =0 |
Return number of roots in used. More... | |
virtual const RemezCoeff_t & | getFPFE () const =0 |
Return the partial fraction expansion for the force calc. More... | |
virtual const RemezCoeff_t & | getSPFE () const =0 |
Return the partial fraction expansion for the action calc. More... | |
virtual const RemezCoeff_t & | getSIPFE () const =0 |
Return the partial fraction expansion for the heat-bath. More... | |
virtual const multi1d< Phi > & | getPhi (void) const =0 |
Accessor for pseudofermion (read only) More... | |
virtual multi1d< Phi > & | getPhi (void)=0 |
mutator for pseudofermion More... | |
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.
|
inline |
virtual destructor:
Definition at line 33 of file one_flavor_rat_monomial_w.h.
|
inlinevirtual |
Compute dsdq for the system...
Actions of the form chi^dag*(M^dag*M)*chi
Implements Chroma::ExactWilsonTypeFermMonomial< P, Q, Phi >.
Reimplemented in Chroma::EvenOddPrecConstDetConstGaugeOneFlavorWilsonTypeFermRatMonomial.
Definition at line 40 of file one_flavor_rat_monomial_w.h.
References Chroma::FermionAction< T, P, Q >::createState(), Chroma::END_CODE(), F, Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::getFermAct(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::getForceInvParams(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::getFPFE(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::getNPF(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::getPhi(), Chroma::i, Chroma::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance(), Chroma::DiffFermAct4D< T, P, Q >::linOp(), Chroma::MINUS, Chroma::WilsonTypeFermAct< T, P, Q >::mInvMdagM(), Chroma::monitorForces(), mu, n, Chroma::n_count, Chroma::SystemSolverResults_t::n_count, Nd, Chroma::PLUS, Chroma::RemezCoeff_t::pole, Chroma::pop(), Chroma::push(), Chroma::RemezCoeff_t::res, Chroma::s(), Chroma::START_CODE(), Chroma::state, Chroma::write(), and Chroma::zero.
Referenced by Chroma::EvenOddPrecConstDetConstGaugeOneFlavorWilsonTypeFermRatMonomial::dsdq().
|
protectedpure virtual |
Get inverter params.
Implemented in Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, Chroma::OneFlavorRatExactEOPrecWilsonTypeFermMonomialT< P, Q, Phi, EOFermActT >, Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::UnprecOneFlavorWilsonTypeFermRatMonomial, Chroma::SymEvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomial, and Chroma::EvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomial.
Referenced by Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::refreshInternalFields(), and Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::S_subset().
|
protectedpure virtual |
Get at fermion action.
Implements Chroma::ExactWilsonTypeFermMonomial< P, Q, Phi >.
Implemented in Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::UnprecOneFlavorWilsonTypeFermRatMonomial, Chroma::SymEvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomial, Chroma::EvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomial, Chroma::OneFlavorRatExactEOPrecConstDetWilsonTypeFermMonomialT< P, Q, Phi, EOFermActT >, and Chroma::OneFlavorRatExactEOPrecWilsonTypeFermMonomialT< P, Q, Phi, EOFermActT >.
Referenced by Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::dsdq(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::refreshInternalFields(), and Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::S_subset().
|
protectedpure virtual |
Get inverter params.
Implemented in Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, Chroma::OneFlavorRatExactEOPrecWilsonTypeFermMonomialT< P, Q, Phi, EOFermActT >, Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::UnprecOneFlavorWilsonTypeFermRatMonomial, Chroma::SymEvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomial, and Chroma::EvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomial.
Referenced by Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::dsdq().
|
protectedpure virtual |
Return the partial fraction expansion for the force calc.
Implemented in Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, Chroma::OneFlavorRatExactEOPrecWilsonTypeFermMonomialT< P, Q, Phi, EOFermActT >, Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::UnprecOneFlavorWilsonTypeFermRatMonomial, Chroma::SymEvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomial, and Chroma::EvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomial.
Referenced by Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::dsdq().
|
protectedpure virtual |
Return number of roots in used.
Implemented in Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, Chroma::OneFlavorRatExactEOPrecWilsonTypeFermMonomialT< P, Q, Phi, EOFermActT >, Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::UnprecOneFlavorWilsonTypeFermRatMonomial, Chroma::SymEvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomial, and Chroma::EvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomial.
Referenced by Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::dsdq(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::refreshInternalFields(), and Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::S_subset().
|
protectedpure virtual |
Accessor for pseudofermion (read only)
Implemented in Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, Chroma::OneFlavorRatExactEOPrecWilsonTypeFermMonomialT< P, Q, Phi, EOFermActT >, Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::UnprecOneFlavorWilsonTypeFermRatMonomial, Chroma::SymEvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomial, and Chroma::EvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomial.
Referenced by Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::dsdq(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::refreshInternalFields(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::S_subset(), and Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::setInternalFields().
|
protectedpure virtual |
mutator for pseudofermion
Implemented in Chroma::OneFlavorRatExactEOPrecWilsonTypeFermMonomialT< P, Q, Phi, EOFermActT >, Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, Chroma::UnprecOneFlavorWilsonTypeFermRatMonomial, Chroma::SymEvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomial, and Chroma::EvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomial.
|
protectedpure virtual |
Return the partial fraction expansion for the heat-bath.
Implemented in Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, Chroma::OneFlavorRatExactEOPrecWilsonTypeFermMonomialT< P, Q, Phi, EOFermActT >, Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::UnprecOneFlavorWilsonTypeFermRatMonomial, Chroma::SymEvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomial, and Chroma::EvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomial.
Referenced by Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::refreshInternalFields().
|
protectedpure virtual |
Return the partial fraction expansion for the action calc.
Implemented in Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, Chroma::OneFlavorRatExactEOPrecWilsonTypeFermMonomialT< P, Q, Phi, EOFermActT >, Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::UnprecOneFlavorWilsonTypeFermRatMonomial, Chroma::SymEvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomial, and Chroma::EvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomial.
Referenced by Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::S_subset().
|
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 = 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 175 of file one_flavor_rat_monomial_w.h.
References Chroma::FermionAction< T, P, Q >::createState(), Chroma::END_CODE(), Chroma::eta, Chroma::gaussian(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::getActionInvParams(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::getFermAct(), Chroma::FermionAction< T, P, Q >::getFermBC(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::getNPF(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::getPhi(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::getSIPFE(), Chroma::i, Chroma::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance(), Chroma::DiffFermAct4D< T, P, Q >::linOp(), Chroma::WilsonTypeFermAct< T, P, Q >::mInvMdagM(), Chroma::WilsonTypeFermAct< T, P, Q >::mInvMdagMAcc(), n, Chroma::n_count, Chroma::SystemSolverResults_t::n_count, Chroma::RemezCoeff_t::norm, Chroma::RemezCoeff_t::pole, Chroma::pop(), Chroma::push(), Chroma::RemezCoeff_t::res, Chroma::s(), Chroma::START_CODE(), Chroma::write(), and Chroma::zero.
|
pure virtual |
Compute the total action.
Implements Chroma::ExactWilsonTypeFermMonomial< P, Q, Phi >.
Implemented in Chroma::OneFlavorRatExactEOPrecWilsonTypeFermMonomialT< P, Q, Phi, EOFermActT >, Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< P, Q, Phi >, and Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >.
|
inlinevirtual |
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 277 of file one_flavor_rat_monomial_w.h.
References Chroma::FermionAction< T, P, Q >::createState(), Chroma::END_CODE(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::getActionInvParams(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::getFermAct(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::getNPF(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::getPhi(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::getSPFE(), Chroma::i, Chroma::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance(), Chroma::DiffFermAct4D< T, P, Q >::linOp(), Chroma::WilsonTypeFermAct< T, P, Q >::mInvMdagM(), Chroma::WilsonTypeFermAct< T, P, Q >::mInvMdagMAcc(), n, Chroma::n_count, Chroma::SystemSolverResults_t::n_count, Chroma::RemezCoeff_t::norm, Chroma::RemezCoeff_t::pole, Chroma::pop(), Chroma::psi, Chroma::push(), Chroma::RemezCoeff_t::res, Chroma::s(), Chroma::START_CODE(), sum, Chroma::write(), and Chroma::zero.
Referenced by Chroma::OneFlavorRatExactUnprecWilsonTypeFermMonomial< P, Q, Phi >::S(), and Chroma::OneFlavorRatExactEOPrecWilsonTypeFermMonomialT< P, Q, Phi, EOFermActT >::S_odd_odd().
|
inlinevirtual |
Copy pseudofermions if any.
Implements Chroma::ExactWilsonTypeFermMonomial< P, Q, Phi >.
Definition at line 244 of file one_flavor_rat_monomial_w.h.
References Chroma::END_CODE(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::getPhi(), m, and Chroma::START_CODE().