Stan  2.10.0
probability, sampling & optimization
adapt_dense_e_nuts.hpp
Go to the documentation of this file.
1 #ifndef STAN_MCMC_HMC_NUTS_ADAPT_DENSE_E_NUTS_HPP
2 #define STAN_MCMC_HMC_NUTS_ADAPT_DENSE_E_NUTS_HPP
3 
7 
8 namespace stan {
9  namespace mcmc {
15  template <class Model, class BaseRNG>
16  class adapt_dense_e_nuts : public dense_e_nuts<Model, BaseRNG>,
17  public stepsize_covar_adapter {
18  public:
19  adapt_dense_e_nuts(const Model& model, BaseRNG& rng)
20  : dense_e_nuts<Model, BaseRNG>(model, rng),
21  stepsize_covar_adapter(model.num_params_r()) {}
22 
24 
25  sample
26  transition(sample& init_sample,
30  info_writer,
31  error_writer);
32 
33  if (this->adapt_flag_) {
35  s.accept_stat());
36 
37  bool update = this->covar_adaptation_.learn_covariance(this->z_.mInv,
38  this->z_.q);
39 
40  if (update) {
41  this->init_stepsize(info_writer, error_writer);
42 
43  this->stepsize_adaptation_.set_mu(log(10 * this->nom_epsilon_));
45  }
46  }
47  return s;
48  }
49 
53  }
54  };
55 
56  } // mcmc
57 } // stan
58 #endif
void complete_adaptation(double &epsilon)
double accept_stat() const
Definition: sample.hpp:41
Probability, optimization and sampling library.
void learn_stepsize(double &epsilon, double adapt_stat)
sample transition(sample &init_sample, interface_callbacks::writer::base_writer &info_writer, interface_callbacks::writer::base_writer &error_writer)
Definition: base_nuts.hpp:45
bool learn_covariance(Eigen::MatrixXd &covar, const Eigen::VectorXd &q)
sample transition(sample &init_sample, interface_callbacks::writer::base_writer &info_writer, interface_callbacks::writer::base_writer &error_writer)
base_writer is an abstract base class defining the interface for Stan writer callbacks.
Definition: base_writer.hpp:20
virtual void disengage_adaptation()
adapt_dense_e_nuts(const Model &model, BaseRNG &rng)
The No-U-Turn sampler (NUTS) with multinomial sampling with a Gaussian-Euclidean disintegration and d...
The No-U-Turn sampler (NUTS) with multinomial sampling with a Gaussian-Euclidean disintegration and a...
void init_stepsize(interface_callbacks::writer::base_writer &info_writer, interface_callbacks::writer::base_writer &error_writer)
Definition: base_hmc.hpp:64

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