Muller
sample Muller's potential
|
Collection of sampling routines to generate random un-biased samples from Muller's potential function. More...
#include <config.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <assert.h>
#include <inttypes.h>
#include <jwsc/base/error.h>
#include <jwsc/base/limits.h>
#include <jwsc/prob/pdf.h>
#include <jwsc/vector/vector.h>
#include <jwsc/vector/vector_math.h>
#include <jwsc/matrix/matrix.h>
#include <jwsc/matrix/matrix_math.h>
#include "potential.h"
#include "sampler.h"
Go to the source code of this file.
Functions | |
Error * | metropolis_hastings (uint32_t iterations, double start_x, double start_y, double x_sigma, double x_min, double x_max, double y_sigma, double y_min, double y_max) |
Runs the Metropolis-Hastings MCMC sampler on the Muller potential function. | |
void | get_pt_from_params (Vector_d **p_out, const void *params) |
Error * | set_params_from_pt (const Vector_d *p, void *params) |
Error * | energy_func (double *energy_out, void *params) |
Error * | grad_energy_func (Vector_d **grad_out, void *params) |
Error * | langevin_accept_sample (const Vector_d *sample, void *params) |
Error * | hyper_accept_sample (const Vector_d *sample, void *params, double Vb) |
Error * | stochastic_dynamics_accept_sample (const Vector_d *sample, const Vector_d *momenta, void *params) |
Error * | hybrid_mc_accept_sample (const Vector_d *sample, const Vector_d *momenta, void *params) |
Collection of sampling routines to generate random un-biased samples from Muller's potential function.
Definition in file sampler.c.
Error* metropolis_hastings | ( | uint32_t | iterations, |
double | start_x, | ||
double | start_y, | ||
double | x_sigma, | ||
double | x_min, | ||
double | x_max, | ||
double | y_sigma, | ||
double | y_min, | ||
double | y_max | ||
) |
Runs the Metropolis-Hastings MCMC sampler on the Muller potential function.
iterations | Number of iterations to run the sampler for. |
x_sigma | Gaussian proposal sigma for x. |
x_min | Gaussian proposal minimum for x. |
x_max | Gaussian proposal maximum for x. |
y_sigma | Gaussian proposal sigma for y. |
y_min | Gaussian proposal minimum for y. |
y_max | Gaussian proposal maximum for y. |
void get_pt_from_params | ( | Vector_d ** | p_out, |
const void * | params | ||
) |