|
APEMoST
|
#include <omp.h>#include "mcmc.h"#include "parallel_tempering.h"#include "parallel_tempering_beta.h"#include "parallel_tempering_interaction.h"#include "parallel_tempering_config.h"#include "debug.h"#include "define_defaults.h"#include "gsl_helper.h"#include "parallel_tempering_run.h"#include "utils.h"Defines | |
| #define | BURN_IN_ITERATIONS |
| #define | RWM |
| #define | ADAPT |
Functions | |
| void | register_signal_handlers () |
| void | run_sampler (mcmc **chains, int n_beta, unsigned int n_swap, const unsigned long max_iterations, char *mode) |
| void | report (const mcmc **chains, const int n_beta) |
| void | calibrate_first () |
| void | calibrate_rest () |
| void | prepare_and_run_sampler (const unsigned long max_iterations, int append) |
| void | adapt (mcmc **chains, const unsigned int n_beta, const unsigned int n_swap) |
| void | dump (const mcmc **chains, const unsigned int n_beta, const unsigned long iter, FILE *acceptance_file, FILE **probabilities_file) |
| #define ADAPT |
Enable a constant but small rescaling of the step width to keep the acceptance rate up.
| #define BURN_IN_ITERATIONS |
how many iterations should be spent on burn-in
Referenced by calibrate_first(), calibrate_rest(), and check().
| #define RWM |
Enable Random Walk Metropolis (adaptive MCMC method) Also important: MINIMAL_STEPWIDTH, MAXIMAL_STEPWIDTH
| void adapt | ( | mcmc ** | chains, |
| const unsigned int | n_beta, | ||
| const unsigned int | n_swap | ||
| ) |
References dump_i, get_params_accepts_sum(), get_params_rejects_sum(), get_prob(), get_steps(), markov_chain_step(), reset_accept_rejects(), rmw_adapt_stepwidth(), and TARGET_ACCEPTANCE_RATE.
Referenced by run_sampler().
| void calibrate_first | ( | ) |
needs: params file BURN_IN_ITERATIONS start values (in params file)
does: calibrate first chain (beta = 1) writes beta, stepwidths and start values as first line in file calibration_result
provides: stepwidths of first chain (calibration_result) new params file (params_suggest) new start values (calibration_result)
References BURN_IN_ITERATIONS, calc_model(), DEFAULT_ADJUST_STEP, ITER_LIMIT, markov_chain_calibrate(), MAX_AR_DEVIATION, mcmc_check(), MUL, setup_chains(), TARGET_ACCEPTANCE_RATE, write_calibrations_file(), and write_params_file().
Referenced by main().
| void calibrate_rest | ( | ) |
needs: params file BURN_IN_ITERATIONS first line in calibration_result BETA_ALIGNMENT BETA_0 SKIP_CALIBRATE_ALLCHAINS
does: calibrate remaining chains (beta < 1) writes all betas, stepwidths and start values in file calibration_result
provides: stepwidths of first chain (calibration_result) new params file (params_suggest) new start values (calibration_result)
References mcmc::additional_data, BETA_0, burn_in(), BURN_IN_ITERATIONS, calc_beta_0(), calc_model(), DEFAULT_ADJUST_STEP, dump_vectorln(), dup_vector(), get_beta(), get_chain_beta(), get_n_par(), get_params_best(), get_steps(), ITER_LIMIT, markov_chain_calibrate(), MAX_AR_DEVIATION, mcmc_check(), mem_free, mem_malloc, MUL, N_BETA, mcmc::params_step, read_calibration_file(), set_beta(), set_params(), setup_chains(), TARGET_ACCEPTANCE_RATE, write_calibration_summary(), and write_calibrations_file().
Referenced by main().
| void dump | ( | const mcmc ** | chains, |
| const unsigned int | n_beta, | ||
| const unsigned long | iter, | ||
| FILE * | acceptance_file, | ||
| FILE ** | probabilities_file | ||
| ) |
References debug, dump_mcmc(), dump_ul, dump_vector(), dumpflag, get_duration(), get_params(), get_params_accepts_global(), get_params_rejects_global(), get_ticks_per_second(), IFDEBUG, PRINT_PROB_INTERVAL, and report().
Referenced by run_sampler().
| void prepare_and_run_sampler | ( | const unsigned long | max_iterations, |
| int | append | ||
| ) |
References mcmc_free(), mcmc_open_dump_files(), mem_free, N_BETA, N_SWAP, read_calibration_file(), register_signal_handlers(), report(), run_sampler(), set_data(), and setup_chains().
Referenced by main().
| void register_signal_handlers | ( | ) |
Referenced by prepare_and_run_sampler().
| void report | ( | const mcmc ** | chains, |
| const int | n_beta | ||
| ) |
References mcmc_dump_flush(), and print_current_positions().
Referenced by dump(), and prepare_and_run_sampler().
| void run_sampler | ( | mcmc ** | chains, |
| int | n_beta, | ||
| unsigned int | n_swap, | ||
| const unsigned long | max_iterations, | ||
| char * | mode | ||
| ) |
References adapt(), assert, dump(), dumpflag, get_beta(), get_duration(), get_prior(), get_prob(), markov_chain_step(), mcmc_append_current_parameters(), mcmc_check_best(), mem_calloc, mcmc::n_iter, run, and tempering_interaction().
Referenced by prepare_and_run_sampler().
1.7.3