DREAM0
Markov Chain Monte Carlo acceleration by Differential Evolution
DREAM0
is a FORTRAN90 library which
is the original implementation of the DREAM algorithm for accelerating
Markov Chain Monte Carlo (MCMC) convergence using differential evolution,
by Guannan Zhang.
Using the DREAM0 library to solve a problem requires:
-
compiling the main program MAIN.FOR;
-
linking the main program with the DREAM, RAND_GENERATOR,
LINPACK and PDF_DENSITY libraries;
-
supplying two text files that define the input parameters and the
prior probability density function, such as the examples
given below.
A more recent version of the algorithm, with a simplified interface
involving 5 user functions, is available as DREAM.
Licensing:
The computer code and data files described and made available on this
web page are distributed under
the GNU LGPL license.
Languages:
DREAM0 is available in
a FORTRAN90 version.
Related Data and Programs:
DREAM,
a FORTRAN90 program which
implements the DREAM algorithm for accelerating
Markov Chain Monte Carlo (MCMC)
convergence using differential evolution,
using five user functions to define the problem, by Guannan Zhang.
DREAM1,
a FORTRAN90 library which
is an older implementation of the DREAM algorithm for accelerating
Markov Chain Monte Carlo (MCMC)
convergence using differential evolution,
using a user function main program and two input files
to define the problem, by Guannan Zhang.
RANLIB,
a FORTRAN90 library which
produces random samples from Probability Density Functions (PDF's),
including Beta, Chi-square Exponential, F, Gamma, Multivariate normal,
Noncentral chi-square, Noncentral F, Univariate normal,
random permutations, Real uniform, Binomial, Negative Binomial,
Multinomial, Poisson and Integer uniform,
by Barry Brown and James Lovato.
RNGLIB,
a FORTRAN90 library which
implements a random number generator (RNG) with splitting facilities,
allowing multiple independent streams to be computed,
by L'Ecuyer and Cote.
Author:
Guannan Zhang.
Reference:
-
Pierre LEcuyer, Serge Cote,
Implementing a Random Number Package with Splitting Facilities,
ACM Transactions on Mathematical Software,
Volume 17, Number 1, March 1991, pages 98-111.
-
Jasper Vrugt, CJF ter Braak, CGH Diks, Bruce Robinson, James Hyman,
Dave Higdon,
Accelerating Markov Chain Monte Carlo Simulation by Differential
Evolution with Self-Adaptive Randomized Subspace Sampling,
International Journal of Nonlinear Sciences and Numerical
Simulation,
Volume 10, Number 3, March 2009, pages 271-288.
Source Code:
-
main.f90, the main program.
-
dream.f90,
source code for the DREAM algorithm.
-
linpack.f,
FORTRAN77 source code for the LINPACK linear algebra library.
-
rand_generator.f90,
a random number generator package.
-
pdf_density.f90,
a package for evaluating common probability density functions.
-
makefile,
a makefile for compiling the source codes and creating an executable.
Examples and Tests:
Input files:
-
DreamTest.in,
an input file, containing parameter values.
-
prior.in,
an input file, defining the prior density functions for
the parameters.
Output files:
-
ParSamples._chain01,
successive sample values for chain 1.
-
ParSamples._chain02,
successive sample values for chain 2.
-
ParSamples._chain03,
successive sample values for chain 3.
-
ParSamples._chain04,
successive sample values for chain 4.
-
ParSamples._chain05,
successive sample values for chain 5.
-
ParSamples._chain06,
successive sample values for chain 6.
-
ParSamples._chain07,
successive sample values for chain 7.
-
ParSamples._chain08,
successive sample values for chain 8.
-
ParSamples._chain09,
successive sample values for chain 9.
-
ParSamples._chain10,
successive sample values for chain 10.
-
Gel_Ru.out,
an output file, the Gelman-Rubin statistic file.
-
Restart.out,
an output file, containing restart information.
You can go up one level to
the FORTRAN90 source codes.
Last revised on 29 May 2013.