DIAMONDS - Bayesian Software


The DIAMONDS (high-DImensional And multi-MOdal NesteD Sampling) code presented in this website is developed in C++11 and structured in classes in order to be as much flexible and configurable as possible. The working scheme from the main function is as follow:

  • Read an input dataset
  • Set up model, likelihood, and prior distributions to be used in the Bayesian inference
  • Set up a drawing algorithm for the nested sampling
  • Configure and start the nested sampling
  • Compute and print the final results

The code can be used for any application involving Bayesian parameter estimation and/or model selection problems. Users can supply new models, likelihood functions, and prior distributions whenever needed by taking the advantage of C++ class polymorphism and inheritance. Any new model, likelihood, and prior distribution can be defined and implemented upon a basic template. In addition, it is possible to feed the basic nested sample with different drawing algorithms based on clustering, as well as different clustering algorithms can in principle be used.

The original paper publication that presents DIAMONDS and its application to asteroseismology is available at E. Corsaro & J. De Ridder 2014 A&A, 571, 71