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

An abstract monomial class, for inexact algorithms. More...

#include <abs_monomial.h>

Inheritance diagram for Chroma::Monomial< P, Q >:
Chroma::ExactMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::ExactMonomial< P, Q > Chroma::FermMonomial< P, Q, Phi > Chroma::EvenOddPrecLogDetEvenEvenMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion > Chroma::ExactFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion > Chroma::SymEvenOddPrecLogDetDiagMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion > Chroma::GaugeMonomial Chroma::EvenOddPrecLogDetEvenEvenMonomial< P, Q, Phi > Chroma::ExactFermMonomial< P, Q, Phi > Chroma::SymEvenOddPrecLogDetDiagMonomial< P, Q, Phi > Chroma::EvenOddPrecLogDetEvenEvenMonomial4D Chroma::FixedRandomFermMonomial4D Chroma::SymEvenOddPrecLogDetDiagMonomial4D Chroma::ConstGaugeMonomial Chroma::ExactFermMonomial4D< P, Q, Phi > Chroma::ExactFermMonomial5D< P, Q, Phi > Chroma::ExactWilsonTypeFermMonomial< P, Q, T > Chroma::ExactWilsonTypeFermMonomial< P, Q, Phi > Chroma::ExactWilsonTypeFermMonomial5D< P, Q, Phi > Chroma::PrecConstDetTwoFlavorRatioConvConvMultihasenWilsonTypeFermMonomial< T, P, Q, FAType, LOType > Chroma::PrecConstDetTwoFlavorWilsonMultihasenCancelMonomial< T, P, Q, FAType, LOType > Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi > Chroma::OneFlavorRatioRatConvExactWilsonTypeFermMonomial< P, Q, Phi > Chroma::OneFlavorRatioRatRatExactWilsonTypeFermMonomial< P, Q, Phi > Chroma::TwoFlavorExactPolyPrecWilsonTypeFermMonomial< P, Q, Phi > Chroma::TwoFlavorExactPolynomialWilsonTypeFermMonomial< P, Q, Phi > Chroma::TwoFlavorExactRatioConvConvWilsonTypeFermMonomial< P, Q, Phi > Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial< P, Q, Phi > Chroma::TwoFlavorExactWilsonTypeFermMonomial< P, Q, Phi > Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi > Chroma::OneFlavorRatioRatConvExactWilsonTypeFermMonomial5D< P, Q, Phi > Chroma::OneFlavorRatioRatRatExactWilsonTypeFermMonomial5D< P, Q, Phi > Chroma::TwoFlavorExactRatioConvConvWilsonTypeFermMonomial5D< P, Q, Phi > Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi > Chroma::TwoFlavorExactWilsonTypeFermMonomial5D< P, Q, Phi >

Public Member Functions

virtual ~Monomial ()
 virtual destructor: More...
 
virtual void dsdq (P &F, const AbsFieldState< P, Q > &s)=0
 Compute dsdq for the system... More...
 
virtual void refreshInternalFields (const AbsFieldState< P, Q > &field_state)=0
 Refresh pseudofermion fields if any. More...
 
virtual void setInternalFields (const Monomial< P, Q > &m)=0
 Copy pseudofermion fields from another monomial... More...
 
virtual void resetPredictors (void)
 Reset predictors. More...
 

Detailed Description

template<typename P, typename Q>
class Chroma::Monomial< P, Q >

An abstract monomial class, for inexact algorithms.

Inexact in this case means energy computation is not supported, (in an inexact algorithm sense – obviously it is weird to have a hamiltonian where you cannot compute the energy. We may need to think more about this)

This serves the following purpose. It definees an interface for computing the total force and can refresh the momenta,

We don't specify how the momenta is refreshed. It is "virtual". HMD type algorithms will porbably use gaussian noise. GHMD type algorithms will mix the previous momenta some. How to do that will be encoded in the derived class, probably through the constructor.

For this it needs to know the types of coordinates and the momenta so that it can act on the right kind of state.

Definition at line 42 of file abs_monomial.h.

Constructor & Destructor Documentation

◆ ~Monomial()

template<typename P , typename Q >
virtual Chroma::Monomial< P, Q >::~Monomial ( )
inlinevirtual

virtual destructor:

Definition at line 46 of file abs_monomial.h.

Member Function Documentation

◆ dsdq()

template<typename P , typename Q >
virtual void Chroma::Monomial< P, Q >::dsdq ( P F,
const AbsFieldState< P, Q > &  s 
)
pure virtual

Compute dsdq for the system...

Not specified how to actually do this s is the state, F is the computed force

Implemented in Chroma::ExactWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::ExactWilsonTypeFermMonomial< P, Q, Phi >, Chroma::ExactWilsonTypeFermMonomial< P, Q, T >, Chroma::ExactFermMonomial5D< P, Q, Phi >, Chroma::ExactFermMonomial4D< P, Q, Phi >, Chroma::ExactFermMonomial< P, Q, Phi >, Chroma::FermMonomial< P, Q, Phi >, Chroma::ExactMonomial< P, Q >, Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial< P, Q, Phi >, Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::PrecConstDetTwoFlavorRatioConvConvMultihasenWilsonTypeFermMonomial< T, P, Q, FAType, LOType >, Chroma::TwoFlavorExactRatioConvConvWilsonTypeFermMonomial< P, Q, Phi >, Chroma::TwoFlavorExactRatioConvConvWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::TwoFlavorExactPolyPrecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::TwoFlavorExactPolynomialWilsonTypeFermMonomial< P, Q, Phi >, Chroma::PrecConstDetTwoFlavorWilsonMultihasenCancelMonomial< T, P, Q, FAType, LOType >, Chroma::TwoFlavorExactEOPrecLogDetWilsonTypeFermMonomialT< P, Q, Phi, EOFermActT, EOLinOpT >, Chroma::TwoFlavorExactWilsonTypeFermMonomial< P, Q, Phi >, Chroma::TwoFlavorExactWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::SymEvenOddPrecLogDetDiagMonomial< P, Q, Phi >, Chroma::OneFlavorRatioRatRatExactWilsonTypeFermMonomial< P, Q, Phi >, Chroma::OneFlavorRatioRatRatExactWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::OneFlavorRatioRatConvExactWilsonTypeFermMonomial< P, Q, Phi >, Chroma::OneFlavorRatioRatConvExactWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >, Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::GaugeMonomial, Chroma::FixedRandomFermMonomial4D, Chroma::EvenOddPrecLogDetEvenEvenMonomial< P, Q, Phi >, Chroma::EvenOddPrecConstDetConstGaugeOneFlavorWilsonTypeFermRatMonomial, Chroma::ConstGaugeMonomial, Chroma::ExactFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, Chroma::ExactMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >, Chroma::SymEvenOddPrecLogDetDiagMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, and Chroma::EvenOddPrecLogDetEvenEvenMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >.

Referenced by main().

◆ refreshInternalFields()

template<typename P , typename Q >
virtual void Chroma::Monomial< P, Q >::refreshInternalFields ( const AbsFieldState< P, Q > &  field_state)
pure virtual

Refresh pseudofermion fields if any.

Implemented in Chroma::PrecConstDetTwoFlavorRatioConvConvMultihasenWilsonTypeFermMonomial< T, P, Q, FAType, LOType >, Chroma::PrecConstDetTwoFlavorWilsonMultihasenCancelMonomial< T, P, Q, FAType, LOType >, Chroma::OneFlavorRatioRatRatExactWilsonTypeFermMonomial< P, Q, Phi >, Chroma::OneFlavorRatioRatRatExactWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::OneFlavorRatioRatConvExactWilsonTypeFermMonomial< P, Q, Phi >, Chroma::OneFlavorRatioRatConvExactWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >, Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::GaugeMonomial, Chroma::ExactWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::ExactWilsonTypeFermMonomial< P, Q, Phi >, Chroma::ExactWilsonTypeFermMonomial< P, Q, T >, Chroma::ExactFermMonomial5D< P, Q, Phi >, Chroma::ExactFermMonomial4D< P, Q, Phi >, Chroma::ExactFermMonomial< P, Q, Phi >, Chroma::FermMonomial< P, Q, Phi >, Chroma::ExactMonomial< P, Q >, Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial< P, Q, Phi >, Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::TwoFlavorExactRatioConvConvWilsonTypeFermMonomial< P, Q, Phi >, Chroma::TwoFlavorExactRatioConvConvWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::TwoFlavorExactPolyPrecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::TwoFlavorExactPolynomialWilsonTypeFermMonomial< P, Q, Phi >, Chroma::TwoFlavorExactWilsonTypeFermMonomial< P, Q, Phi >, Chroma::TwoFlavorExactWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::FixedRandomFermMonomial4D, Chroma::SymEvenOddPrecLogDetDiagMonomial< P, Q, Phi >, Chroma::SymEvenOddPrecLogDetDiagMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, Chroma::EvenOddPrecLogDetEvenEvenMonomial< P, Q, Phi >, Chroma::EvenOddPrecLogDetEvenEvenMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, Chroma::ExactFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, and Chroma::ExactMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.

Referenced by main().

◆ resetPredictors()

template<typename P , typename Q >
virtual void Chroma::Monomial< P, Q >::resetPredictors ( void  )
inlinevirtual

◆ setInternalFields()

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

Copy pseudofermion fields from another monomial...

Implemented in Chroma::ExactWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::ExactWilsonTypeFermMonomial< P, Q, Phi >, Chroma::ExactWilsonTypeFermMonomial< P, Q, T >, Chroma::ExactFermMonomial5D< P, Q, Phi >, Chroma::ExactFermMonomial4D< P, Q, Phi >, Chroma::ExactFermMonomial< P, Q, Phi >, Chroma::FermMonomial< P, Q, Phi >, Chroma::ExactMonomial< P, Q >, Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial< P, Q, Phi >, Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::PrecConstDetTwoFlavorRatioConvConvMultihasenWilsonTypeFermMonomial< T, P, Q, FAType, LOType >, Chroma::TwoFlavorExactRatioConvConvWilsonTypeFermMonomial< P, Q, Phi >, Chroma::TwoFlavorExactRatioConvConvWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::TwoFlavorExactPolyPrecWilsonTypeFermMonomial< P, Q, Phi >, Chroma::TwoFlavorExactPolynomialWilsonTypeFermMonomial< P, Q, Phi >, Chroma::PrecConstDetTwoFlavorWilsonMultihasenCancelMonomial< T, P, Q, FAType, LOType >, Chroma::TwoFlavorExactWilsonTypeFermMonomial< P, Q, Phi >, Chroma::TwoFlavorExactWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::OneFlavorRatioRatRatExactWilsonTypeFermMonomial< P, Q, Phi >, Chroma::OneFlavorRatioRatRatExactWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::OneFlavorRatioRatConvExactWilsonTypeFermMonomial< P, Q, Phi >, Chroma::OneFlavorRatioRatConvExactWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >, Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >, Chroma::GaugeMonomial, Chroma::FixedRandomFermMonomial4D, Chroma::ExactFermMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, Chroma::ExactMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >, Chroma::SymEvenOddPrecLogDetDiagMonomial< P, Q, Phi >, Chroma::SymEvenOddPrecLogDetDiagMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >, Chroma::EvenOddPrecLogDetEvenEvenMonomial< P, Q, Phi >, and Chroma::EvenOddPrecLogDetEvenEvenMonomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix >, LatticeFermion >.


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