MUQ  0.4.3
IndependenceProposal.h
Go to the documentation of this file.
1 #ifndef INDEPENDENCEPROPOSAL_H_
2 #define INDEPENDENCEPROPOSAL_H_
3 
5 
7 
8 namespace muq {
9  namespace SamplingAlgorithms {
10 
27  public:
28 
29  IndependenceProposal(boost::property_tree::ptree const& pt,
30  std::shared_ptr<AbstractSamplingProblem> const& prob);
31 
32  IndependenceProposal(boost::property_tree::ptree const& pt,
33  std::shared_ptr<AbstractSamplingProblem> const& prob,
34  std::shared_ptr<muq::Modeling::Distribution> proposalIn);
35 
36  virtual ~IndependenceProposal() = default;
37 
38  protected:
39 
41  std::shared_ptr<muq::Modeling::Distribution> proposal;
42 
43  virtual std::shared_ptr<SamplingState> Sample(std::shared_ptr<SamplingState> const& currentState) override;
44 
45  virtual double LogDensity(std::shared_ptr<SamplingState> const& currState,
46  std::shared_ptr<SamplingState> const& propState) override;
47 
49  static std::shared_ptr<muq::Modeling::Distribution> ExtractDistribution(boost::property_tree::ptree const& opts,
50  std::shared_ptr<AbstractSamplingProblem> const& prob);
51 
52 
53  };
54 
55  } // namespace SamplingAlgoirthms
56 } // namespace muq
57 
58 #endif
Implementation of an independence proposal with arbitrary distribution.
IndependenceProposal(boost::property_tree::ptree const &pt, std::shared_ptr< AbstractSamplingProblem > const &prob, std::shared_ptr< muq::Modeling::Distribution > proposalIn)
static std::shared_ptr< muq::Modeling::Distribution > ExtractDistribution(boost::property_tree::ptree const &opts, std::shared_ptr< AbstractSamplingProblem > const &prob)
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
IndependenceProposal(boost::property_tree::ptree const &pt, std::shared_ptr< AbstractSamplingProblem > const &prob)
std::shared_ptr< muq::Modeling::Distribution > proposal
The proposal distribution.
std::shared_ptr< AbstractSamplingProblem > prob
Definition: MCMCProposal.h:81