1 #ifndef CRANKNICOLSONPROPOSAL_H_
2 #define CRANKNICOLSONPROPOSAL_H_
10 namespace SamplingAlgorithms {
37 std::shared_ptr<AbstractSamplingProblem>
prob,
38 std::shared_ptr<muq::Modeling::GaussianBase> prior);
41 std::shared_ptr<AbstractSamplingProblem>
prob);
57 std::vector<Eigen::VectorXd>
GetPriorInputs(std::vector<Eigen::VectorXd>
const& currState);
65 std::shared_ptr<muq::Modeling::GaussianBase>
priorDist;
67 virtual std::shared_ptr<SamplingState>
Sample(std::shared_ptr<SamplingState>
const& currentState)
override;
69 virtual double LogDensity(std::shared_ptr<SamplingState>
const& currState,
70 std::shared_ptr<SamplingState>
const& propState)
override;
72 void ExtractPrior(std::shared_ptr<AbstractSamplingProblem>
const&
prob, std::string nodeName);
An implement of the dimension-independent pCN proposal.
std::vector< int > priorCovInds
std::shared_ptr< muq::Modeling::ModPiece > priorMeanModel
std::shared_ptr< muq::Modeling::GaussianBase > priorDist
The proposal distribution.
virtual ~CrankNicolsonProposal()=default
void ExtractPrior(std::shared_ptr< AbstractSamplingProblem > const &prob, std::string nodeName)
std::vector< Eigen::VectorXd > GetPriorInputs(std::vector< Eigen::VectorXd > const &currState)
virtual double LogDensity(std::shared_ptr< SamplingState > const &currState, std::shared_ptr< SamplingState > const &propState) override
std::shared_ptr< muq::Modeling::ModPiece > priorCovModel
CrankNicolsonProposal(boost::property_tree::ptree const &pt, std::shared_ptr< AbstractSamplingProblem > prob, std::shared_ptr< muq::Modeling::GaussianBase > prior)
virtual std::shared_ptr< SamplingState > Sample(std::shared_ptr< SamplingState > const ¤tState) override
std::vector< int > priorMeanInds
std::shared_ptr< AbstractSamplingProblem > prob