1 #ifndef DEFAULTCOMPONENTFACTORY_H
2 #define DEFAULTCOMPONENTFACTORY_H
7 #include <boost/property_tree/ptree_fwd.hpp>
10 namespace SamplingAlgorithms{
22 std::vector<std::shared_ptr<AbstractSamplingProblem>>
const&
problems);
27 std::vector<std::shared_ptr<AbstractSamplingProblem>>
const&
problems);
31 virtual std::shared_ptr<MCMCProposal>
Proposal (std::shared_ptr<MultiIndex>
const& index,
32 std::shared_ptr<AbstractSamplingProblem>
const& samplingProblem)
override ;
34 virtual std::shared_ptr<MultiIndex>
FinestIndex()
override;
36 virtual std::shared_ptr<MCMCProposal>
CoarseProposal (std::shared_ptr<MultiIndex>
const& fineIndex,
37 std::shared_ptr<MultiIndex>
const& coarseIndex,
38 std::shared_ptr<AbstractSamplingProblem>
const& coarseProblem,
39 std::shared_ptr<SingleChainMCMC>
const& coarseChain)
override;
41 virtual std::shared_ptr<AbstractSamplingProblem>
SamplingProblem (std::shared_ptr<MultiIndex>
const& index)
override;
43 virtual std::shared_ptr<MIInterpolation>
Interpolation (std::shared_ptr<MultiIndex>
const& index)
override;
45 virtual Eigen::VectorXd
StartingPoint (std::shared_ptr<MultiIndex>
const& index)
override;
51 std::vector<std::shared_ptr<AbstractSamplingProblem>>
problems;
Provides a high level interface for the sampling problems on each MIMCMC level.
virtual Eigen::VectorXd StartingPoint(std::shared_ptr< MultiIndex > const &index) override
std::vector< std::shared_ptr< AbstractSamplingProblem > > problems
virtual std::shared_ptr< AbstractSamplingProblem > SamplingProblem(std::shared_ptr< MultiIndex > const &index) override
virtual std::shared_ptr< MCMCProposal > CoarseProposal(std::shared_ptr< MultiIndex > const &fineIndex, std::shared_ptr< MultiIndex > const &coarseIndex, std::shared_ptr< AbstractSamplingProblem > const &coarseProblem, std::shared_ptr< SingleChainMCMC > const &coarseChain) override
std::shared_ptr< MultiIndexSet > problemIndices
virtual ~DefaultComponentFactory()=default
DefaultComponentFactory(boost::property_tree::ptree options, Eigen::VectorXd startingPoint, std::vector< std::shared_ptr< AbstractSamplingProblem >> const &problems)
virtual std::shared_ptr< MIInterpolation > Interpolation(std::shared_ptr< MultiIndex > const &index) override
virtual std::shared_ptr< MultiIndex > FinestIndex() override
virtual std::shared_ptr< MCMCProposal > Proposal(std::shared_ptr< MultiIndex > const &index, std::shared_ptr< AbstractSamplingProblem > const &samplingProblem) override
boost::property_tree::ptree options
Eigen::VectorXd startingPoint
DefaultComponentFactory(boost::property_tree::ptree options, Eigen::VectorXd startingPoint, std::shared_ptr< MultiIndexSet > const &problemIndices, std::vector< std::shared_ptr< AbstractSamplingProblem >> const &problems)
Interface defining models on a multiindex structure.