Muller
sample Muller's potential
Functions
sampler.c File Reference

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

Errormetropolis_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)
Errorset_params_from_pt (const Vector_d *p, void *params)
Errorenergy_func (double *energy_out, void *params)
Errorgrad_energy_func (Vector_d **grad_out, void *params)
Errorlangevin_accept_sample (const Vector_d *sample, void *params)
Errorhyper_accept_sample (const Vector_d *sample, void *params, double Vb)
Errorstochastic_dynamics_accept_sample (const Vector_d *sample, const Vector_d *momenta, void *params)
Errorhybrid_mc_accept_sample (const Vector_d *sample, const Vector_d *momenta, void *params)

Detailed Description

Collection of sampling routines to generate random un-biased samples from Muller's potential function.

Author:
Joseph Schlecht
License:
Creative Commons BY-NC-SA 3.0

Definition in file sampler.c.


Function Documentation

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.

Parameters:
iterationsNumber of iterations to run the sampler for.
x_sigmaGaussian proposal sigma for x.
x_minGaussian proposal minimum for x.
x_maxGaussian proposal maximum for x.
y_sigmaGaussian proposal sigma for y.
y_minGaussian proposal minimum for y.
y_maxGaussian proposal maximum for y.
Returns:
On success, NULL is returned. On error, an Error is returned.
  • Error_types::ERROR_INV_RESULT Precision error.

Definition at line 80 of file sampler.c.

void get_pt_from_params ( Vector_d **  p_out,
const void *  params 
)

Definition at line 176 of file sampler.c.

Error* set_params_from_pt ( const Vector_d p,
void *  params 
)

Definition at line 183 of file sampler.c.

Error* energy_func ( double *  energy_out,
void *  params 
)

Definition at line 191 of file sampler.c.

Error* grad_energy_func ( Vector_d **  grad_out,
void *  params 
)

Definition at line 204 of file sampler.c.

Error* langevin_accept_sample ( const Vector_d sample,
void *  params 
)

Definition at line 221 of file sampler.c.

Error* hyper_accept_sample ( const Vector_d sample,
void *  params,
double  Vb 
)

Definition at line 238 of file sampler.c.

Error* stochastic_dynamics_accept_sample ( const Vector_d sample,
const Vector_d momenta,
void *  params 
)

Definition at line 256 of file sampler.c.

Error* hybrid_mc_accept_sample ( const Vector_d sample,
const Vector_d momenta,
void *  params 
)

Definition at line 282 of file sampler.c.