num::markov::umbrella_sweep¶
Defined in header <stochastic/detail/mcmc_impl.hpp>
template <energy_difference DeltaE, std::invocable<idx> Apply, typename Save,
typename Restore, typename Measure, std::uniform_random_bit_generator RNG>
umbrella_stats umbrella_sweep(idx n_sites, DeltaE delta_energy, Apply apply_flip,
Save save_state, Restore restore_state,
Measure measure_order, umbrella_window window, real beta,
RNG &rng);
Umbrella-sampled Metropolis sweep (dE variant).
Performs a sweep, measures the order parameter, then restores the saved state if the order parameter falls outside [window.lo, window.hi].
Template parameters¶
DeltaE: Callable: idx -> realApply: Callable: idx -> voidSave: Callable: () -> void. Saves system state before the sweep.Restore: Callable: () -> void. Restores saved state.Measure: Callable: () -> idx. Returns the order parameter.RNG: Random number generator.