Grid 0.7.0
HybridMonteCarlo< IntegratorType > Class Template Reference

#include <HMC.h>

Public Member Functions

 HybridMonteCarlo (HMCparameters _Pams, IntegratorType &_Int, GridSerialRNG &_sRNG, GridParallelRNG &_pRNG, ObsListType _Obs, Field &_U)
 ~HybridMonteCarlo ()
void evolve (void)

Private Types

typedef IntegratorType::Field Field
typedef IntegratorType::FieldImplementation FieldImplementation
typedef std::vector< HmcObservable< Field > * > ObsListType

Private Member Functions

bool metropolis_test (const RealD DeltaH)
RealD evolve_hmc_step (Field &U)

Private Attributes

const HMCparameters Params
GridSerialRNGsRNG
GridParallelRNGpRNG
FieldUcur
IntegratorType & TheIntegrator
ObsListType Observables

Detailed Description

template<class IntegratorType>
class HybridMonteCarlo< IntegratorType >

Definition at line 96 of file HMC.h.

Member Typedef Documentation

◆ Field

template<class IntegratorType>
typedef IntegratorType::Field HybridMonteCarlo< IntegratorType >::Field
private

Definition at line 100 of file HMC.h.

◆ FieldImplementation

template<class IntegratorType>
typedef IntegratorType::FieldImplementation HybridMonteCarlo< IntegratorType >::FieldImplementation
private

Definition at line 101 of file HMC.h.

◆ ObsListType

template<class IntegratorType>
typedef std::vector< HmcObservable<Field> * > HybridMonteCarlo< IntegratorType >::ObsListType
private

Definition at line 102 of file HMC.h.

Constructor & Destructor Documentation

◆ HybridMonteCarlo()

template<class IntegratorType>
HybridMonteCarlo< IntegratorType >::HybridMonteCarlo ( HMCparameters _Pams,
IntegratorType & _Int,
GridSerialRNG & _sRNG,
GridParallelRNG & _pRNG,
ObsListType _Obs,
Field & _U )
inline

Definition at line 242 of file HMC.h.

References Observables, Params, pRNG, sRNG, TheIntegrator, and Ucur.

◆ ~HybridMonteCarlo()

template<class IntegratorType>
HybridMonteCarlo< IntegratorType >::~HybridMonteCarlo ( )
inline

Definition at line 246 of file HMC.h.

Member Function Documentation

◆ metropolis_test()

template<class IntegratorType>
bool HybridMonteCarlo< IntegratorType >::metropolis_test ( const RealD DeltaH)
inlineprivate

Definition at line 116 of file HMC.h.

References GridLogHMC, random(), and sRNG.

Referenced by evolve().

◆ evolve_hmc_step()

template<class IntegratorType>
RealD HybridMonteCarlo< IntegratorType >::evolve_hmc_step ( Field & U)
inlineprivate

Definition at line 141 of file HMC.h.

References GridLogHMC, GridLogMessage, Nd, Params, PeekIndex(), PokeIndex(), pRNG, random(), sRNG, TheIntegrator, and U.

Referenced by evolve().

◆ evolve()

template<class IntegratorType>
void HybridMonteCarlo< IntegratorType >::evolve ( void )
inline

Field Documentation

◆ Params

template<class IntegratorType>
const HMCparameters HybridMonteCarlo< IntegratorType >::Params
private

Definition at line 98 of file HMC.h.

Referenced by evolve(), evolve_hmc_step(), and HybridMonteCarlo().

◆ sRNG

template<class IntegratorType>
GridSerialRNG& HybridMonteCarlo< IntegratorType >::sRNG
private

Definition at line 105 of file HMC.h.

Referenced by evolve(), evolve_hmc_step(), HybridMonteCarlo(), and metropolis_test().

◆ pRNG

template<class IntegratorType>
GridParallelRNG& HybridMonteCarlo< IntegratorType >::pRNG
private

Definition at line 106 of file HMC.h.

Referenced by evolve(), evolve_hmc_step(), and HybridMonteCarlo().

◆ Ucur

template<class IntegratorType>
Field& HybridMonteCarlo< IntegratorType >::Ucur
private

Definition at line 108 of file HMC.h.

Referenced by evolve(), and HybridMonteCarlo().

◆ TheIntegrator

template<class IntegratorType>
IntegratorType& HybridMonteCarlo< IntegratorType >::TheIntegrator
private

Definition at line 110 of file HMC.h.

Referenced by evolve(), evolve_hmc_step(), and HybridMonteCarlo().

◆ Observables

template<class IntegratorType>
ObsListType HybridMonteCarlo< IntegratorType >::Observables
private

Definition at line 111 of file HMC.h.

Referenced by evolve(), and HybridMonteCarlo().


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