MUQ  0.4.3
SLMCMC.h
Go to the documentation of this file.
1 #ifndef SLMCMC_H
2 #define SLMCMC_H
3 
4 #include <boost/property_tree/ptree.hpp>
5 
8 
10 
11 namespace pt = boost::property_tree;
12 
13 namespace muq {
14  namespace SamplingAlgorithms {
15 
23  class SLMCMC {
24 
25  public:
26  SLMCMC (pt::ptree pt, std::shared_ptr<MIComponentFactory> componentFactory, std::shared_ptr<MultiIndex> index);
27  SLMCMC (pt::ptree pt, std::shared_ptr<MIComponentFactory> componentFactory);
28 
29  virtual std::shared_ptr<MarkovChain> GetSamples() const;
30  virtual std::shared_ptr<MarkovChain> GetQOIs() const;
31 
32  Eigen::VectorXd MeanQOI();
33 
34  Eigen::VectorXd MeanParameter();
35 
36  void WriteToFile(std::string filename);
37 
38  virtual std::shared_ptr<MarkovChain> Run();
39 
40  protected:
41 
42 
43  private:
44  std::shared_ptr<MIComponentFactory> componentFactory;
45  std::shared_ptr<SingleChainMCMC> single_chain;
46  };
47 
48  }
49 }
50 
51 #endif
Single-level MCMC for multiindex sampling problems.
Definition: SLMCMC.h:23
virtual std::shared_ptr< MarkovChain > GetSamples() const
Definition: SLMCMC.cpp:32
SLMCMC(pt::ptree pt, std::shared_ptr< MIComponentFactory > componentFactory, std::shared_ptr< MultiIndex > index)
Definition: SLMCMC.cpp:6
std::shared_ptr< SingleChainMCMC > single_chain
Definition: SLMCMC.h:45
std::shared_ptr< MIComponentFactory > componentFactory
Definition: SLMCMC.h:44
virtual std::shared_ptr< MarkovChain > GetQOIs() const
Definition: SLMCMC.cpp:35
void WriteToFile(std::string filename)
Definition: SLMCMC.cpp:43
Eigen::VectorXd MeanParameter()
virtual std::shared_ptr< MarkovChain > Run()
Definition: SLMCMC.cpp:39