Stan  2.5.0
probability, sampling & optimization
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
run_markov_chain.hpp
Go to the documentation of this file.
1 #ifndef STAN__COMMON__RUN_MARKOV_CHAIN_HPP
2 #define STAN__COMMON__RUN_MARKOV_CHAIN_HPP
3 
7 
8 namespace stan {
9  namespace common {
10 
11  template <class Model, class RNG, class StartTransitionCallback,
12  class SampleRecorder, class DiagnosticRecorder, class MessageRecorder>
14  const int num_iterations,
15  const int start,
16  const int finish,
17  const int num_thin,
18  const int refresh,
19  const bool save,
20  const bool warmup,
21  stan::io::mcmc_writer <Model,
22  SampleRecorder, DiagnosticRecorder, MessageRecorder>&
23  writer,
24  stan::mcmc::sample& init_s,
25  Model& model,
26  RNG& base_rng,
27  const std::string& prefix,
28  const std::string& suffix,
29  std::ostream& o,
30  StartTransitionCallback& callback) {
31  for (int m = 0; m < num_iterations; ++m) {
32  callback();
33 
34  print_progress(m, start, finish, refresh, warmup, prefix, suffix, o);
35 
36  init_s = sampler->transition(init_s);
37 
38  if ( save && ( (m % num_thin) == 0) ) {
39  writer.write_sample_params(base_rng, init_s, *sampler, model);
40  writer.write_diagnostic_params(init_s, sampler);
41  }
42 
43  }
44 
45  }
46 
47  }
48 }
49 
50 #endif
virtual sample transition(sample &init_sample)=0
mcmc_writer writes out headers and samples
Definition: mcmc_writer.hpp:29
void run_markov_chain(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::io::mcmc_writer< Model, SampleRecorder, DiagnosticRecorder, MessageRecorder > &writer, stan::mcmc::sample &init_s, Model &model, RNG &base_rng, const std::string &prefix, const std::string &suffix, std::ostream &o, StartTransitionCallback &callback)
void warmup(stan::mcmc::base_mcmc *sampler, int num_warmup, int num_samples, int num_thin, int refresh, bool save, stan::io::mcmc_writer< Model, SampleRecorder, DiagnosticRecorder, MessageRecorder > &writer, stan::mcmc::sample &init_s, Model &model, RNG &base_rng, const std::string &prefix, const std::string &suffix, std::ostream &o, StartTransitionCallback &callback)
Definition: warmup.hpp:13
void print_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)

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