versatile-mcmc  0.1.7
versatile-mcmc

A lightweight and extensible Markov Chain Monte Carlo (MCMC) library written in modern C++.

Introduction

With this project I aim at building a modular and easy to integrate C++ framework for performing Bayesian inference and mathematical optimization tasks in high-dimensional models.

While there are several MCMC algorithms available for the software environment R, similar options for the C++ language, which is still a popular choice for scientific high-performance computations, are limited.

In order to allow for a future proof and robust code base with intuitive extensibility and good integrability of the library into existing C++ projects, I'd like to meet the following design criteria:

Status

Next items on my todo list

Supported compilers and operating systems

Essentially, all C++11 compliant compilers should work. Currently the build is being tested on Travis CI using the following OS/compiler combinations:

Prerequisits

On Debian-based systems simply use apt-get:

1 sudo apt-get install meson ninja libboost-all-dev doxygen libtbb-dev libgtest-dev

If meson is not provided by your package manager, you can use the python 3 installer:

1 pip3 install meson

Quick Installation

Getting Started

See the example in src/vmcmc-example.cpp on how to invoke a Metropolis-Hastings sampler on a custom likelihood function and write the sampled points to text files.