4 #include <boost/property_tree/ptree.hpp>
10 namespace pt = boost::property_tree;
14 namespace SamplingAlgorithms {
23 MIMCMC(boost::property_tree::ptree options,
26 MIMCMC(boost::property_tree::ptree
pt,
27 Eigen::VectorXd
const& startPt,
28 std::vector<std::shared_ptr<muq::Modeling::ModPiece>>
const& models,
29 std::shared_ptr<MultiIndexSet>
const& multis =
nullptr);
31 MIMCMC(boost::property_tree::ptree
pt,
32 Eigen::VectorXd
const& startPt,
33 std::vector<std::shared_ptr<AbstractSamplingProblem>>
const& problems,
34 std::shared_ptr<MultiIndexSet>
const& multis =
nullptr);
36 virtual std::shared_ptr<MultiIndexEstimator>
GetSamples()
const;
37 virtual std::shared_ptr<MultiIndexEstimator>
GetQOIs()
const;
46 std::shared_ptr<MIMCMCBox>
GetBox(std::shared_ptr<MultiIndex> index);
51 void Draw(
bool drawSamples =
true);
53 std::shared_ptr<MIMCMCBox>
GetMIMCMCBox(std::shared_ptr<MultiIndex> index);
60 virtual std::shared_ptr<MultiIndexEstimator>
Run();
71 std::vector<std::shared_ptr<MIMCMCBox>>
boxes;
75 static std::vector<std::shared_ptr<AbstractSamplingProblem>>
CreateProblems(std::vector<std::shared_ptr<muq::Modeling::ModPiece>>
const& models);
76 static std::shared_ptr<MultiIndexSet>
ProcessMultis(std::shared_ptr<MultiIndexSet>
const& multis,
unsigned int numLevels);
std::shared_ptr< MIMCMCBox > GetBox(std::shared_ptr< MultiIndex > index)
Access an MIMCMCBox.
MIMCMC(boost::property_tree::ptree options, std::shared_ptr< MIComponentFactory > const &componentFactory)
void Draw(bool drawSamples=true)
Draw MI structure (mostly debugging purposes)
std::string multiindexToConfigString(std::shared_ptr< MultiIndex > index)
std::shared_ptr< MultiIndexSet > GetIndices()
Get set of indices of boxes set up by the method.
virtual std::shared_ptr< MultiIndexEstimator > GetQOIs() const
std::shared_ptr< MIMCMCBox > GetMIMCMCBox(std::shared_ptr< MultiIndex > index)
std::shared_ptr< MultiIndexSet > gridIndices
static std::shared_ptr< MultiIndexSet > ProcessMultis(std::shared_ptr< MultiIndexSet > const &multis, unsigned int numLevels)
virtual std::shared_ptr< MultiIndexEstimator > Run()
static std::vector< std::shared_ptr< AbstractSamplingProblem > > CreateProblems(std::vector< std::shared_ptr< muq::Modeling::ModPiece >> const &models)
void WriteToFile(std::string filename)
Write HDF5 output for the entire MIMCMC method.
virtual std::shared_ptr< MultiIndexEstimator > GetSamples() const
std::vector< std::shared_ptr< MIMCMCBox > > boxes
std::shared_ptr< MIComponentFactory > componentFactory