Stan  2.10.0
probability, sampling & optimization
adapt_diag_e_xhmc.hpp
Go to the documentation of this file.
1 #ifndef STAN_MCMC_HMC_XHMC_ADAPT_DIAG_E_XHMC_HPP
2 #define STAN_MCMC_HMC_XHMC_ADAPT_DIAG_E_XHMC_HPP
3 
7 
8 namespace stan {
9  namespace mcmc {
15  template <class Model, class BaseRNG>
16  class adapt_diag_e_xhmc: public diag_e_xhmc<Model, BaseRNG>,
17  public stepsize_var_adapter {
18  public:
19  adapt_diag_e_xhmc(const Model& model, BaseRNG& rng)
20  : diag_e_xhmc<Model, BaseRNG>(model, rng),
21  stepsize_var_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->var_adaptation_.learn_variance(this->z_.mInv,
38  this->z_.q);
39 
40  if (update) {
41  this->init_stepsize(info_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)
sample transition(sample &init_sample, interface_callbacks::writer::base_writer &info_writer, interface_callbacks::writer::base_writer &error_writer)
Definition: base_xhmc.hpp:88
double accept_stat() const
Definition: sample.hpp:41
Probability, optimization and sampling library.
adapt_diag_e_xhmc(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()
Exhausive Hamiltonian Monte Carlo (XHMC) with multinomial sampling with a Gaussian-Euclidean disinteg...
Definition: diag_e_xhmc.hpp:16
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)
Exhausive Hamiltonian Monte Carlo (XHMC) with multinomial sampling with a Gaussian-Euclidean disinteg...
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.