13 namespace SamplingAlgorithms {
22 MIKernel(boost::property_tree::ptree
const& pt,
23 std::shared_ptr<AbstractSamplingProblem>
problem,
25 std::shared_ptr<MCMCProposal>
proposal,
34 virtual void PostStep(
unsigned int const t, std::vector<std::shared_ptr<SamplingState>>
const& state)
override;
36 virtual void PrintStatus(std::string prefix)
const override;
38 virtual std::vector<std::shared_ptr<SamplingState>>
Step(
unsigned int const t, std::shared_ptr<SamplingState> prevState)
override;
MCMC kernel for Multiindex methods.
std::shared_ptr< AbstractSamplingProblem > coarse_problem
std::shared_ptr< SingleChainMCMC > coarse_chain
virtual std::shared_ptr< MCMCProposal > Proposal()
std::shared_ptr< MCMCProposal > proposal
std::shared_ptr< MIInterpolation > proposalInterpolation
virtual void PostStep(unsigned int const t, std::vector< std::shared_ptr< SamplingState >> const &state) override
Allow the kernel to adapt given a new state.
virtual double AcceptanceRate() const
std::shared_ptr< MCMCProposal > coarse_proposal
MIKernel(boost::property_tree::ptree const &pt, std::shared_ptr< AbstractSamplingProblem > problem, std::shared_ptr< AbstractSamplingProblem > coarse_problem, std::shared_ptr< MCMCProposal > proposal, std::shared_ptr< MCMCProposal > coarse_proposal, std::shared_ptr< MIInterpolation > proposalInterpolation, std::shared_ptr< SingleChainMCMC > coarse_chain)
virtual std::vector< std::shared_ptr< SamplingState > > Step(unsigned int const t, std::shared_ptr< SamplingState > prevState) override
Defines the transition kernel used by an MCMC algorithm.
std::shared_ptr< AbstractSamplingProblem > problem
The sampling problem that evaluates/samples the target distribution.
virtual void PrintStatus() const