MUQ  0.4.3
SubsamplingMIProposal.h
Go to the documentation of this file.
1 #ifndef SUBSAMPLINGMIPROPOSAL_H
2 #define SUBSAMPLINGMIPROPOSAL_H
3 
4 #include <boost/property_tree/ptree.hpp>
5 
9 
10 namespace pt = boost::property_tree;
11 
12 namespace muq {
13  namespace SamplingAlgorithms {
14 
21  public:
22  SubsamplingMIProposal (pt::ptree const& pt, std::shared_ptr<AbstractSamplingProblem> prob, std::shared_ptr<muq::Utilities::MultiIndex> coarseIndex, std::shared_ptr<SingleChainMCMC> coarseChain);
23 
24  virtual std::shared_ptr<SamplingState> Sample(std::shared_ptr<SamplingState> const& currentState) override;
25 
26  virtual double LogDensity(std::shared_ptr<SamplingState> const& currState,
27  std::shared_ptr<SamplingState> const& propState) override;
28 
29  private:
30  std::string multiindexToConfigString (std::shared_ptr<muq::Utilities::MultiIndex> index);
31 
32  std::shared_ptr<SingleChainMCMC> coarseChain;
33  int sampleID = 0;
34  int sampleWeight = 0;
35  const int subsampling;
36  };
37  }
38 }
39 
40 #endif
std::shared_ptr< AbstractSamplingProblem > prob
Definition: MCMCProposal.h:81
std::shared_ptr< SingleChainMCMC > coarseChain
virtual std::shared_ptr< SamplingState > Sample(std::shared_ptr< SamplingState > const &currentState) override
virtual double LogDensity(std::shared_ptr< SamplingState > const &currState, std::shared_ptr< SamplingState > const &propState) override
SubsamplingMIProposal(pt::ptree const &pt, std::shared_ptr< AbstractSamplingProblem > prob, std::shared_ptr< muq::Utilities::MultiIndex > coarseIndex, std::shared_ptr< SingleChainMCMC > coarseChain)
std::string multiindexToConfigString(std::shared_ptr< muq::Utilities::MultiIndex > index)