MUQ  0.4.3
MarkovChain.h
Go to the documentation of this file.
1 #ifndef MarkovChain_H
2 #define MarkovChain_H
3 
5 
6 namespace muq {
7  namespace SamplingAlgorithms{
8 
20  {
21  public:
22 
23  MarkovChain() = default;
24 
25  virtual ~MarkovChain() = default;
26 
41  virtual Eigen::VectorXd ESS(std::string const& method="Batch") const override{return ESS(-1,method);};
42  virtual Eigen::VectorXd ESS(int blockDim) const override{return ESS(blockDim,"");};
43  virtual Eigen::VectorXd ESS(int blockDim, std::string const& method) const override;
44 
59  virtual Eigen::VectorXd StandardError(std::string const& method="Batch") const override{return StandardError(-1,method);};
60  virtual Eigen::VectorXd StandardError(int blockDim) const override{return StandardError(blockDim,"Batch");};
61  virtual Eigen::VectorXd StandardError(int blockDim, std::string const& method) const override;
62 
68  Eigen::VectorXd WolffESS(int blockDim) const;
69 
75  Eigen::VectorXd WolffError(int blockDim) const;
76 
78  static double SingleComponentWolffESS(Eigen::Ref<const Eigen::VectorXd> const& trace);
79 
80  virtual std::shared_ptr<SampleCollection> segment(unsigned int startInd, unsigned int length, unsigned int skipBy=1) const override;
81 
82  private:
83 
84 
85  std::vector<std::unordered_map<std::string, boost::any> > meta;
86 
87  }; // class MarkovChain
88  }
89 }
90 
91 #endif
A class for storing and working with the results of Markov chain Monte Carlo algorithms.
Definition: MarkovChain.h:20
virtual Eigen::VectorXd StandardError(std::string const &method="Batch") const override
Definition: MarkovChain.h:59
Eigen::VectorXd WolffError(int blockDim) const
Definition: MarkovChain.cpp:40
static double SingleComponentWolffESS(Eigen::Ref< const Eigen::VectorXd > const &trace)
Definition: MarkovChain.cpp:58
Eigen::VectorXd WolffESS(int blockDim) const
Definition: MarkovChain.cpp:47
virtual Eigen::VectorXd ESS(int blockDim) const override
Definition: MarkovChain.h:42
virtual std::shared_ptr< SampleCollection > segment(unsigned int startInd, unsigned int length, unsigned int skipBy=1) const override
std::vector< std::unordered_map< std::string, boost::any > > meta
Definition: MarkovChain.h:85
virtual Eigen::VectorXd StandardError(int blockDim) const override
Definition: MarkovChain.h:60
virtual Eigen::VectorXd ESS(std::string const &method="Batch") const override
Definition: MarkovChain.h:41
A class to hold and analyze a collection of SamplingState objects.