1 #ifndef STAN_SERVICES_SAMPLE_GENERATE_TRANSITIONS_HPP
2 #define STAN_SERVICES_SAMPLE_GENERATE_TRANSITIONS_HPP
14 template <
class Model,
class RNG,
class StartTransitionCallback,
15 class SampleRecorder,
class DiagnosticRecorder,
16 class MessageRecorder>
18 const int num_iterations,
26 Model, SampleRecorder,
27 DiagnosticRecorder, MessageRecorder>&
32 const std::string& prefix,
33 const std::string& suffix,
35 StartTransitionCallback& callback,
40 for (
int m = 0; m < num_iterations; ++m) {
43 progress(m, start, finish, refresh, warmup, prefix, suffix, o);
45 init_s = sampler->
transition(init_s, info_writer, error_writer);
47 if ( save && ( (m % num_thin) == 0) ) {
mcmc_writer writes out headers and samples
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.
void write_diagnostic_params(stan::mcmc::sample &sample, stan::mcmc::base_mcmc *sampler)
Print diagnostic params to the diagnostic stream.
void warmup(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)
base_writer is an abstract base class defining the interface for Stan writer callbacks.
void write_sample_params(RNG &rng, stan::mcmc::sample &sample, stan::mcmc::base_mcmc &sampler, Model &model)
Outputs samples.
void generate_transitions(stan::mcmc::base_mcmc *sampler, const int num_iterations, const int start, const int finish, const int num_thin, const int refresh, const bool save, const bool warmup, 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)
void progress(const int m, const int start, const int finish, const int refresh, const bool warmup, const std::string prefix, const std::string suffix, std::ostream &o)
virtual sample transition(sample &init_sample, interface_callbacks::writer::base_writer &info_writer, interface_callbacks::writer::base_writer &error_writer)=0