Class markov::Metropolis
Metropolis Algorithm.
Random sampling approximating the Boltzmann distribution using a Markov chain Monte Carlo approach.
Inherited Members
Constructors
Metropolis()
Create a Metropolis instance with uninitialized model and state.
Declaration
markov::Metropolis<Model>::Metropolis()
Methods
temperature()
Get the current temperature for sampling.
Declaration
double markov::Metropolis<Model>::temperature() const
beta()
Get the current inverse sampling temperature.
Declaration
double markov::Metropolis<Model>::beta() const
set_temperature()
Set the sampling temperature (also updates beta_).
Declaration
void markov::Metropolis<Model>::set_temperature(double temperature)
set_beta()
Declaration
void markov::Metropolis<Model>::set_beta(double beta)
accept()
Decide whether to accept a given cost increase.
Declaration
bool markov::Metropolis<Model>::accept(const typename Model::Cost_T&cost_diff) override
memory_estimate()
Estimate memory consumption using model parameters.
Declaration
static size_t markov::Metropolis<Model>::memory_estimate(const Model&model)