1 #ifndef STAN_SERVICES_SAMPLE_INIT_ADAPT_HPP
2 #define STAN_SERVICES_SAMPLE_INIT_ADAPT_HPP
6 #include <stan/math/prim/mat/fun/Eigen.hpp>
15 template<
class Sampler>
21 const Eigen::VectorXd& cont_params,
24 const double epsilon = sampler->get_nominal_stepsize();
26 sampler->get_stepsize_adaptation().set_mu(log(10 * epsilon));
27 sampler->get_stepsize_adaptation().set_delta(delta);
28 sampler->get_stepsize_adaptation().set_gamma(gamma);
29 sampler->get_stepsize_adaptation().set_kappa(kappa);
30 sampler->get_stepsize_adaptation().set_t0(t0);
32 sampler->engage_adaptation();
35 sampler->z().q = cont_params;
36 sampler->init_stepsize(info_writer, error_writer);
37 }
catch (
const std::exception& e) {
38 error_writer(
"Exception initializing step size.");
39 error_writer(e.what());
45 template<
class Sampler>
48 const Eigen::VectorXd& cont_params,
60 return init_adapt<Sampler>(
dynamic_cast<Sampler*
>(sampler),
61 delta, gamma, kappa, t0, cont_params,
62 info_writer, error_writer);
void sample(stan::mcmc::base_mcmc *sampler, int num_warmup, int num_samples, int num_thin, int refresh, bool save, stan::services::sample::mcmc_writer< Model, SampleRecorder, DiagnosticRecorder, MessageRecorder > &mcmc_writer, stan::mcmc::sample &init_s, Model &model, RNG &base_rng, const std::string &prefix, const std::string &suffix, std::ostream &o, StartTransitionCallback &callback, interface_callbacks::writer::base_writer &info_writer, interface_callbacks::writer::base_writer &error_writer)
Probability, optimization and sampling library.
bool init_adapt(Sampler *sampler, const double delta, const double gamma, const double kappa, const double t0, const Eigen::VectorXd &cont_params, interface_callbacks::writer::base_writer &info_writer, interface_callbacks::writer::base_writer &error_writer)
argument * arg(const std::string &name)
base_writer is an abstract base class defining the interface for Stan writer callbacks.