Doxygen
1.9.1
|
Core sampling templates. More...
Go to the source code of this file.
Namespaces | |
TasDREAM | |
Encapsulates the Tasmanian DREAM module. | |
Typedefs | |
using | TasDREAM::DreamDomain = std::function< bool(std::vector< double > const &x)> |
Generic test function whether a sample belongs in the domain. More... | |
using | TasDREAM::DreamPDF = std::function< void(const std::vector< double > &candidates, std::vector< double > &values)> |
Generic probability distribution used by Tasmanian. More... | |
using | TasDREAM::DreamModel = std::function< void(const std::vector< double > &candidates, std::vector< double > &outputs)> |
Generic model signature used by Tasmanian. More... | |
using | TasDREAM::DreamLikelihood = std::function< void(TypeSamplingForm form, const std::vector< double > &model_outputs, std::vector< double > &likely)> |
Generic likelihood signature used by Tasmanian. More... | |
using | TasDREAM::DreamPrior = std::function< void(TypeSamplingForm form, const std::vector< double > &candidates, std::vector< double > &values)> |
Generic signature for the prior distributions used by Tasmanian. More... | |
using | TasDREAM::DreamMergedLikelyModel = std::function< void(const std::vector< double > &candidates, std::vector< double > &values)> |
Generic signature for a combination of a likelihood and a model. More... | |
Functions | |
DreamDomain | TasDREAM::hypercube (std::vector< double > const &lower, std::vector< double > const &upper) |
Make a lambda that matches the inside signature in SampleDREAM(), test if the vector x is in the hyperbube described by lower and upper. | |
void | TasDREAM::no_update (std::vector< double > &) |
Dummy function that does not make any changes to the vector as default for the independent_update() in SampleDREAM(). More... | |
double | TasDREAM::const_one () |
Dummy function that returns 1.0, used as default for the differential_update() in SampleDREAM(). More... | |
template<int weight_percent> | |
double | TasDREAM::const_percent () |
Template that returns a constant based on the percentage, i.e., weight_percent / 100.0. More... | |
void | TasDREAM::uniform_prior (TypeSamplingForm, const std::vector< double > &, std::vector< double > &values) |
Uniform prior distribution for both regular and log form. More... | |
template<TypeSamplingForm form = regform> | |
DreamPDF | TasDREAM::posterior (DreamModel model, DreamLikelihood likelihood, DreamPrior prior) |
Combines the three components of a Bayesian posterior into a single distribution. More... | |
template<TypeSamplingForm form = regform> | |
DreamPDF | TasDREAM::posterior (DreamMergedLikelyModel likelihood_model, DreamPrior prior) |
Overload where the model and likelihood are combined into a single call. More... | |
template<TypeSamplingForm form = regform> | |
void | TasDREAM::SampleDREAM (int num_burnup, int num_collect, DreamPDF probability_distribution, DreamDomain inside, TasmanianDREAM &state, std::function< void(std::vector< double > &x)> independent_update=no_update, std::function< double(void)> differential_update=const_one, std::function< double(void)> get_random01=tsgCoreUniform01) |
Core template for the sampling algorithm. More... | |
template<TypeSamplingForm form = regform> | |
void | TasDREAM::SampleDREAM (int num_burnup, int num_collect, DreamPDF probability_distribution, DreamDomain inside, TasmanianDREAM &state, TypeDistribution dist, double magnitude, std::function< double(void)> differential_update=const_one, std::function< double(void)> get_random01=tsgCoreUniform01) |
Overload of SampleDREAM() assuming independent update from a list of internally implemented options. More... | |
Core sampling templates.
Defines the core MCMC template for sampling from an arbitrarily defined unscaled probability density.