Stan  2.10.0
probability, sampling & optimization
adapt_diag_e_nuts_classic.hpp
Go to the documentation of this file.
1 #ifndef STAN_MCMC_HMC_NUTS_ADAPT_DIAG_E_NUTS_CLASSIC_HPP
2 #define STAN_MCMC_HMC_NUTS_ADAPT_DIAG_E_NUTS_CLASSIC_HPP
3 
7 
8 namespace stan {
9  namespace mcmc {
10 
11  // The No-U-Turn Sampler (NUTS) on a
12  // Euclidean manifold with diagonal metric
13  // and adaptive stepsize
14 
15  template <class Model, class BaseRNG>
17  public diag_e_nuts_classic<Model, BaseRNG>,
18  public stepsize_var_adapter {
19  public:
20  adapt_diag_e_nuts_classic(const Model& model, BaseRNG& rng):
21  diag_e_nuts_classic<Model, BaseRNG>(model, rng),
22  stepsize_var_adapter(model.num_params_r()) {}
23 
25 
26  sample
27  transition(sample& init_sample,
30  sample s
32  info_writer,
33  error_writer);
34 
35  if (this->adapt_flag_) {
37  s.accept_stat());
38 
39  bool update = this->var_adaptation_.learn_variance(this->z_.mInv,
40  this->z_.q);
41 
42  if (update) {
43  this->init_stepsize(info_writer);
44 
45  this->stepsize_adaptation_.set_mu(log(10 * this->nom_epsilon_));
47  }
48  }
49  return s;
50  }
51 
55  }
56  };
57 
58  } // mcmc
59 } // stan
60 #endif
void complete_adaptation(double &epsilon)
double accept_stat() const
Definition: sample.hpp:41
Probability, optimization and sampling library.
adapt_diag_e_nuts_classic(const Model &model, BaseRNG &rng)
void learn_stepsize(double &epsilon, double adapt_stat)
base_writer is an abstract base class defining the interface for Stan writer callbacks.
Definition: base_writer.hpp:20
virtual void disengage_adaptation()
sample transition(sample &init_sample, interface_callbacks::writer::base_writer &info_writer, interface_callbacks::writer::base_writer &error_writer)
sample transition(sample &init_sample, interface_callbacks::writer::base_writer &info_writer, interface_callbacks::writer::base_writer &error_writer)
bool learn_variance(Eigen::VectorXd &var, const Eigen::VectorXd &q)
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.