1 #ifndef MULTIINDEXESTIMATOR_H
2 #define MULTIINDEXESTIMATOR_H
9 namespace SamplingAlgorithms{
28 bool useQoisIn =
false);
32 virtual unsigned int BlockSize(
int blockInd)
const override;
34 virtual unsigned int NumBlocks()
const override;
36 virtual Eigen::VectorXd
ExpectedValue(std::shared_ptr<muq::Modeling::ModPiece>
const& f,
37 std::vector<std::string>
const& metains = std::vector<std::string>())
const override;
40 virtual Eigen::MatrixXd
Covariance(Eigen::VectorXd
const& mean,
41 int blockInd=-1)
const override;
54 virtual Eigen::VectorXd
StandardError(
int blockDim, std::string
const& method)
const override;
68 virtual Eigen::VectorXd
ESS(std::string
const& method=
"Batch")
const override{
return ESS(-1,method);};
69 virtual Eigen::VectorXd
ESS(
int blockDim)
const override{
return ESS(blockDim,
"Batch");};
70 virtual Eigen::VectorXd
ESS(
int blockDim, std::string
const& method)
const override;
79 std::vector<std::shared_ptr<MarkovChain>>
GetDiffChains(
int blockInd=-1,
80 std::shared_ptr<muq::Modeling::ModPiece>
const& f=
nullptr)
const;
87 std::vector<std::shared_ptr<MIMCMCBox>>
boxes;
Class for estimating expectations using multi-index samples from MC or MCMC.
virtual unsigned int BlockSize(int blockInd) const override
std::vector< std::shared_ptr< MarkovChain > > GetDiffChains(int blockInd=-1, std::shared_ptr< muq::Modeling::ModPiece > const &f=nullptr) const
MultiIndexEstimator(std::vector< std::shared_ptr< MIMCMCBox >> const &boxesIn, bool useQoisIn=false)
virtual unsigned int NumBlocks() const override
virtual Eigen::MatrixXd Covariance(int blockInd=-1) const override
virtual Eigen::VectorXd StandardError(std::string const &method="Batch") const override
virtual Eigen::VectorXd ExpectedValue(std::shared_ptr< muq::Modeling::ModPiece > const &f, std::vector< std::string > const &metains=std::vector< std::string >()) const override
virtual Eigen::VectorXd ESS(std::string const &method="Batch") const override
virtual Eigen::VectorXd StandardError(int blockDim) const override
virtual Eigen::VectorXd StandardError(int blockDim, std::string const &method) const override
virtual Eigen::VectorXd ESS(int blockDim) const override
std::vector< std::shared_ptr< MarkovChain > > diffChains
virtual ~MultiIndexEstimator()=default
std::vector< std::shared_ptr< MIMCMCBox > > boxes
const Eigen::VectorXi blockSizes
Abstract base class for computing sample-based approximations of expectations.
virtual Eigen::MatrixXd Covariance(int blockInd=-1) const