queso-0.57.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
QUESO::InfiniteDimensionalMCMCSamplerOptions Class Reference

This class defines the options that specify the behaviour of the MCMC sampler. More...

#include <InfiniteDimensionalMCMCSamplerOptions.h>

Public Member Functions

 InfiniteDimensionalMCMCSamplerOptions (const BaseEnvironment &env, const char *prefix)
 Given prefix, read the input file for parameters named prefix_*. More...
 
virtual ~InfiniteDimensionalMCMCSamplerOptions ()
 Destructor. More...
 
void print (std::ostream &os) const
 Prints this to os. More...
 
const BaseEnvironmentenv () const
 Returns the QUESO environment. More...
 

Public Attributes

std::string m_prefix
 The prefix to look for in the input file. More...
 
std::string m_dataOutputDirName
 Name of the output dir to save infinite dimensional output files to. More...
 
std::string m_dataOutputFileName
 Name of the HDF5 output file to store chain statistics. More...
 
unsigned int m_num_iters
 The total number of iterations to do. More...
 
unsigned int m_save_freq
 The frequency at which to save the state of the chain. More...
 
double m_rwmh_step
 The proposal step size. More...
 

Private Member Functions

void checkOptions ()
 

Private Attributes

BoostInputOptionsParserm_parser
 
const BaseEnvironmentm_env
 
std::string m_option_help
 
std::string m_option_dataOutputDirName
 
std::string m_option_dataOutputFileName
 
std::string m_option_num_iters
 
std::string m_option_save_freq
 
std::string m_option_rwmh_step
 

Friends

std::ostream & operator<< (std::ostream &os, const InfiniteDimensionalMCMCSamplerOptions &opts)
 

Detailed Description

This class defines the options that specify the behaviour of the MCMC sampler.

Definition at line 45 of file InfiniteDimensionalMCMCSamplerOptions.h.

Constructor & Destructor Documentation

QUESO::InfiniteDimensionalMCMCSamplerOptions::InfiniteDimensionalMCMCSamplerOptions ( const BaseEnvironment env,
const char *  prefix 
)

Given prefix, read the input file for parameters named prefix_*.

Definition at line 36 of file InfiniteDimensionalMCMCSamplerOptions.C.

References checkOptions(), QUESO::BoostInputOptionsParser::getOption(), QUESO::BaseEnvironment::input(), m_dataOutputDirName, m_dataOutputFileName, m_env, m_num_iters, m_option_dataOutputDirName, m_option_dataOutputFileName, m_option_help, m_option_num_iters, m_option_rwmh_step, m_option_save_freq, m_parser, m_rwmh_step, m_save_freq, QUESO::BaseEnvironment::optionsInputFileName(), QUESO::queso_require_not_equal_to_msg, QUESO::BoostInputOptionsParser::registerOption(), and QUESO::BoostInputOptionsParser::scanInputFile().

39  : m_prefix((std::string)(prefix) + "infmcmc_"),
40  m_dataOutputDirName(UQ_INF_DATA_OUTPUT_DIR_NAME_ODV),
41  m_dataOutputFileName(UQ_INF_DATA_OUTPUT_FILE_NAME_ODV),
42  m_num_iters(UQ_INF_NUM_ITERS_ODV),
43  m_save_freq(UQ_INF_SAVE_FREQ_ODV),
44  m_rwmh_step(UQ_INF_RWMH_STEP_ODV),
45 #ifndef QUESO_DISABLE_BOOST_PROGRAM_OPTIONS
46  m_parser(new BoostInputOptionsParser(env.optionsInputFileName())),
47 #endif // QUESO_DISABLE_BOOST_PROGRAM_OPTIONS
48  m_env(env),
49  m_option_help(m_prefix + "help"),
50  m_option_dataOutputDirName(m_prefix + "dataOutputDirName"),
51  m_option_dataOutputFileName(m_prefix + "dataOutputFileName"),
52  m_option_num_iters(m_prefix + "num_iters"),
53  m_option_save_freq(m_prefix + "save_freq"),
54  m_option_rwmh_step(m_prefix + "rwmh_step")
55 {
56  queso_require_not_equal_to_msg(m_env.optionsInputFileName(), std::string(""), std::string("this constructor is incompatible with the abscense of an options input file"));
57 
58 #ifndef QUESO_DISABLE_BOOST_PROGRAM_OPTIONS
59  m_parser->registerOption(m_option_help, "produce help message for infinite dimensional sampler");
60  m_parser->registerOption<std::string>(m_option_dataOutputDirName, UQ_INF_DATA_OUTPUT_DIR_NAME_ODV, "name of data output dir");
61  m_parser->registerOption<std::string>(m_option_dataOutputFileName, UQ_INF_DATA_OUTPUT_FILE_NAME_ODV, "name of data output file (HDF5)");
62  m_parser->registerOption<unsigned int>(m_option_num_iters, UQ_INF_NUM_ITERS_ODV, "number of mcmc iterations to do");
63  m_parser->registerOption<unsigned int>(m_option_save_freq, UQ_INF_SAVE_FREQ_ODV, "the frequency at which to save the chain state");
64  m_parser->registerOption<double >(m_option_rwmh_step, UQ_INF_RWMH_STEP_ODV, "the step-size in the random-walk Metropolis proposal");;
65 
67 
73 #else
74  m_option_dataOutputDirName = m_env.input()(m_option_dataOutputDirName, UQ_INF_DATA_OUTPUT_DIR_NAME_ODV);
75  m_option_dataOutputFileName = m_env.input()(m_option_dataOutputFileName, UQ_INF_DATA_OUTPUT_FILE_NAME_ODV);
76  m_option_num_iters = m_env.input()(m_option_num_iters, UQ_INF_NUM_ITERS_ODV);
77  m_option_save_freq = m_env.input()(m_option_save_freq, UQ_INF_SAVE_FREQ_ODV);
78  m_option_rwmh_step = m_env.input()(m_option_rwmh_step, UQ_INF_RWMH_STEP_ODV);;
79 #endif // QUESO_DISABLE_BOOST_PROGRAM_OPTIONS
80 
81  checkOptions();
82 }
void getOption(const std::string &name, T &value) const
Get option name from the parser and set value to the parsed value.
unsigned int m_num_iters
The total number of iterations to do.
std::string m_dataOutputFileName
Name of the HDF5 output file to store chain statistics.
std::string m_dataOutputDirName
Name of the output dir to save infinite dimensional output files to.
const GetPot & input() const
The GetPot input file parser.
Definition: Environment.C:1149
MonteCarloSGOptions::MonteCarloSGOptions(const BaseEnvironment &env, const char *prefix queso_require_not_equal_to_msg)(m_env.optionsInputFileName(), std::string(""), std::string("this constructor is incompatible with the absence of an options input file"))
std::string optionsInputFileName() const
Access to the attribute m_optionsInputFileName, which stores the name of the input file passed by the...
Definition: Environment.C:354
const BaseEnvironment & env() const
Returns the QUESO environment.
void registerOption(const std::string &name, const T &defaultValue, const std::string &description)
Call this to register an option with the parser.
void scanInputFile()
This is the method that parses the input file.
unsigned int m_save_freq
The frequency at which to save the state of the chain.
std::string m_prefix
The prefix to look for in the input file.
QUESO::InfiniteDimensionalMCMCSamplerOptions::~InfiniteDimensionalMCMCSamplerOptions ( )
virtual

Destructor.

Definition at line 91 of file InfiniteDimensionalMCMCSamplerOptions.C.

92 {
93 }

Member Function Documentation

void QUESO::InfiniteDimensionalMCMCSamplerOptions::checkOptions ( )
private

Definition at line 85 of file InfiniteDimensionalMCMCSamplerOptions.C.

References m_num_iters, m_rwmh_step, m_save_freq, and QUESO::queso_require_equal_to_msg.

Referenced by InfiniteDimensionalMCMCSamplerOptions().

86 {
87  queso_require_equal_to_msg(m_num_iters % m_save_freq, 0, "save frequency must divide number of iterations");
88  queso_require_greater_msg(m_rwmh_step, 0, "random-walk Metropolis step size must be positive");
89 }
unsigned int m_num_iters
The total number of iterations to do.
unsigned int m_save_freq
The frequency at which to save the state of the chain.
MonteCarloSGOptions::MonteCarloSGOptions(const BaseEnvironment &env, const char *prefix, const McOptionsValues &alternativeOptionsValues queso_require_equal_to_msg)(m_env.optionsInputFileName(), std::string(""), std::string("this constructor is incompatible with the existence of an options input file"))
const BaseEnvironment & QUESO::InfiniteDimensionalMCMCSamplerOptions::env ( ) const

Returns the QUESO environment.

Definition at line 117 of file InfiniteDimensionalMCMCSamplerOptions.C.

References m_env.

118 {
119  return this->m_env;
120 }
void QUESO::InfiniteDimensionalMCMCSamplerOptions::print ( std::ostream &  os) const

Prints this to os.

Definition at line 95 of file InfiniteDimensionalMCMCSamplerOptions.C.

References m_dataOutputDirName, m_dataOutputFileName, m_num_iters, m_option_dataOutputDirName, m_option_dataOutputFileName, m_option_num_iters, m_option_rwmh_step, m_option_save_freq, m_rwmh_step, and m_save_freq.

Referenced by QUESO::operator<<().

96 {
97  os << "\n" << this->m_option_dataOutputDirName << " = " << this->m_dataOutputDirName;
98  os << "\n" << this->m_option_dataOutputFileName << " = " << this->m_dataOutputFileName;
99  os << "\n" << this->m_option_num_iters << " = " << this->m_num_iters;
100  os << "\n" << this->m_option_save_freq << " = " << this->m_save_freq;
101  os << "\n" << this->m_option_rwmh_step << " = " << this->m_rwmh_step;
102  os << std::endl;
103  return;
104 }
unsigned int m_num_iters
The total number of iterations to do.
std::string m_dataOutputFileName
Name of the HDF5 output file to store chain statistics.
std::string m_dataOutputDirName
Name of the output dir to save infinite dimensional output files to.
unsigned int m_save_freq
The frequency at which to save the state of the chain.

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const InfiniteDimensionalMCMCSamplerOptions opts 
)
friend

Definition at line 106 of file InfiniteDimensionalMCMCSamplerOptions.C.

108 {
109 #ifndef QUESO_DISABLE_BOOST_PROGRAM_OPTIONS
110  os << (*(obj.m_parser)) << std::endl;
111 #endif // QUESO_DISABLE_BOOST_PROGRAM_OPTIONS
112  obj.print(os);
113  return os;
114 }

Member Data Documentation

std::string QUESO::InfiniteDimensionalMCMCSamplerOptions::m_dataOutputDirName

Name of the output dir to save infinite dimensional output files to.

For example, if m_dataOutputDirName is set to 'outputData/chain' then a series of folders will be created, one for each QUESO subenvironment, called 'outputData/chain0', 'outputData/chain1', etc. Inside these folders, output data from the infinite dimensional chain will be saved as an HDF5 file.

Definition at line 68 of file InfiniteDimensionalMCMCSamplerOptions.h.

Referenced by QUESO::InfiniteDimensionalMCMCSampler::_write_state(), QUESO::InfiniteDimensionalMCMCSampler::InfiniteDimensionalMCMCSampler(), InfiniteDimensionalMCMCSamplerOptions(), and print().

std::string QUESO::InfiniteDimensionalMCMCSamplerOptions::m_dataOutputFileName

Name of the HDF5 output file to store chain statistics.

Definition at line 71 of file InfiniteDimensionalMCMCSamplerOptions.h.

Referenced by QUESO::InfiniteDimensionalMCMCSampler::InfiniteDimensionalMCMCSampler(), InfiniteDimensionalMCMCSamplerOptions(), and print().

const BaseEnvironment& QUESO::InfiniteDimensionalMCMCSamplerOptions::m_env
private
unsigned int QUESO::InfiniteDimensionalMCMCSamplerOptions::m_num_iters

The total number of iterations to do.

Definition at line 74 of file InfiniteDimensionalMCMCSamplerOptions.h.

Referenced by checkOptions(), InfiniteDimensionalMCMCSamplerOptions(), and print().

std::string QUESO::InfiniteDimensionalMCMCSamplerOptions::m_option_dataOutputDirName
private
std::string QUESO::InfiniteDimensionalMCMCSamplerOptions::m_option_dataOutputFileName
private
std::string QUESO::InfiniteDimensionalMCMCSamplerOptions::m_option_help
private
std::string QUESO::InfiniteDimensionalMCMCSamplerOptions::m_option_num_iters
private
std::string QUESO::InfiniteDimensionalMCMCSamplerOptions::m_option_rwmh_step
private
std::string QUESO::InfiniteDimensionalMCMCSamplerOptions::m_option_save_freq
private
BoostInputOptionsParser* QUESO::InfiniteDimensionalMCMCSamplerOptions::m_parser
private
std::string QUESO::InfiniteDimensionalMCMCSamplerOptions::m_prefix

The prefix to look for in the input file.

Definition at line 58 of file InfiniteDimensionalMCMCSamplerOptions.h.

Referenced by QUESO::InfiniteDimensionalMCMCSampler::InfiniteDimensionalMCMCSampler().

double QUESO::InfiniteDimensionalMCMCSamplerOptions::m_rwmh_step
unsigned int QUESO::InfiniteDimensionalMCMCSamplerOptions::m_save_freq

The documentation for this class was generated from the following files:

Generated on Tue Jun 5 2018 19:49:09 for queso-0.57.1 by  doxygen 1.8.5