|
Grid 0.7.0
|
#include <ExactOneFlavourRatio.h>
Public Types | |
| typedef OneFlavourRationalParams | Params |
Public Member Functions | |
| INHERIT_IMPL_TYPES (Impl) | |
| virtual void | heatbathRefreshShiftCoefficients (int LorR, RealD to) |
| ExactOneFlavourRatioPseudoFermionAction (AbstractEOFAFermion< Impl > &_Lop, AbstractEOFAFermion< Impl > &_Rop, OperatorFunction< FermionField > &CG, Params &p, bool use_fc=false) | |
| ExactOneFlavourRatioPseudoFermionAction (AbstractEOFAFermion< Impl > &_Lop, AbstractEOFAFermion< Impl > &_Rop, OperatorFunction< FermionField > &HeatbathCG, OperatorFunction< FermionField > &ActionCGL, OperatorFunction< FermionField > &ActionCGR, OperatorFunction< FermionField > &DerivCGL, OperatorFunction< FermionField > &DerivCGR, Params &p, bool use_fc=false) | |
| ExactOneFlavourRatioPseudoFermionAction (AbstractEOFAFermion< Impl > &_Lop, AbstractEOFAFermion< Impl > &_Rop, OperatorFunction< FermionField > &HeatbathCGL, OperatorFunction< FermionField > &HeatbathCGR, OperatorFunction< FermionField > &ActionCGL, OperatorFunction< FermionField > &ActionCGR, OperatorFunction< FermionField > &DerivCGL, OperatorFunction< FermionField > &DerivCGR, Params &p, bool use_fc=false) | |
| const FermionField & | getPhi () const |
| virtual std::string | action_name () |
| Report the name of the action. | |
| virtual std::string | LogParameters () |
| Print the parameters of the action. | |
| void | spProj (const FermionField &in, FermionField &out, int sign, int Ls) |
| virtual void | refresh (const GaugeField &U, GridSerialRNG &sRNG, GridParallelRNG &pRNG) |
| Refresh pseudofermion fields. | |
| void | refresh (const GaugeField &U, const FermionField &eta) |
| void | Meofa (const GaugeField &U, const FermionField &in, FermionField &out) |
| void | MeofaInv (const GaugeField &U, const FermionField &in, FermionField &out) |
| virtual RealD | S (const GaugeField &U) |
| Evaluate this action with the given gauge field. | |
| virtual void | deriv (const GaugeField &U, GaugeField &dSdU) |
Timing methods | |
| void | reset_timer (void) |
| Zero timers associated with this action. | |
| void | deriv_log (RealD nrm, RealD max, RealD Fdt_nrm, RealD Fdt_max) |
| Record statistics on the action and derivative. | |
| RealD | deriv_max_average (void) |
| Mean maximum derivative for a trajectory. | |
| RealD | deriv_norm_average (void) |
| Mean (absolute value of) derivative for a trajectory. | |
| RealD | Fdt_max_average (void) |
| Mean maximum value of impulse (force integrated over a time step) for a trajectory. | |
| RealD | Fdt_norm_average (void) |
| Mean (absolute value of) impulse (force integrated over a time step) for a trajectory. | |
| RealD | deriv_timer (void) |
| Time spent computing the derivative in microseconds. | |
| RealD | S_timer (void) |
| Time spent computing the action in microseconds. | |
| RealD | refresh_timer (void) |
| Time spent refreshing pseudofermion fields in microseconds. | |
| void | deriv_timer_start (void) |
| Start timing derivative computation. | |
| void | deriv_timer_stop (void) |
| Stop timing derivative computation. | |
| void | refresh_timer_start (void) |
| Start timing pseudofermion field refresh. | |
| void | refresh_timer_stop (void) |
| Stop timing pseudofermion field refresh. | |
| void | S_timer_start (void) |
| Start timing action computation. | |
| void | S_timer_stop (void) |
| Stop timing action computation. | |
Methods working on plain gauge fields | |
| virtual RealD | Sinitial (const GaugeField &U) |
| Get the action at the start of the trajectory. | |
Data Fields | |
| Params | param |
| MultiShiftFunction | PowerNegHalf |
| bool | is_smeared |
| Is the action computed on a smeared gauge field. | |
| RealD | deriv_norm_sum |
| Accumulator for absolute value of derivative of action. | |
| RealD | deriv_max_sum |
| Accumulator for maximum value of derivative of action. | |
| RealD | Fdt_norm_sum |
| Accumulator for absolute value of impulse (force integrated over time step). | |
| RealD | Fdt_max_sum |
| Accumulator for maximum impulse (force integrated over time step). | |
| int | deriv_num |
| Number of times deriv_log() has been called. | |
| RealD | deriv_us |
| Time spent computing the derivative in microseconds. | |
| RealD | S_us |
| Time spent computing the action in microseconds. | |
| RealD | refresh_us |
| Time spent refreshing pseudofermion fields in microseconds. | |
Private Attributes | |
| bool | use_heatbath_forecasting |
| AbstractEOFAFermion< Impl > & | Lop |
| AbstractEOFAFermion< Impl > & | Rop |
| SchurRedBlackDiagMooeeSolve< FermionField > | SolverHBL |
| SchurRedBlackDiagMooeeSolve< FermionField > | SolverHBR |
| SchurRedBlackDiagMooeeSolve< FermionField > | SolverL |
| SchurRedBlackDiagMooeeSolve< FermionField > | SolverR |
| SchurRedBlackDiagMooeeSolve< FermionField > | DerivativeSolverL |
| SchurRedBlackDiagMooeeSolve< FermionField > | DerivativeSolverR |
| FermionField | Phi |
| RealD | norm2_eta |
| bool | initial_action |
Definition at line 52 of file ExactOneFlavourRatio.h.
| typedef OneFlavourRationalParams ExactOneFlavourRatioPseudoFermionAction< Impl >::Params |
Definition at line 56 of file ExactOneFlavourRatio.h.
|
inline |
Definition at line 84 of file ExactOneFlavourRatio.h.
References ExactOneFlavourRatioPseudoFermionAction().
Referenced by ExactOneFlavourRatioPseudoFermionAction(), and ExactOneFlavourRatioPseudoFermionAction().
|
inline |
Definition at line 92 of file ExactOneFlavourRatio.h.
References ExactOneFlavourRatioPseudoFermionAction().
|
inline |
Definition at line 102 of file ExactOneFlavourRatio.h.
References DerivativeSolverL, DerivativeSolverR, AlgRemez::generateApprox(), GridLogMessage, initial_action, Lop, param, Phi, PowerNegHalf, Rop, SolverHBL, SolverHBR, SolverL, SolverR, and use_heatbath_forecasting.
| ExactOneFlavourRatioPseudoFermionAction< Impl >::INHERIT_IMPL_TYPES | ( | Impl | ) |
|
inlinevirtual |
Reimplemented in ExactOneFlavourRatioMixedPrecHeatbathPseudoFermionAction< ImplD, ImplF >.
Definition at line 77 of file ExactOneFlavourRatio.h.
References Lop, AbstractEOFAFermion< Impl >::RefreshShiftCoefficients(), and Rop.
Referenced by ExactOneFlavourRatioMixedPrecHeatbathPseudoFermionAction< ImplD, ImplF >::heatbathRefreshShiftCoefficients(), MeofaInv(), and refresh().
|
inline |
Definition at line 127 of file ExactOneFlavourRatio.h.
References Phi.
|
inlinevirtual |
Report the name of the action.
Implements Action< Impl::GaugeField >.
Reimplemented in ExactOneFlavourRatioMixedPrecHeatbathPseudoFermionAction< ImplD, ImplF >.
Definition at line 129 of file ExactOneFlavourRatio.h.
Referenced by LogParameters(), and S().
|
inlinevirtual |
Print the parameters of the action.
Implements Action< Impl::GaugeField >.
Definition at line 131 of file ExactOneFlavourRatio.h.
References action_name(), GridLogMessage, and param.
|
inline |
Definition at line 143 of file ExactOneFlavourRatio.h.
References axpby_ssp_pminus(), and axpby_ssp_pplus().
Referenced by deriv(), Meofa(), MeofaInv(), refresh(), and S().
|
inlinevirtual |
Refresh pseudofermion fields.
| [in] | U | The gauge field |
| [in,out] | sRNG | The serial random number generator to use |
| [in,out] | pRNG | The parallel random number generator to use |
Implements Action< Impl::GaugeField >.
Definition at line 149 of file ExactOneFlavourRatio.h.
References gaussian(), Lop, refresh(), and U.
Referenced by refresh().
|
inline |
Definition at line 169 of file ExactOneFlavourRatio.h.
References G5R5(), heatbathRefreshShiftCoefficients(), initial_action, Lop, norm2(), norm2_eta, param, Phi, PowerNegHalf, Rop, SolverHBL, SolverHBR, spProj(), U, and use_heatbath_forecasting.
|
inline |
|
inline |
Definition at line 296 of file ExactOneFlavourRatio.h.
References G5R5(), heatbathRefreshShiftCoefficients(), Lop, Rop, SolverHBL, SolverHBR, spProj(), and U.
|
inlinevirtual |
Evaluate this action with the given gauge field.
| [in] | U | The gauge field to evaluate the action of. |
![$S[U]$](form_0.png)
Implements Action< Impl::GaugeField >.
Definition at line 355 of file ExactOneFlavourRatio.h.
References action_name(), G5R5(), GridLogMessage, initial_action, innerProduct(), Lop, norm2(), norm2_eta, param, Phi, Rop, SolverL, SolverR, spProj(), and U.
|
inlinevirtual |
Evaluate the derivative of the action, to be integrated in the molecular dynamics part of the HMC.
| [in] | U | The gauge field to compute the action's derivative on. |
| [out] | dSdU | Array into which to output the resulting derivative. |
Implements Action< Impl::GaugeField >.
Definition at line 411 of file ExactOneFlavourRatio.h.
References DaggerNo, DerivativeSolverL, DerivativeSolverR, G5R5(), Lop, Phi, Rop, spProj(), and U.
|
inlineinherited |
Zero timers associated with this action.
Definition at line 79 of file ActionBase.h.
|
inlineinherited |
Record statistics on the action and derivative.
| [in] | nrm | Absolute value of the action. |
| [in] | max | Maximum value of the action. |
| [in] | Fdt_nrm | Absolute value of the force integrated across this time step. |
| [in] | Fdt_max | Maximum value of the force integrated across this time step. |
Definition at line 91 of file ActionBase.h.
Mean maximum derivative for a trajectory.
Definition at line 102 of file ActionBase.h.
Mean (absolute value of) derivative for a trajectory.
Definition at line 104 of file ActionBase.h.
Mean maximum value of impulse (force integrated over a time step) for a trajectory.
Definition at line 106 of file ActionBase.h.
Mean (absolute value of) impulse (force integrated over a time step) for a trajectory.
Definition at line 108 of file ActionBase.h.
Time spent computing the derivative in microseconds.
Definition at line 110 of file ActionBase.h.
Time spent computing the action in microseconds.
Definition at line 112 of file ActionBase.h.
Time spent refreshing pseudofermion fields in microseconds.
Definition at line 114 of file ActionBase.h.
|
inlineinherited |
Start timing derivative computation.
Definition at line 116 of file ActionBase.h.
|
inlineinherited |
Stop timing derivative computation.
Definition at line 118 of file ActionBase.h.
|
inlineinherited |
Start timing pseudofermion field refresh.
Definition at line 120 of file ActionBase.h.
|
inlineinherited |
Stop timing pseudofermion field refresh.
Definition at line 122 of file ActionBase.h.
|
inlineinherited |
Start timing action computation.
Definition at line 124 of file ActionBase.h.
|
inlineinherited |
Stop timing action computation.
Definition at line 126 of file ActionBase.h.
Get the action at the start of the trajectory.
If the refresh computes the action, it can be cached so that the value at the start of a Monte Carlo trajectory can be used mid-trajectory.
| [in] | U | The gauge field. |
![$S[U]$](form_0.png)
Reimplemented in GeneralEvenOddRatioRationalPseudoFermionAction< Impl >, and TwoFlavourEvenOddRatioPseudoFermionAction< Impl >.
Definition at line 157 of file ActionBase.h.
| Params ExactOneFlavourRatioPseudoFermionAction< Impl >::param |
Definition at line 57 of file ExactOneFlavourRatio.h.
Referenced by ExactOneFlavourRatioPseudoFermionAction(), LogParameters(), refresh(), and S().
| MultiShiftFunction ExactOneFlavourRatioPseudoFermionAction< Impl >::PowerNegHalf |
Definition at line 58 of file ExactOneFlavourRatio.h.
Referenced by ExactOneFlavourRatioPseudoFermionAction(), and refresh().
|
private |
Definition at line 61 of file ExactOneFlavourRatio.h.
Referenced by ExactOneFlavourRatioPseudoFermionAction(), and refresh().
|
private |
Definition at line 62 of file ExactOneFlavourRatio.h.
Referenced by deriv(), ExactOneFlavourRatioPseudoFermionAction(), heatbathRefreshShiftCoefficients(), Meofa(), MeofaInv(), refresh(), refresh(), and S().
|
private |
Definition at line 63 of file ExactOneFlavourRatio.h.
Referenced by deriv(), ExactOneFlavourRatioPseudoFermionAction(), heatbathRefreshShiftCoefficients(), Meofa(), MeofaInv(), refresh(), and S().
|
private |
Definition at line 64 of file ExactOneFlavourRatio.h.
Referenced by ExactOneFlavourRatioPseudoFermionAction(), MeofaInv(), and refresh().
|
private |
Definition at line 65 of file ExactOneFlavourRatio.h.
Referenced by ExactOneFlavourRatioPseudoFermionAction(), MeofaInv(), and refresh().
|
private |
Definition at line 66 of file ExactOneFlavourRatio.h.
Referenced by ExactOneFlavourRatioPseudoFermionAction(), Meofa(), and S().
|
private |
Definition at line 67 of file ExactOneFlavourRatio.h.
Referenced by ExactOneFlavourRatioPseudoFermionAction(), Meofa(), and S().
|
private |
Definition at line 68 of file ExactOneFlavourRatio.h.
Referenced by deriv(), and ExactOneFlavourRatioPseudoFermionAction().
|
private |
Definition at line 69 of file ExactOneFlavourRatio.h.
Referenced by deriv(), and ExactOneFlavourRatioPseudoFermionAction().
|
private |
Definition at line 70 of file ExactOneFlavourRatio.h.
Referenced by deriv(), ExactOneFlavourRatioPseudoFermionAction(), getPhi(), refresh(), and S().
|
private |
Definition at line 72 of file ExactOneFlavourRatio.h.
|
private |
Definition at line 73 of file ExactOneFlavourRatio.h.
Referenced by ExactOneFlavourRatioPseudoFermionAction(), refresh(), and S().
|
inherited |
Is the action computed on a smeared gauge field.
Definition at line 66 of file ActionBase.h.
Accumulator for absolute value of derivative of action.
Definition at line 67 of file ActionBase.h.
Accumulator for maximum value of derivative of action.
Definition at line 68 of file ActionBase.h.
Accumulator for absolute value of impulse (force integrated over time step).
Definition at line 69 of file ActionBase.h.
Accumulator for maximum impulse (force integrated over time step).
Definition at line 70 of file ActionBase.h.
|
inherited |
Number of times deriv_log() has been called.
Definition at line 71 of file ActionBase.h.
Time spent computing the derivative in microseconds.
Definition at line 72 of file ActionBase.h.
Time spent computing the action in microseconds.
Definition at line 73 of file ActionBase.h.
Time spent refreshing pseudofermion fields in microseconds.
Definition at line 74 of file ActionBase.h.