MUQ  0.4.3
MALAProposal.h
Go to the documentation of this file.
1 #ifndef MALAPROPOSAL_H_
2 #define MALAPROPOSAL_H_
3 
5 
7 
8 namespace muq {
9  namespace SamplingAlgorithms {
10 
34  class MALAProposal : public MCMCProposal {
35  public:
36 
37  MALAProposal(boost::property_tree::ptree pt,
38  std::shared_ptr<AbstractSamplingProblem> const& probIn);
39 
40  MALAProposal(boost::property_tree::ptree pt,
41  std::shared_ptr<AbstractSamplingProblem> const& probIn,
42  std::shared_ptr<muq::Modeling::GaussianBase> zDistIn);
43 
44  virtual ~MALAProposal() = default;
45 
46  protected:
47 
48  double stepSize;
49 
51  std::shared_ptr<muq::Modeling::GaussianBase> zDist;
52 
53  virtual std::shared_ptr<SamplingState> Sample(std::shared_ptr<SamplingState> const& currentState) override;
54 
55  virtual double
56  LogDensity(std::shared_ptr<SamplingState> const& currState,
57  std::shared_ptr<SamplingState> const& propState) override;
58 
59 
60  };
61 
62  } // namespace SamplingAlgoirthms
63 } // namespace muq
64 
65 #endif
Implementation preconditioned Langevin proposal used in the MALA algorithm.
Definition: MALAProposal.h:34
std::shared_ptr< muq::Modeling::GaussianBase > zDist
The proposal distribution.
Definition: MALAProposal.h:51
MALAProposal(boost::property_tree::ptree pt, std::shared_ptr< AbstractSamplingProblem > const &probIn, std::shared_ptr< muq::Modeling::GaussianBase > zDistIn)
virtual double LogDensity(std::shared_ptr< SamplingState > const &currState, std::shared_ptr< SamplingState > const &propState) override
MALAProposal(boost::property_tree::ptree pt, std::shared_ptr< AbstractSamplingProblem > const &probIn)
virtual std::shared_ptr< SamplingState > Sample(std::shared_ptr< SamplingState > const &currentState) override