Stochastic Computation For Gaussian Graphical Models
Beatrix Jones, Carlos Carvalho, Adrian Dobra, Chris Hans, Chris Carter & Mike West

This site provides C++ code software implementing Metropolis Hastings MCMC and Shotgun Stochastic Search methods for exploring spaces of Gaussian Graphical Models, as described in the paper linked below.

Feel free to download and explore, and let us have your feedback as we update the material. Any identified bugs will be corrected and updated here.

There are 4 programs, each available as a zipped unix directory; the directory for each program includes a README file and example input:

  1. Metropolis Hastings, decomposable graphs.
  2. Metropolis Hastings, unrestricted graphs.
  3. Stochastic Search, decomposable graphs.
  4. Stochastic Search, unrestricted graphs.
The Stochastic Search code is for distributed implementation on a Beaowulf cluster, and utilizes MPI as well as the free libraries lapack and blitz. The Metropolis code is serial.

Key reference and supplementary material:

  • Original (Jan 2004), archival version of Experiments in Stochastic Computation for High-Dimensional Graphical Models, by Beatrix Jones, Carlos Carvalho, Adrian Dobra, Chris Hans, Chris Carter and Mike West, available as ISDS Discussion Paper 04-01 and SAMSI Technical Report 2004-1. This manuscript describes and reviews graphical models, details of computation, and provides a series of examples as well as detailed technical appendices.
  • Paper published in Statistical Science (2005),
  • Graphical displays in the paper are based on outputs from the analysis displayed using the AT&T GraphViz
  • See also the GraphExplore software for dynamically exploring large graphical structures such as generated from statistical graphical models.



Research underlying the software presented here was performed under partial support from the National Science Foundation through the SAMSI grant DMS-0112069, on grants DMS-0102227 and 0112340 to Duke University, and by grants from the Keck Foundation and NIH.


This software is made freely available to any interested user. The authors can provide no support nor assistance with implementations beyond the details and examples here, nor extensions of the code for other purposes. The download has been tested to confirm all details are operational as described here.

It is understood by the user that neither the authors nor Duke University bear any responsibility nor assume any liability for any end-use of this software. It is expected that appropriate credit/acknowledgement be given should the software be included as an element in other software development or in publications.


More software from the West group