Skip to content

C implementation of Incremental Mixture Importance Sampling (IMIS; Raftery, Bao. Biometrics 2010) using GNU Scientific Library

Notifications You must be signed in to change notification settings

jeffeaton/IMIS-example-parallel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This project illustrates a C implementation of the incremental mixture importance sampling algorithm (Raftery, Bao. Biometrics, 2010.; http://cran.r-project.org/web/packages/IMIS/index.html), relying on the GNU Scientfic Library (GSL; http://www.gnu.org/software/gsl/).

Compilation of the code requires linking to the GSL libraries (-lgsl -lgslcblas) and uses OpenMP to parallelise the IMIS algorithm, see 'code/makefile'.

Sampling from a tri-modal bivariate normal mixture distribution is used as an example (main.c, trimodal.R). 

To compile and run C implementation:

- Run makefile: $ make 
- Run example: $ ./trimodal-parallel
- Load and analyse output in R script trimodal.R

Note: In makefile, update C compiler from gcc-4.8 to any compiler that supports -fopenmp flag. Or compile version without -fopenmp flag to compile single processor version.

The script trimodal.R illustrates that the C implementation produces the same results as the R implementation available from CRAN.

About

C implementation of Incremental Mixture Importance Sampling (IMIS; Raftery, Bao. Biometrics 2010) using GNU Scientific Library

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published