Stan  2.10.0
probability, sampling & optimization
sample.hpp
Go to the documentation of this file.
1 #ifndef STAN_MCMC_SAMPLE_HPP
2 #define STAN_MCMC_SAMPLE_HPP
3 
4 #include <stan/math/prim/mat/fun/Eigen.hpp>
5 
6 #include <vector>
7 #include <string>
8 
9 namespace stan {
10 
11  namespace mcmc {
12 
13  class sample {
14  public:
15  sample(const Eigen::VectorXd& q, double log_prob, double stat)
16  : cont_params_(q), log_prob_(log_prob), accept_stat_(stat) {
17  }
18 
19  virtual ~sample() {} // No-op
20 
21  int size_cont() const {
22  return cont_params_.size();
23  }
24 
25  double cont_params(int k) const {
26  return cont_params_(k);
27  }
28 
29  void cont_params(Eigen::VectorXd& x) const {
30  x = cont_params_;
31  }
32 
33  const Eigen::VectorXd& cont_params() const {
34  return cont_params_;
35  }
36 
37  inline double log_prob() const {
38  return log_prob_;
39  }
40 
41  inline double accept_stat() const {
42  return accept_stat_;
43  }
44 
45  void get_sample_param_names(std::vector<std::string>& names) {
46  names.push_back("lp__");
47  names.push_back("accept_stat__");
48  }
49 
50  void get_sample_params(std::vector<double>& values) {
51  values.push_back(log_prob_);
52  values.push_back(accept_stat_);
53  }
54 
55  private:
56  Eigen::VectorXd cont_params_; // Continuous coordinates of sample
57  double log_prob_; // Log probability of sample
58  double accept_stat_; // Acceptance statistic of transition
59  };
60 
61  } // mcmc
62 
63 } // stan
64 
65 #endif
66 
double accept_stat() const
Definition: sample.hpp:41
virtual ~sample()
Definition: sample.hpp:19
Probability, optimization and sampling library.
int size_cont() const
Definition: sample.hpp:21
double log_prob() const
Definition: sample.hpp:37
void get_sample_params(std::vector< double > &values)
Definition: sample.hpp:50
const Eigen::VectorXd & cont_params() const
Definition: sample.hpp:33
sample(const Eigen::VectorXd &q, double log_prob, double stat)
Definition: sample.hpp:15
double cont_params(int k) const
Definition: sample.hpp:25
void cont_params(Eigen::VectorXd &x) const
Definition: sample.hpp:29
void get_sample_param_names(std::vector< std::string > &names)
Definition: sample.hpp:45

     [ Stan Home Page ] © 2011–2016, Stan Development Team.