19template<
typename DeltaE,
typename Apply,
typename RNG>
27 std::uniform_real_distribution<real>
u01(0.0, 1.0);
37 if (p >= 1.0 ||
u01(rng) < p) {
54template<
typename ProbFn,
typename Apply,
typename RNG>
61 std::uniform_real_distribution<real>
u01(0.0, 1.0);
70 if (p >= 1.0 ||
u01(rng) < p) {
MetropolisStats metropolis_sweep_prob(idx n_sites, ProbFn acceptance_prob, Apply apply_flip, RNG &rng)
Metropolis sweep with caller-supplied acceptance probabilities.
UmbrellaStats umbrella_sweep(idx n_sites, DeltaE delta_energy, Apply apply_flip, Save save_state, Restore restore_state, Measure measure_order, UmbrellaWindow window, real beta, RNG &rng)
Umbrella-sampled Metropolis sweep (dE variant).
UmbrellaStats umbrella_sweep_prob(idx n_sites, ProbFn acceptance_prob, Apply apply_flip, Save save_state, Restore restore_state, Measure measure_order, UmbrellaWindow window, RNG &rng)
Umbrella-sampled Metropolis sweep (precomputed probability variant).
MetropolisStats metropolis_sweep(idx n_sites, DeltaE delta_energy, Apply apply_flip, real beta, RNG &rng)
Single Metropolis sweep: n_sites random single-site updates.
real beta(real a, real b)
B(a, b) – beta function.
constexpr T ipow(T x) noexcept
Compute x^N at compile time via repeated squaring.
Statistics returned by a single Metropolis sweep.
idx accepted
Number of accepted proposals.
idx total
Total proposals (= n_sites)
Statistics returned by an umbrella sampling sweep.
MetropolisStats mc
Metropolis sweep statistics.
bool reverted
true if state was restored
idx order_param
Order parameter value after sweep.
Window constraint for umbrella sampling.