The DiffeRential Evolution Adaptive Metropolis is a method to draw samples from an arbitrary probability distribution defined by an arbitrary non-negative function (not necessarily normalized to integrate to 1). In the Tasmanian DREAM module, the samples (and the history) are stored in a TasDREAM::TasmanianDREAM state object which also defines the number of samples and the number of dimensions of the input space. The sampling is performed by the TasDREAM::SampleDREAM() template that takes an initialized state and several callable objects that describe the geometry of the domain and the parameters of the sampling, e.g., number of iterations.
Bayesian Inference
One of the most common applications for DREAM is in the context of Bayesian inference, where the probability distribution is comprised of a model, likelihood and prior. The three components can be combined together with the TasDREAM::posterior() template, which returns a callable object that represents the probability distribution.