Stan  2.5.0
probability, sampling & optimization
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
init_nuts.hpp
Go to the documentation of this file.
1 #ifndef STAN__COMMON__INIT_NUTS_HPP
2 #define STAN__COMMON__INIT_NUTS_HPP
3 
8 
9 namespace stan {
10  namespace common {
11 
12  template<class Sampler>
14  stan::gm::argument* algorithm) {
16  = dynamic_cast<stan::gm::categorical_argument*>
17  (algorithm->arg("hmc"));
18 
20  = dynamic_cast<stan::gm::categorical_argument*>
21  (algorithm->arg("hmc")->arg("engine")->arg("nuts"));
22 
23  double epsilon
24  = dynamic_cast<stan::gm::real_argument*>(hmc->arg("stepsize"))->value();
25  double epsilon_jitter
26  = dynamic_cast<stan::gm::real_argument*>(hmc->arg("stepsize_jitter"))->value();
27  int max_depth = dynamic_cast<stan::gm::int_argument*>(base->arg("max_depth"))->value();
28 
29  dynamic_cast<Sampler*>(sampler)->set_nominal_stepsize(epsilon);
30  dynamic_cast<Sampler*>(sampler)->set_stepsize_jitter(epsilon_jitter);
31  dynamic_cast<Sampler*>(sampler)->set_max_depth(max_depth);
32 
33  return true;
34  }
35 
36  }
37 }
38 
39 #endif
argument * arg(const std::string name)
virtual argument * arg(const std::string name)
Definition: argument.hpp:67
bool init_nuts(stan::mcmc::base_mcmc *sampler, stan::gm::argument *algorithm)
Definition: init_nuts.hpp:13

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