MUQ  0.4.3
InfMALAProposal.h
Go to the documentation of this file.
1 #ifndef INFMALAPROPOSAL_H_
2 #define INFMALAPROPOSAL_H_
3 
5 
7 
8 namespace muq {
9  namespace SamplingAlgorithms {
10 
40  class InfMALAProposal : public MCMCProposal {
41  public:
42 
46  InfMALAProposal(boost::property_tree::ptree const& pt,
47  std::shared_ptr<AbstractSamplingProblem> prob);
48 
53  InfMALAProposal(boost::property_tree::ptree const& pt,
54  std::shared_ptr<AbstractSamplingProblem> prob,
55  std::shared_ptr<muq::Modeling::GaussianBase> zDistIn);
56 
57  virtual ~InfMALAProposal() = default;
58 
59  protected:
60 
61  double stepSize;
62 
63  double rho;
64 
65  // The proposal distribution
66  std::shared_ptr<muq::Modeling::GaussianBase> zDist;
67 
68  virtual std::shared_ptr<SamplingState> Sample(std::shared_ptr<SamplingState> const& currentState) override;
69 
70  virtual double LogDensity(std::shared_ptr<SamplingState> const& currState,
71  std::shared_ptr<SamplingState> const& propState) override;
72 
73 
78  Eigen::VectorXd GetSigmaGrad(std::shared_ptr<SamplingState> const& currentState) const;
79 
80 
81  }; // class InfMALAProposal
82  } // namespace SamplingAlgoirthms
83 } // namespace muq
84 
85 #endif
An implement of the dimension-independent MALA (or Inf-MALA) proposal.
virtual double LogDensity(std::shared_ptr< SamplingState > const &currState, std::shared_ptr< SamplingState > const &propState) override
InfMALAProposal(boost::property_tree::ptree const &pt, std::shared_ptr< AbstractSamplingProblem > prob)
virtual std::shared_ptr< SamplingState > Sample(std::shared_ptr< SamplingState > const &currentState) override
std::shared_ptr< muq::Modeling::GaussianBase > zDist
Eigen::VectorXd GetSigmaGrad(std::shared_ptr< SamplingState > const &currentState) const
std::shared_ptr< AbstractSamplingProblem > prob
Definition: MCMCProposal.h:81