**dream_test**,
a FORTRAN90 code which
calls dream(), which
implements the DREAM algorithm for accelerating
Markov Chain Monte Carlo (MCMC) convergence using differential evolution.

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

dream, a FORTRAN90 code 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.

- dream_test.sh, runs all the tests.

**PROBLEM0** is a small sample problem, in 10 dimensions, with a
density that is the maximum of two gaussians centered at (-5,-5,...,-5)
and (5,5,...,5).

- problem0.f90, is a user written file, containing 5 functions, which define the data for problem 0.
- problem0.txt, the output file.
- problem0_chain01.txt, a chain data file.
- problem0_chain02.txt, a chain data file.
- problem0_chain03.txt, a chain data file.
- problem0_chain04.txt, a chain data file.
- problem0_chain05.txt, a chain data file.
- problem0_chain06.txt, a chain data file.
- problem0_chain07.txt, a chain data file.
- problem0_chain08.txt, a chain data file.
- problem0_chain09.txt, a chain data file.
- problem0_chain10.txt, a chain data file.
- problem0_gr.txt, the Gelman-Rubin statistic file.
- problem0_restart.txt, the restart file.

**PROBLEM1** is based on the first example in the Vrugt reference.
The Vrugt version involves 100 variables, with a multidimensional
normal distribution with specified mean vector and covariance matrix.
So far, I have simply set up the user routines, with just 5 variables,
and created a small stand-alone main code to test it.

- problem1.f90, is a user written file, containing the 5 functions required to define the problem data, as well as other functions to set the covariance for problem 1.
- problem1_main.f90, a stand-alone main code that calls the user functions to make some simple tests.
- problem1_main.txt, the output file from the standalone main code.

**PROBLEM2** is based on the second example in the Vrugt reference.
The Vrugt version involves 10 variables, with a "twisted" Gaussian
density function.

- problem2.f90, is a user written file, containing the 5 functions required to define problem 2.