MUQ  0.4.3
sMMALAProposal.h
Go to the documentation of this file.
1 #ifndef SMMALAPROPOSAL_H_
2 #define SMMALAPROPOSAL_H_
3 
6 
8 
9 namespace muq {
10  namespace SamplingAlgorithms {
11 
12 
13  class SMMALAProposal : public MCMCProposal {
14  public:
15 
16  SMMALAProposal(boost::property_tree::ptree pt,
17  std::shared_ptr<AbstractSamplingProblem> const& probIn,
18  std::shared_ptr<muq::Modeling::ModPiece> const& forwardModIn,
19  std::shared_ptr<muq::Modeling::Gaussian> const& priorIn,
20  std::shared_ptr<muq::Modeling::Gaussian> const& likelihoodIn);
21 
22  virtual ~SMMALAProposal() = default;
23 
24  protected:
25 
26  const double meanScaling = 0.5;
27 
28  double stepSize;
29 
31  std::shared_ptr<muq::Modeling::Gaussian> prior;
32  std::shared_ptr<muq::Modeling::Gaussian> likelihood;
33  std::shared_ptr<muq::Modeling::ModPiece> model;
34 
35 
36  virtual std::shared_ptr<SamplingState> Sample(std::shared_ptr<SamplingState> const& currentState) override;
37 
38  virtual double LogDensity(std::shared_ptr<SamplingState> const& currState,
39  std::shared_ptr<SamplingState> const& propState) override;
40 
41 
42  };
43 
44  } // namespace SamplingAlgoirthms
45 } // namespace muq
46 
47 #endif
virtual std::shared_ptr< SamplingState > Sample(std::shared_ptr< SamplingState > const &currentState) override
SMMALAProposal(boost::property_tree::ptree pt, std::shared_ptr< AbstractSamplingProblem > const &probIn, std::shared_ptr< muq::Modeling::ModPiece > const &forwardModIn, std::shared_ptr< muq::Modeling::Gaussian > const &priorIn, std::shared_ptr< muq::Modeling::Gaussian > const &likelihoodIn)
std::shared_ptr< muq::Modeling::Gaussian > likelihood
std::shared_ptr< muq::Modeling::Gaussian > prior
The proposal distribution.
std::shared_ptr< muq::Modeling::ModPiece > model
virtual double LogDensity(std::shared_ptr< SamplingState > const &currState, std::shared_ptr< SamplingState > const &propState) override