Stan  2.10.0
probability, sampling & optimization
generate_transitions.hpp
Go to the documentation of this file.
1 #ifndef STAN_SERVICES_SAMPLE_GENERATE_TRANSITIONS_HPP
2 #define STAN_SERVICES_SAMPLE_GENERATE_TRANSITIONS_HPP
3 
8 #include <string>
9 
10 namespace stan {
11  namespace services {
12  namespace sample {
13 
14  template <class Model, class RNG, class StartTransitionCallback,
15  class SampleRecorder, class DiagnosticRecorder,
16  class MessageRecorder>
18  const int num_iterations,
19  const int start,
20  const int finish,
21  const int num_thin,
22  const int refresh,
23  const bool save,
24  const bool warmup,
26  Model, SampleRecorder,
27  DiagnosticRecorder, MessageRecorder>&
29  stan::mcmc::sample& init_s,
30  Model& model,
31  RNG& base_rng,
32  const std::string& prefix,
33  const std::string& suffix,
34  std::ostream& o,
35  StartTransitionCallback& callback,
37  info_writer,
39  error_writer) {
40  for (int m = 0; m < num_iterations; ++m) {
41  callback();
42 
43  progress(m, start, finish, refresh, warmup, prefix, suffix, o);
44 
45  init_s = sampler->transition(init_s, info_writer, error_writer);
46 
47  if ( save && ( (m % num_thin) == 0) ) {
48  mcmc_writer.write_sample_params(base_rng, init_s, *sampler, model);
49  mcmc_writer.write_diagnostic_params(init_s, sampler);
50  }
51  }
52  }
53 
54  }
55  }
56 }
57 
58 #endif
mcmc_writer writes out headers and samples
Definition: mcmc_writer.hpp:26
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)
Definition: sample.hpp:17
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)
Definition: warmup.hpp:16
base_writer is an abstract base class defining the interface for Stan writer callbacks.
Definition: base_writer.hpp:20
void write_sample_params(RNG &rng, stan::mcmc::sample &sample, stan::mcmc::base_mcmc &sampler, Model &model)
Outputs samples.
Definition: mcmc_writer.hpp:98
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)
Definition: progress.hpp:14
virtual sample transition(sample &init_sample, interface_callbacks::writer::base_writer &info_writer, interface_callbacks::writer::base_writer &error_writer)=0

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