APEMoST
Data Structures | Defines | Functions

src/parallel_tempering_beta.h File Reference

#include <gsl/gsl_sf.h>
#include "mcmc.h"
#include "parallel_tempering.h"
#include "parallel_tempering_interaction.h"

Go to the source code of this file.

Data Structures

struct  parallel_tempering_mcmc

Defines

#define BETA_ALIGNMENT
#define BETA_0_STEPWIDTH   1.0

Functions

void set_beta (mcmc *m, double newbeta)
double get_beta (const mcmc *m)
void inc_swapcount (mcmc *m)
unsigned long get_swapcount (const mcmc *m)
void print_current_positions (const mcmc **chains, const int n_beta)
double get_chain_beta (unsigned int i, unsigned int n_beta, double beta_0)
double calc_beta_0 (mcmc *m, gsl_vector *stepwidth_factors)

Define Documentation

#define BETA_0_STEPWIDTH   1.0

hottest chain stepwidth in units of parameter space

Referenced by calc_beta_0().

#define BETA_ALIGNMENT

Defines how the beta value should be assigned/distributed between the chains.

beta = 1 / temperature.

You can choose equidistant (linear) alignment of the temperature or beta. Or, what often proves to be a good choice, you can use Chebyshev nodes for the values of the temperature or beta.

e.g.: BETA_ALIGNMENT=equidistant_beta
also available: equidistant_temperature, chebyshev_beta, chebyshev_temperature, equidistant_stepwidth, chebyshev_stepwidth

default: chebyshev_beta

Referenced by check(), and get_chain_beta().


Function Documentation

double calc_beta_0 ( mcmc m,
gsl_vector *  stepwidth_factors 
)
double get_beta ( const mcmc m)
double get_chain_beta ( unsigned int  i,
unsigned int  n_beta,
double  beta_0 
)
unsigned long get_swapcount ( const mcmc m)
void inc_swapcount ( mcmc m)

References mcmc::additional_data.

Referenced by tempering_interaction().

void print_current_positions ( const mcmc **  chains,
const int  n_beta 
)
void set_beta ( mcmc m,
double  newbeta 
)