Doxygen 1.9.1
Toolkit for Adaptive Stochastic Modeling and Non-Intrusive ApproximatioN: Tasmanian v8.2 (development)
tsgDreamSample.hpp File Reference

Core sampling templates. More...

Include dependency graph for tsgDreamSample.hpp:
This graph shows which files directly or indirectly include this file:

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...
 

Detailed Description

Core sampling templates.

Author
Miroslav Stoyanov

Defines the core MCMC template for sampling from an arbitrarily defined unscaled probability density.