**dream_test**,
a C program which
calls dream() to
accelerate
Markov Chain Monte Carlo (MCMC) convergence using differential evolution,
by Guannan Zhang.

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

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

- 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.c, is a user written file, containing 5 functions, which define the data for problem 0.
- problem0.sh, runs all the tests.
- problem0.txt, the output file.

- problem0_chain00.txt, a chain data 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_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.

- problem1.c, is a user written file, containing the 5 functions required to define the problem data, as well as other functions to set the covariance.
- problem1.sh, runs all the tests.
- problem1.txt, the output file.

- problem1_covariance.h, an include file that allows the main program to access the covariance matrix computed by the user functions.

PROBLEM1_MAIN is a stand-alone main program that calls the user functions to make some simple tests.

- problem1_main.c, a stand-alone main program that calls the user functions to make some simple tests.
- problem1_main.sh, runs all the tests.
- problem1_main.txt, the output file.

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

- problem2.c, is a user written file, containing the 5 functions required to define problem 2.
- problem2.sh, runs all the tests.
- problem2.txt, the output file.