Code to work with Dirichlet processes and hierarchical Dirichlet processes and perform inference using MCMC.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Documentation and code examples are available at The repository is located at

This repository implements data structures to represent Dirichlet processes and hierarchical Dirichlet processes (see hdp.h for an overview of these concepts). In addition, this repository provides a Markov chain Monte Carlo sampler to perform inference in mcmc.h.


To use the code, simply download the files into a folder named "hdp". Add this folder to the include path for the compiler, for example by using the -I flag.

This library depends on core and math. The code makes use of C++11 and is regularly tested with gcc 8 but I have previously compiled it with gcc 4.8, clang 4.0, and Microsoft Visual C++ 14.0 (2015). The code is intended to be platform-independent, so please create an issue if there are any compilation bugs.


There is an example in the documentation for mcmc.h, as well as a test program in mcmc.cpp which can be built using make hdp_mcmc.