Skip to content

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 -> real
  • Apply: Callable: idx -> void
  • Save: 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.