Stan  2.5.0
probability, sampling & optimization
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
init_adapt.hpp
Go to the documentation of this file.
1 #ifndef STAN__COMMON__INIT_ADAPT_HPP
2 #define STAN__COMMON__INIT_ADAPT_HPP
3 
8 
9 namespace stan {
10  namespace common {
11 
12  template<class Sampler>
13  bool init_adapt(Sampler* sampler,
14  const double delta,
15  const double gamma,
16  const double kappa,
17  const double t0,
18  const Eigen::VectorXd& cont_params) {
19  const double epsilon = sampler->get_nominal_stepsize();
20 
21  sampler->get_stepsize_adaptation().set_mu(log(10 * epsilon));
22  sampler->get_stepsize_adaptation().set_delta(delta);
23  sampler->get_stepsize_adaptation().set_gamma(gamma);
24  sampler->get_stepsize_adaptation().set_kappa(kappa);
25  sampler->get_stepsize_adaptation().set_t0(t0);
26 
27  sampler->engage_adaptation();
28 
29  try {
30  sampler->z().q = cont_params;
31  sampler->init_stepsize();
32  } catch (const std::exception& e) {
33  std::cout << "Exception initializing step size." << std::endl
34  << e.what() << std::endl;
35  return false;
36  }
37 
38  return true;
39  }
40 
41  template<class Sampler>
44  const Eigen::VectorXd& cont_params) {
45 
46  double delta = dynamic_cast<stan::gm::real_argument*>(adapt->arg("delta"))->value();
47  double gamma = dynamic_cast<stan::gm::real_argument*>(adapt->arg("gamma"))->value();
48  double kappa = dynamic_cast<stan::gm::real_argument*>(adapt->arg("kappa"))->value();
49  double t0 = dynamic_cast<stan::gm::real_argument*>(adapt->arg("t0"))->value();
50 
51  Sampler* s = dynamic_cast<Sampler*>(sampler);
52 
53  return init_adapt<Sampler>(s, delta, gamma, kappa, t0, cont_params);
54  }
55 
56 
57  }
58 }
59 
60 #endif
argument * arg(const std::string name)
bool init_adapt(Sampler *sampler, const double delta, const double gamma, const double kappa, const double t0, const Eigen::VectorXd &cont_params)
Definition: init_adapt.hpp:13
double e()
Return the base of the natural logarithm.
Definition: constants.hpp:86
fvar< T > log(const fvar< T > &x)
Definition: log.hpp:15

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