25 #include <queso/Defines.h>
26 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
28 #ifndef DISABLE_BOOST_PROGRAM_OPTIONS
29 #include <boost/program_options.hpp>
30 #endif // DISABLE_BOOST_PROGRAM_OPTIONS
32 #include <queso/SequenceStatisticalOptions.h>
33 #include <queso/Miscellaneous.h>
37 SsOptionsValues::SsOptionsValues()
40 m_initialDiscardedPortions(0 ),
41 #ifdef QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS
42 m_meanMonitorPeriod (UQ_SEQUENCE_MEAN_MONITOR_PERIOD_ODV ),
43 m_bmmRun (UQ_SEQUENCE_BMM_RUN_ODV ),
45 m_fftCompute (UQ_SEQUENCE_FFT_COMPUTE_ODV ),
46 m_fftParamId (UQ_SEQUENCE_FFT_PARAM_ID_ODV ),
47 m_fftSize (UQ_SEQUENCE_FFT_SIZE_ODV ),
48 m_fftTestInversion (UQ_SEQUENCE_FFT_TEST_INVERSION_ODV ),
49 m_fftWrite (UQ_SEQUENCE_FFT_WRITE_ODV ),
50 m_psdCompute (UQ_SEQUENCE_PSD_COMPUTE_ODV ),
51 m_psdNumBlocks (UQ_SEQUENCE_PSD_NUM_BLOCKS_ODV ),
52 m_psdHopSizeRatio (UQ_SEQUENCE_PSD_HOP_SIZE_RATIO_ODV ),
53 m_psdParamId (UQ_SEQUENCE_PSD_PARAM_ID_ODV ),
54 m_psdWrite (UQ_SEQUENCE_PSD_WRITE_ODV ),
55 m_psdAtZeroCompute (UQ_SEQUENCE_PSD_AT_ZERO_COMPUTE_ODV ),
56 m_psdAtZeroNumBlocks (0 ),
57 m_psdAtZeroHopSizeRatio (UQ_SEQUENCE_PSD_AT_ZERO_HOP_SIZE_RATIO_ODV ),
58 m_psdAtZeroDisplay (UQ_SEQUENCE_PSD_AT_ZERO_DISPLAY_ODV ),
59 m_psdAtZeroWrite (UQ_SEQUENCE_PSD_AT_ZERO_WRITE_ODV ),
60 m_gewekeCompute (UQ_SEQUENCE_GEWEKE_COMPUTE_ODV ),
61 m_gewekeNaRatio (UQ_SEQUENCE_GEWEKE_NA_RATIO_ODV ),
62 m_gewekeNbRatio (UQ_SEQUENCE_GEWEKE_NB_RATIO_ODV ),
63 m_gewekeDisplay (UQ_SEQUENCE_GEWEKE_DISPLAY_ODV ),
64 m_gewekeWrite (UQ_SEQUENCE_GEWEKE_WRITE_ODV ),
65 m_meanStaccCompute (UQ_SEQUENCE_MEAN_STACC_COMPUTE_ODV ),
66 m_histCompute (UQ_SEQUENCE_HIST_COMPUTE_ODV ),
67 m_histNumInternalBins (UQ_SEQUENCE_HIST_NUM_INTERNAL_BINS_ODV ),
68 m_cdfStaccCompute (UQ_SEQUENCE_CDF_STACC_COMPUTE_ODV ),
69 m_cdfStaccNumEvalPositions(UQ_SEQUENCE_CDF_STACC_NUM_EVAL_POSITIONS_ODV),
71 m_autoCorrComputeViaDef (UQ_SEQUENCE_AUTO_CORR_COMPUTE_VIA_DEF_ODV ),
72 m_autoCorrComputeViaFft (UQ_SEQUENCE_AUTO_CORR_COMPUTE_VIA_FFT_ODV ),
73 m_autoCorrSecondLag (UQ_SEQUENCE_AUTO_CORR_SECOND_LAG_ODV ),
74 m_autoCorrLagSpacing (UQ_SEQUENCE_AUTO_CORR_LAG_SPACING_ODV ),
75 m_autoCorrNumLags (UQ_SEQUENCE_AUTO_CORR_NUM_LAGS_ODV ),
76 m_autoCorrDisplay (UQ_SEQUENCE_AUTO_CORR_DISPLAY_ODV ),
77 m_autoCorrWrite (UQ_SEQUENCE_AUTO_CORR_WRITE_ODV ),
78 m_kdeCompute (UQ_SEQUENCE_KDE_COMPUTE_ODV ),
79 m_kdeNumEvalPositions (UQ_SEQUENCE_KDE_NUM_EVAL_POSITIONS_ODV ),
80 m_covMatrixCompute (UQ_SEQUENCE_COV_MATRIX_COMPUTE_ODV ),
81 m_corrMatrixCompute (UQ_SEQUENCE_CORR_MATRIX_COMPUTE_ODV ),
82 m_option_help (m_prefix +
"help" ),
83 m_option_initialDiscardedPortions (m_prefix +
"initialDiscardedPortions" ),
84 #ifdef QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS
85 m_option_mean_monitorPeriod (m_prefix +
"mean_monitorPeriod" ),
86 m_option_bmm_run (m_prefix +
"bmm_run" ),
87 m_option_bmm_lengths (m_prefix +
"bmm_lengths" ),
88 m_option_bmm_display (m_prefix +
"bmm_display" ),
89 m_option_bmm_write (m_prefix +
"bmm_write" ),
90 m_option_fft_compute (m_prefix +
"fft_compute" ),
91 m_option_fft_paramId (m_prefix +
"fft_paramId" ),
92 m_option_fft_size (m_prefix +
"fft_size" ),
93 m_option_fft_testInversion (m_prefix +
"fft_testInversion" ),
94 m_option_fft_write (m_prefix +
"fft_write" ),
95 m_option_psd_compute (m_prefix +
"psd_compute" ),
96 m_option_psd_numBlocks (m_prefix +
"psd_numBlocks" ),
97 m_option_psd_hopSizeRatio (m_prefix +
"psd_hopSizeRatio" ),
98 m_option_psd_paramId (m_prefix +
"psd_paramId" ),
99 m_option_psd_write (m_prefix +
"psd_write" ),
100 m_option_psdAtZero_compute (m_prefix +
"psdAtZero_compute" ),
101 m_option_psdAtZero_numBlocks (m_prefix +
"psdAtZero_numBlocks" ),
102 m_option_psdAtZero_hopSizeRatio (m_prefix +
"psdAtZero_hopSizeRatio" ),
103 m_option_psdAtZero_display (m_prefix +
"psdAtZero_display" ),
104 m_option_psdAtZero_write (m_prefix +
"psdAtZero_write" ),
105 m_option_geweke_compute (m_prefix +
"geweke_compute" ),
106 m_option_geweke_naRatio (m_prefix +
"geweke_naRatio" ),
107 m_option_geweke_nbRatio (m_prefix +
"geweke_nbRatio" ),
108 m_option_geweke_display (m_prefix +
"geweke_display" ),
109 m_option_geweke_write (m_prefix +
"geweke_write" ),
110 m_option_meanStacc_compute (m_prefix +
"meanStacc_compute" ),
111 m_option_hist_compute (m_prefix +
"hist_compute" ),
112 m_option_hist_numInternalBins (m_prefix +
"hist_numInternalBins" ),
113 m_option_cdfStacc_compute (m_prefix +
"cdfStacc_compute" ),
114 m_option_cdfStacc_numEvalPositions(m_prefix +
"cdfStacc_numEvalPositions"),
116 m_option_autoCorr_computeViaDef (m_prefix +
"autoCorr_computeViaDef" ),
117 m_option_autoCorr_computeViaFft (m_prefix +
"autoCorr_computeViaFft" ),
118 m_option_autoCorr_secondLag (m_prefix +
"autoCorr_secondLag" ),
119 m_option_autoCorr_lagSpacing (m_prefix +
"autoCorr_lagSpacing" ),
120 m_option_autoCorr_numLags (m_prefix +
"autoCorr_numLags" ),
121 m_option_autoCorr_display (m_prefix +
"autoCorr_display" ),
122 m_option_autoCorr_write (m_prefix +
"autoCorr_write" ),
123 m_option_kde_compute (m_prefix +
"kde_compute" ),
124 m_option_kde_numEvalPositions (m_prefix +
"kde_numEvalPositions" ),
125 m_option_covMatrix_compute (m_prefix +
"covMatrix_compute" ),
126 m_option_corrMatrix_compute (m_prefix +
"corrMatrix_compute" )
130 SsOptionsValues::SsOptionsValues(
const BaseEnvironment * env,
const char *
133 m_prefix ((std::string)(prefix) +
"stats_"),
134 m_initialDiscardedPortions(0 ),
135 #ifdef QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS
136 m_meanMonitorPeriod (UQ_SEQUENCE_MEAN_MONITOR_PERIOD_ODV ),
137 m_bmmRun (UQ_SEQUENCE_BMM_RUN_ODV ),
139 m_fftCompute (UQ_SEQUENCE_FFT_COMPUTE_ODV ),
140 m_fftParamId (UQ_SEQUENCE_FFT_PARAM_ID_ODV ),
141 m_fftSize (UQ_SEQUENCE_FFT_SIZE_ODV ),
142 m_fftTestInversion (UQ_SEQUENCE_FFT_TEST_INVERSION_ODV ),
143 m_fftWrite (UQ_SEQUENCE_FFT_WRITE_ODV ),
144 m_psdCompute (UQ_SEQUENCE_PSD_COMPUTE_ODV ),
145 m_psdNumBlocks (UQ_SEQUENCE_PSD_NUM_BLOCKS_ODV ),
146 m_psdHopSizeRatio (UQ_SEQUENCE_PSD_HOP_SIZE_RATIO_ODV ),
147 m_psdParamId (UQ_SEQUENCE_PSD_PARAM_ID_ODV ),
148 m_psdWrite (UQ_SEQUENCE_PSD_WRITE_ODV ),
149 m_psdAtZeroCompute (UQ_SEQUENCE_PSD_AT_ZERO_COMPUTE_ODV ),
150 m_psdAtZeroNumBlocks (0 ),
151 m_psdAtZeroHopSizeRatio (UQ_SEQUENCE_PSD_AT_ZERO_HOP_SIZE_RATIO_ODV ),
152 m_psdAtZeroDisplay (UQ_SEQUENCE_PSD_AT_ZERO_DISPLAY_ODV ),
153 m_psdAtZeroWrite (UQ_SEQUENCE_PSD_AT_ZERO_WRITE_ODV ),
154 m_gewekeCompute (UQ_SEQUENCE_GEWEKE_COMPUTE_ODV ),
155 m_gewekeNaRatio (UQ_SEQUENCE_GEWEKE_NA_RATIO_ODV ),
156 m_gewekeNbRatio (UQ_SEQUENCE_GEWEKE_NB_RATIO_ODV ),
157 m_gewekeDisplay (UQ_SEQUENCE_GEWEKE_DISPLAY_ODV ),
158 m_gewekeWrite (UQ_SEQUENCE_GEWEKE_WRITE_ODV ),
159 m_meanStaccCompute (UQ_SEQUENCE_MEAN_STACC_COMPUTE_ODV ),
160 m_histCompute (UQ_SEQUENCE_HIST_COMPUTE_ODV ),
161 m_histNumInternalBins (UQ_SEQUENCE_HIST_NUM_INTERNAL_BINS_ODV ),
162 m_cdfStaccCompute (UQ_SEQUENCE_CDF_STACC_COMPUTE_ODV ),
163 m_cdfStaccNumEvalPositions(UQ_SEQUENCE_CDF_STACC_NUM_EVAL_POSITIONS_ODV),
165 m_autoCorrComputeViaDef (UQ_SEQUENCE_AUTO_CORR_COMPUTE_VIA_DEF_ODV ),
166 m_autoCorrComputeViaFft (UQ_SEQUENCE_AUTO_CORR_COMPUTE_VIA_FFT_ODV ),
167 m_autoCorrSecondLag (UQ_SEQUENCE_AUTO_CORR_SECOND_LAG_ODV ),
168 m_autoCorrLagSpacing (UQ_SEQUENCE_AUTO_CORR_LAG_SPACING_ODV ),
169 m_autoCorrNumLags (UQ_SEQUENCE_AUTO_CORR_NUM_LAGS_ODV ),
170 m_autoCorrDisplay (UQ_SEQUENCE_AUTO_CORR_DISPLAY_ODV ),
171 m_autoCorrWrite (UQ_SEQUENCE_AUTO_CORR_WRITE_ODV ),
172 m_kdeCompute (UQ_SEQUENCE_KDE_COMPUTE_ODV ),
173 m_kdeNumEvalPositions (UQ_SEQUENCE_KDE_NUM_EVAL_POSITIONS_ODV ),
174 m_covMatrixCompute (UQ_SEQUENCE_COV_MATRIX_COMPUTE_ODV ),
175 m_corrMatrixCompute (UQ_SEQUENCE_CORR_MATRIX_COMPUTE_ODV ),
176 m_parser(new BoostInputOptionsParser(env->optionsInputFileName())),
177 m_option_help (m_prefix +
"help" ),
178 m_option_initialDiscardedPortions (m_prefix +
"initialDiscardedPortions" ),
179 #ifdef QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS
180 m_option_mean_monitorPeriod (m_prefix +
"mean_monitorPeriod" ),
181 m_option_bmm_run (m_prefix +
"bmm_run" ),
182 m_option_bmm_lengths (m_prefix +
"bmm_lengths" ),
183 m_option_bmm_display (m_prefix +
"bmm_display" ),
184 m_option_bmm_write (m_prefix +
"bmm_write" ),
185 m_option_fft_compute (m_prefix +
"fft_compute" ),
186 m_option_fft_paramId (m_prefix +
"fft_paramId" ),
187 m_option_fft_size (m_prefix +
"fft_size" ),
188 m_option_fft_testInversion (m_prefix +
"fft_testInversion" ),
189 m_option_fft_write (m_prefix +
"fft_write" ),
190 m_option_psd_compute (m_prefix +
"psd_compute" ),
191 m_option_psd_numBlocks (m_prefix +
"psd_numBlocks" ),
192 m_option_psd_hopSizeRatio (m_prefix +
"psd_hopSizeRatio" ),
193 m_option_psd_paramId (m_prefix +
"psd_paramId" ),
194 m_option_psd_write (m_prefix +
"psd_write" ),
195 m_option_psdAtZero_compute (m_prefix +
"psdAtZero_compute" ),
196 m_option_psdAtZero_numBlocks (m_prefix +
"psdAtZero_numBlocks" ),
197 m_option_psdAtZero_hopSizeRatio (m_prefix +
"psdAtZero_hopSizeRatio" ),
198 m_option_psdAtZero_display (m_prefix +
"psdAtZero_display" ),
199 m_option_psdAtZero_write (m_prefix +
"psdAtZero_write" ),
200 m_option_geweke_compute (m_prefix +
"geweke_compute" ),
201 m_option_geweke_naRatio (m_prefix +
"geweke_naRatio" ),
202 m_option_geweke_nbRatio (m_prefix +
"geweke_nbRatio" ),
203 m_option_geweke_display (m_prefix +
"geweke_display" ),
204 m_option_geweke_write (m_prefix +
"geweke_write" ),
205 m_option_meanStacc_compute (m_prefix +
"meanStacc_compute" ),
206 m_option_hist_compute (m_prefix +
"hist_compute" ),
207 m_option_hist_numInternalBins (m_prefix +
"hist_numInternalBins" ),
208 m_option_cdfStacc_compute (m_prefix +
"cdfStacc_compute" ),
209 m_option_cdfStacc_numEvalPositions(m_prefix +
"cdfStacc_numEvalPositions"),
211 m_option_autoCorr_computeViaDef (m_prefix +
"autoCorr_computeViaDef" ),
212 m_option_autoCorr_computeViaFft (m_prefix +
"autoCorr_computeViaFft" ),
213 m_option_autoCorr_secondLag (m_prefix +
"autoCorr_secondLag" ),
214 m_option_autoCorr_lagSpacing (m_prefix +
"autoCorr_lagSpacing" ),
215 m_option_autoCorr_numLags (m_prefix +
"autoCorr_numLags" ),
216 m_option_autoCorr_display (m_prefix +
"autoCorr_display" ),
217 m_option_autoCorr_write (m_prefix +
"autoCorr_write" ),
218 m_option_kde_compute (m_prefix +
"kde_compute" ),
219 m_option_kde_numEvalPositions (m_prefix +
"kde_numEvalPositions" ),
220 m_option_covMatrix_compute (m_prefix +
"covMatrix_compute" ),
221 m_option_corrMatrix_compute (m_prefix +
"corrMatrix_compute" )
223 (m_option_help,
"produce help message for chain statistical options" )
224 (m_option_initialDiscardedPortions, boost::program_options::value<std::string >()->default_value(UQ_SEQUENCE_INITIAL_DISCARDED_PORTIONS_ODV ),
"list of initial discarded portions for chain statistics" )
225 #ifdef QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS
226 m_parser->registerOption(m_option_mean_monitorPeriod, UQ_SEQUENCE_MEAN_MONITOR_PERIOD_ODV,
"period for monitoring mean" );
227 m_parser->registerOption(m_option_bmm_run, UQ_SEQUENCE_BMM_RUN_ODV ,
"compute variance of sample mean with batch means method" );
228 m_parser->registerOption<std::string>(m_option_bmm_lengths, UQ_SEQUENCE_BMM_LENGTHS_ODV ,
"list of batch lenghts for BMM" );
229 m_parser->registerOption(m_option_fft_compute, UQ_SEQUENCE_FFT_COMPUTE_ODV ,
"compute fft" );
230 m_parser->registerOption(m_option_fft_paramId, UQ_SEQUENCE_FFT_PARAM_ID_ODV ,
"parameter id for fft computations" );
231 m_parser->registerOption(m_option_fft_size, UQ_SEQUENCE_FFT_SIZE_ODV ,
"fft size" );
232 m_parser->registerOption(m_option_fft_testInversion, UQ_SEQUENCE_FFT_TEST_INVERSION_ODV ,
"test fft inversion" );
233 m_parser->registerOption(m_option_fft_write, UQ_SEQUENCE_FFT_WRITE_ODV ,
"write fft" );
234 m_parser->registerOption(m_option_psd_compute, UQ_SEQUENCE_PSD_COMPUTE_ODV ,
"compute psd" );
235 m_parser->registerOption(m_option_psd_numBlocks, UQ_SEQUENCE_PSD_NUM_BLOCKS_ODV ,
"number of blocks for computation of psd" );
236 m_parser->registerOption(m_option_psd_hopSizeRatio, UQ_SEQUENCE_PSD_HOP_SIZE_RATIO_ODV ,
"hop size ratio for psd" );
237 m_parser->registerOption(m_option_psd_paramId, UQ_SEQUENCE_PSD_PARAM_ID_ODV ,
"parameter id for psd computations" );
238 m_parser->registerOption(m_option_psd_write, UQ_SEQUENCE_PSD_WRITE_ODV ,
"write psd" );
239 m_parser->registerOption(m_option_psdAtZero_compute, UQ_SEQUENCE_PSD_AT_ZERO_COMPUTE_ODV,
"compute power spectral densities" );
240 m_parser->registerOption<std::string>(m_option_psdAtZero_numBlocks, UQ_SEQUENCE_PSD_AT_ZERO_NUM_BLOCKS_ODV ,
"list of numbers of blocks for computation of psd at zero" );
241 m_parser->registerOption(m_option_psdAtZero_hopSizeRatio, UQ_SEQUENCE_PSD_AT_ZERO_HOP_SIZE_RATIO_ODV ,
"hop size ratio for psd at zero" );
242 m_parser->registerOption(m_option_psdAtZero_display, UQ_SEQUENCE_PSD_AT_ZERO_DISPLAY_ODV,
"display computed psd at frequency zero on screen" );
243 m_parser->registerOption(m_option_psdAtZero_write, UQ_SEQUENCE_PSD_AT_ZERO_WRITE_ODV ,
"write computed psd at frequency zero to the output file" );
244 m_parser->registerOption(m_option_geweke_compute, UQ_SEQUENCE_GEWEKE_COMPUTE_ODV ,
"compute Geweke coefficients" );
245 m_parser->registerOption(m_option_geweke_naRatio, UQ_SEQUENCE_GEWEKE_NA_RATIO_ODV ,
"ratio NA for Geweke" );
246 m_parser->registerOption(m_option_geweke_nbRatio, UQ_SEQUENCE_GEWEKE_NB_RATIO_ODV ,
"ratio NB for Geweke" );
247 m_parser->registerOption(m_option_geweke_display, UQ_SEQUENCE_GEWEKE_DISPLAY_ODV ,
"display computed Geweke on screen" );
248 m_parser->registerOption(m_option_geweke_write, UQ_SEQUENCE_GEWEKE_WRITE_ODV ,
"write computed Geweke to the output file" );
249 m_parser->registerOption(m_option_meanStacc_compute, UQ_SEQUENCE_MEAN_STACC_COMPUTE_ODV ,
"compute statistical accuracy of mean" );
250 m_parser->registerOption(m_option_hist_compute, UQ_SEQUENCE_HIST_COMPUTE_ODV ,
"compute histograms" );
251 m_parser->registerOption(m_option_hist_numInternalBins, UQ_SEQUENCE_HIST_NUM_INTERNAL_BINS_ODV ,
"number of internal bins" );
252 m_parser->registerOption(m_option_cdfStacc_compute, UQ_SEQUENCE_CDF_STACC_COMPUTE_ODV ,
"compute statisical accuracy of cdf" );
253 m_parser->registerOption(m_option_cdfStacc_numEvalPositions, UQ_SEQUENCE_CDF_STACC_NUM_EVAL_POSITIONS_ODV ,
"number of evaluations points for statistical accuracy of cdf" );
255 m_parser->registerOption(m_option_autoCorr_computeViaDef, boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_AUTO_CORR_COMPUTE_VIA_DEF_ODV ),
"compute correlations via definition" )
256 m_parser->registerOption(m_option_autoCorr_computeViaFft, boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_AUTO_CORR_COMPUTE_VIA_FFT_ODV ),
"compute correlations via fft" )
257 m_parser->registerOption(m_option_autoCorr_secondLag, boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_AUTO_CORR_SECOND_LAG_ODV ),
"second lag for computation of autocorrelations" )
258 m_parser->registerOption(m_option_autoCorr_lagSpacing, boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_AUTO_CORR_LAG_SPACING_ODV ),
"lag spacing for computation of autocorrelations" )
259 m_parser->registerOption(m_option_autoCorr_numLags, boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_AUTO_CORR_NUM_LAGS_ODV ),
"number of lags for computation of autocorrelations" )
260 m_parser->registerOption(m_option_autoCorr_display, boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_AUTO_CORR_DISPLAY_ODV ),
"display computed autocorrelations on the screen" )
261 m_parser->registerOption(m_option_autoCorr_write, boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_AUTO_CORR_WRITE_ODV ),
"write computed autocorrelations to the output file" )
262 m_parser->registerOption(m_option_kde_compute, boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_KDE_COMPUTE_ODV ),
"compute kernel density estimators" )
263 m_parser->registerOption(m_option_kde_numEvalPositions, boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_KDE_NUM_EVAL_POSITIONS_ODV ),
"number of evaluation positions" )
264 m_parser->registerOption(m_option_covMatrix_compute, boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_COV_MATRIX_COMPUTE_ODV ),
"compute covariance matrix" )
265 m_parser->registerOption(m_option_corrMatrix_compute, boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_CORR_MATRIX_COMPUTE_ODV ),
"compute correlation matrix" )
268 SsOptionsValues::~SsOptionsValues()
272 SsOptionsValues::SsOptionsValues(
const SsOptionsValues& src)
278 SsOptionsValues::operator=(
const SsOptionsValues& rhs)
285 SsOptionsValues::defineOptions()
287 (*m_optionsDescription).add_options()
288 (m_option_help.c_str(),
"produce help message for chain statistical options" )
289 (m_option_initialDiscardedPortions.c_str(), boost::program_options::value<std::string >()->default_value(UQ_SEQUENCE_INITIAL_DISCARDED_PORTIONS_ODV ),
"list of initial discarded portions for chain statistics" )
290 #ifdef QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS
291 (m_option_mean_monitorPeriod.c_str(), boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_MEAN_MONITOR_PERIOD_ODV ),
"period for monitoring mean" )
292 (m_option_bmm_run.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_BMM_RUN_ODV ),
"compute variance of sample mean with batch means method" )
293 (m_option_bmm_lengths.c_str(), boost::program_options::value<std::string >()->default_value(UQ_SEQUENCE_BMM_LENGTHS_ODV ),
"list of batch lenghts for BMM" )
294 (m_option_fft_compute.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_FFT_COMPUTE_ODV ),
"compute fft" )
295 (m_option_fft_paramId.c_str(), boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_FFT_PARAM_ID_ODV ),
"parameter id for fft computations" )
296 (m_option_fft_size.c_str(), boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_FFT_SIZE_ODV ),
"fft size" )
297 (m_option_fft_testInversion.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_FFT_TEST_INVERSION_ODV ),
"test fft inversion" )
298 (m_option_fft_write.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_FFT_WRITE_ODV ),
"write fft" )
299 (m_option_psd_compute.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_PSD_COMPUTE_ODV ),
"compute psd" )
300 (m_option_psd_numBlocks.c_str(), boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_PSD_NUM_BLOCKS_ODV ),
"number of blocks for computation of psd" )
301 (m_option_psd_hopSizeRatio.c_str(), boost::program_options::value<double >()->default_value(UQ_SEQUENCE_PSD_HOP_SIZE_RATIO_ODV ),
"hop size ratio for psd" )
302 (m_option_psd_paramId.c_str(), boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_PSD_PARAM_ID_ODV ),
"parameter id for psd computations" )
303 (m_option_psd_write.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_PSD_WRITE_ODV ),
"write psd" )
304 (m_option_psdAtZero_compute.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_PSD_AT_ZERO_COMPUTE_ODV ),
"compute power spectral densities" )
305 (m_option_psdAtZero_numBlocks.c_str(), boost::program_options::value<std::string >()->default_value(UQ_SEQUENCE_PSD_AT_ZERO_NUM_BLOCKS_ODV ),
"list of numbers of blocks for computation of psd at zero" )
306 (m_option_psdAtZero_hopSizeRatio.c_str(), boost::program_options::value<double >()->default_value(UQ_SEQUENCE_PSD_AT_ZERO_HOP_SIZE_RATIO_ODV ),
"hop size ratio for psd at zero" )
307 (m_option_psdAtZero_display.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_PSD_AT_ZERO_DISPLAY_ODV ),
"display computed psd at frequency zero on screen" )
308 (m_option_psdAtZero_write.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_PSD_AT_ZERO_WRITE_ODV ),
"write computed psd at frequency zero to the output file" )
309 (m_option_geweke_compute.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_GEWEKE_COMPUTE_ODV ),
"compute Geweke coefficients" )
310 (m_option_geweke_naRatio.c_str(), boost::program_options::value<double >()->default_value(UQ_SEQUENCE_GEWEKE_NA_RATIO_ODV ),
"ratio NA for Geweke" )
311 (m_option_geweke_nbRatio.c_str(), boost::program_options::value<double >()->default_value(UQ_SEQUENCE_GEWEKE_NB_RATIO_ODV ),
"ratio NB for Geweke" )
312 (m_option_geweke_display.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_GEWEKE_DISPLAY_ODV ),
"display computed Geweke on screen" )
313 (m_option_geweke_write.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_GEWEKE_WRITE_ODV ),
"write computed Geweke to the output file" )
314 (m_option_meanStacc_compute.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_MEAN_STACC_COMPUTE_ODV ),
"compute statistical accuracy of mean" )
315 (m_option_hist_compute.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_HIST_COMPUTE_ODV ),
"compute histograms" )
316 (m_option_hist_numInternalBins.c_str(), boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_HIST_NUM_INTERNAL_BINS_ODV ),
"number of internal bins" )
317 (m_option_cdfStacc_compute.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_CDF_STACC_COMPUTE_ODV ),
"compute statisical accuracy of cdf" )
318 (m_option_cdfStacc_numEvalPositions.c_str(), boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_CDF_STACC_NUM_EVAL_POSITIONS_ODV ),
"number of evaluations points for statistical accuracy of cdf" )
320 (m_option_autoCorr_computeViaDef.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_AUTO_CORR_COMPUTE_VIA_DEF_ODV ),
"compute correlations via definition" )
321 (m_option_autoCorr_computeViaFft.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_AUTO_CORR_COMPUTE_VIA_FFT_ODV ),
"compute correlations via fft" )
322 (m_option_autoCorr_secondLag.c_str(), boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_AUTO_CORR_SECOND_LAG_ODV ),
"second lag for computation of autocorrelations" )
323 (m_option_autoCorr_lagSpacing.c_str(), boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_AUTO_CORR_LAG_SPACING_ODV ),
"lag spacing for computation of autocorrelations" )
324 (m_option_autoCorr_numLags.c_str(), boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_AUTO_CORR_NUM_LAGS_ODV ),
"number of lags for computation of autocorrelations" )
325 (m_option_autoCorr_display.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_AUTO_CORR_DISPLAY_ODV ),
"display computed autocorrelations on the screen" )
326 (m_option_autoCorr_write.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_AUTO_CORR_WRITE_ODV ),
"write computed autocorrelations to the output file" )
327 (m_option_kde_compute.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_KDE_COMPUTE_ODV ),
"compute kernel density estimators" )
328 (m_option_kde_numEvalPositions.c_str(), boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_KDE_NUM_EVAL_POSITIONS_ODV ),
"number of evaluation positions" )
329 (m_option_covMatrix_compute.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_COV_MATRIX_COMPUTE_ODV ),
"compute covariance matrix" )
330 (m_option_corrMatrix_compute.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_CORR_MATRIX_COMPUTE_ODV ),
"compute correlation matrix" )
335 SsOptionsValues::getOptionValues()
337 if ((*m_optionsMap).count(m_option_help)) {
338 if (m_env->subDisplayFile()) {
339 *m_env->subDisplayFile() << (*m_optionsDescription)
344 if ((*m_optionsMap).count(m_option_initialDiscardedPortions)) {
345 m_initialDiscardedPortions.clear();
346 std::vector<double> tmpPortions(0,0.);
347 std::string inputString = (*m_optionsMap)[m_option_initialDiscardedPortions].as<std::string>();
357 if (tmpPortions.size() > 0) {
358 m_initialDiscardedPortions.resize(tmpPortions.size(),0.);
359 for (
unsigned int i = 0; i < m_initialDiscardedPortions.size(); ++i) {
360 m_initialDiscardedPortions[i] = tmpPortions[i];
365 #ifdef QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS
366 if ((*m_optionsMap).count(m_option_mean_monitorPeriod)) {
367 m_meanMonitorPeriod = (*m_optionsMap)[m_option_mean_monitorPeriod].as<
unsigned int>();
370 if ((*m_optionsMap).count(m_option_bmm_run)) {
371 m_bmmRun = (*m_optionsMap)[m_option_bmm_run].as<
bool>();
374 if ((*m_optionsMap).count(m_option_bmm_lengths)) {
375 m_bmmLengths.clear();
376 std::vector<double> tmpLengths(0,0.);
377 std::string inputString = (*m_optionsMap)[m_option_bmm_lengths].as<std::string>();
387 if (tmpLengths.size() > 0) {
388 m_bmmLengths.resize(tmpLengths.size(),0);
389 for (
unsigned int i = 0; i < m_bmmLengths.size(); ++i) {
390 m_bmmLengths[i] = (
unsigned int) tmpLengths[i];
395 if ((*m_optionsMap).count(m_option_fft_compute)) {
396 m_fftCompute = (*m_optionsMap)[m_option_fft_compute].as<
bool>();
399 if ((*m_optionsMap).count(m_option_fft_paramId)) {
400 m_fftParamId = (*m_optionsMap)[m_option_fft_paramId].as<
unsigned int>();
403 if ((*m_optionsMap).count(m_option_fft_size)) {
404 m_fftSize = (*m_optionsMap)[m_option_fft_size].as<
unsigned int>();
407 if ((*m_optionsMap).count(m_option_fft_testInversion)) {
408 m_fftTestInversion = (*m_optionsMap)[m_option_fft_testInversion].as<
bool>();
411 if ((*m_optionsMap).count(m_option_fft_write)) {
412 m_fftWrite = (*m_optionsMap)[m_option_fft_write].as<
bool>();
415 if ((*m_optionsMap).count(m_option_psd_compute)) {
416 m_psdCompute = (*m_optionsMap)[m_option_psd_compute].as<
bool>();
419 if ((*m_optionsMap).count(m_option_psd_numBlocks)) {
420 m_psdNumBlocks = (*m_optionsMap)[m_option_psd_numBlocks].as<
unsigned int>();
423 if ((*m_optionsMap).count(m_option_psd_hopSizeRatio)) {
424 m_psdHopSizeRatio = (*m_optionsMap)[m_option_psd_hopSizeRatio].as<
double>();
427 if ((*m_optionsMap).count(m_option_psd_paramId)) {
428 m_psdParamId = (*m_optionsMap)[m_option_psd_paramId].as<
unsigned int>();
431 if ((*m_optionsMap).count(m_option_psd_write)) {
432 m_psdWrite = (*m_optionsMap)[m_option_psd_write].as<
bool>();
435 if ((*m_optionsMap).count(m_option_psdAtZero_compute)) {
436 m_psdAtZeroCompute = (*m_optionsMap)[m_option_psdAtZero_compute].as<
bool>();
439 if ((*m_optionsMap).count(m_option_psdAtZero_numBlocks)) {
440 m_psdAtZeroNumBlocks.clear();
441 std::vector<double> tmpNumBlocks(0,0.);
442 std::string inputString = (*m_optionsMap)[m_option_psdAtZero_numBlocks].as<std::string>();
452 if (tmpNumBlocks.size() > 0) {
453 m_psdAtZeroNumBlocks.resize(tmpNumBlocks.size(),0);
454 for (
unsigned int i = 0; i < m_psdAtZeroNumBlocks.size(); ++i) {
455 m_psdAtZeroNumBlocks[i] = (
unsigned int) tmpNumBlocks[i];
460 if ((*m_optionsMap).count(m_option_psdAtZero_hopSizeRatio)) {
461 m_psdAtZeroHopSizeRatio = (*m_optionsMap)[m_option_psdAtZero_hopSizeRatio].as<
double>();
464 if ((*m_optionsMap).count(m_option_psdAtZero_display)) {
465 m_psdAtZeroDisplay = (*m_optionsMap)[m_option_psdAtZero_display].as<
bool>();
468 if ((*m_optionsMap).count(m_option_psdAtZero_write)) {
469 m_psdAtZeroWrite = (*m_optionsMap)[m_option_psdAtZero_write].as<
bool>();
472 if ((*m_optionsMap).count(m_option_geweke_compute)) {
473 m_gewekeCompute = (*m_optionsMap)[m_option_geweke_compute].as<
bool>();
476 if ((*m_optionsMap).count(m_option_geweke_naRatio)) {
477 m_gewekeNaRatio = (*m_optionsMap)[m_option_geweke_naRatio].as<
double>();
480 if ((*m_optionsMap).count(m_option_geweke_nbRatio)) {
481 m_gewekeNbRatio = (*m_optionsMap)[m_option_geweke_nbRatio].as<
double>();
484 if ((*m_optionsMap).count(m_option_geweke_display)) {
485 m_gewekeDisplay = (*m_optionsMap)[m_option_geweke_display].as<
bool>();
488 if ((*m_optionsMap).count(m_option_geweke_write)) {
489 m_gewekeWrite = (*m_optionsMap)[m_option_geweke_write].as<
bool>();
492 if ((*m_optionsMap).count(m_option_meanStacc_compute)) {
493 m_meanStaccCompute = (*m_optionsMap)[m_option_meanStacc_compute].as<
bool>();
496 if ((*m_optionsMap).count(m_option_hist_compute)) {
497 m_histCompute = (*m_optionsMap)[m_option_hist_compute].as<
bool>();
500 if ((*m_optionsMap).count(m_option_hist_numInternalBins)) {
501 m_histNumInternalBins = (*m_optionsMap)[m_option_hist_numInternalBins].as<
unsigned int>();
504 if ((*m_optionsMap).count(m_option_cdfStacc_compute)) {
505 m_cdfStaccCompute = (*m_optionsMap)[m_option_cdfStacc_compute].as<
bool>();
508 if ((*m_optionsMap).count(m_option_cdfStacc_numEvalPositions)) {
509 m_cdfStaccNumEvalPositions = (*m_optionsMap)[m_option_cdfStacc_numEvalPositions].as<
unsigned int>();
512 if ((*m_optionsMap).count(m_option_autoCorr_computeViaDef)) {
513 m_autoCorrComputeViaDef = (*m_optionsMap)[m_option_autoCorr_computeViaDef].as<
bool>();
516 if ((*m_optionsMap).count(m_option_autoCorr_computeViaFft)) {
517 m_autoCorrComputeViaFft = (*m_optionsMap)[m_option_autoCorr_computeViaFft].as<
bool>();
520 if ((*m_optionsMap).count(m_option_autoCorr_secondLag)) {
521 m_autoCorrSecondLag = (*m_optionsMap)[m_option_autoCorr_secondLag].as<
unsigned int>();
524 if ((*m_optionsMap).count(m_option_autoCorr_lagSpacing)) {
525 m_autoCorrLagSpacing = (*m_optionsMap)[m_option_autoCorr_lagSpacing].as<
unsigned int>();
528 if ((*m_optionsMap).count(m_option_autoCorr_numLags)) {
529 m_autoCorrNumLags = (*m_optionsMap)[m_option_autoCorr_numLags].as<
unsigned int>();
532 if ((*m_optionsMap).count(m_option_autoCorr_display)) {
533 m_autoCorrDisplay = (*m_optionsMap)[m_option_autoCorr_display].as<
bool>();
536 if ((*m_optionsMap).count(m_option_autoCorr_write)) {
537 m_autoCorrWrite = (*m_optionsMap)[m_option_autoCorr_write].as<
bool>();
540 if ((*m_optionsMap).count(m_option_kde_compute)) {
541 m_kdeCompute = (*m_optionsMap)[m_option_kde_compute].as<
bool>();
544 if ((*m_optionsMap).count(m_option_kde_numEvalPositions)) {
545 m_kdeNumEvalPositions = (*m_optionsMap)[m_option_kde_numEvalPositions].as<
unsigned int>();
548 if ((*m_optionsMap).count(m_option_covMatrix_compute)) {
549 m_covMatrixCompute = (*m_optionsMap)[m_option_covMatrix_compute].as<
bool>();
552 if ((*m_optionsMap).count(m_option_corrMatrix_compute)) {
553 m_corrMatrixCompute = (*m_optionsMap)[m_option_corrMatrix_compute].as<
bool>();
560 m_initialDiscardedPortions = src.m_initialDiscardedPortions;
561 #ifdef QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS
562 m_meanMonitorPeriod = src.m_meanMonitorPeriod;
563 m_bmmRun = src.m_bmmRun;
564 m_bmmLengths = src.m_bmmLengths;
565 m_fftCompute = src.m_fftCompute;
566 m_fftParamId = src.m_fftParamId;
567 m_fftSize = src.m_fftSize;
568 m_fftTestInversion = src.m_fftTestInversion;
569 m_fftWrite = src.m_fftWrite;
570 m_psdCompute = src.m_psdCompute;
571 m_psdNumBlocks = src.m_psdNumBlocks;
572 m_psdHopSizeRatio = src.m_psdHopSizeRatio;
573 m_psdParamId = src.m_psdParamId;
574 m_psdWrite = src.m_psdWrite;
575 m_psdAtZeroCompute = src.m_psdAtZeroCompute;
576 m_psdAtZeroNumBlocks = src.m_psdAtZeroNumBlocks;
577 m_psdAtZeroHopSizeRatio = src.m_psdAtZeroHopSizeRatio;
578 m_psdAtZeroDisplay = src.m_psdAtZeroDisplay;
579 m_psdAtZeroWrite = src.m_psdAtZeroWrite;
580 m_gewekeCompute = src.m_gewekeCompute;
581 m_gewekeNaRatio = src.m_gewekeNaRatio;
582 m_gewekeNbRatio = src.m_gewekeNbRatio;
583 m_gewekeDisplay = src.m_gewekeDisplay;
584 m_gewekeWrite = src.m_gewekeWrite;
585 m_meanStaccCompute = src.m_meanStaccCompute;
586 m_histCompute = src.m_histCompute;
587 m_histNumInternalBins = src.m_histNumInternalBins;
588 m_cdfStaccCompute = src.m_cdfStaccCompute;
589 m_cdfStaccNumEvalPositions = src.m_cdfStaccNumEvalPositions;
591 m_autoCorrComputeViaDef = src.m_autoCorrComputeViaDef;
592 m_autoCorrComputeViaFft = src.m_autoCorrComputeViaFft;
593 m_autoCorrSecondLag = src.m_autoCorrSecondLag;
594 m_autoCorrLagSpacing = src.m_autoCorrLagSpacing;
595 m_autoCorrNumLags = src.m_autoCorrNumLags;
596 m_autoCorrDisplay = src.m_autoCorrDisplay;
597 m_autoCorrWrite = src.m_autoCorrWrite;
598 m_kdeCompute = src.m_kdeCompute;
599 m_kdeNumEvalPositions = src.m_kdeNumEvalPositions;
600 m_covMatrixCompute = src.m_covMatrixCompute;
601 m_corrMatrixCompute = src.m_corrMatrixCompute;
606 SequenceStatisticalOptions::SequenceStatisticalOptions(
const BaseEnvironment& env,
const std::string& prefix)
611 m_prefix ((std::string)(prefix) +
"stats_"),
613 m_optionsDesc (new boost::program_options::options_description(
"Chain statistical options")),
614 m_option_help (m_prefix +
"help" ),
615 m_option_initialDiscardedPortions (m_prefix +
"initialDiscardedPortions" ),
616 #ifdef QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS
617 m_option_mean_monitorPeriod (m_prefix +
"mean_monitorPeriod" ),
618 m_option_bmm_run (m_prefix +
"bmm_run" ),
619 m_option_bmm_lengths (m_prefix +
"bmm_lengths" ),
620 m_option_bmm_display (m_prefix +
"bmm_display" ),
621 m_option_bmm_write (m_prefix +
"bmm_write" ),
622 m_option_fft_compute (m_prefix +
"fft_compute" ),
623 m_option_fft_paramId (m_prefix +
"fft_paramId" ),
624 m_option_fft_size (m_prefix +
"fft_size" ),
625 m_option_fft_testInversion (m_prefix +
"fft_testInversion" ),
626 m_option_fft_write (m_prefix +
"fft_write" ),
627 m_option_psd_compute (m_prefix +
"psd_compute" ),
628 m_option_psd_numBlocks (m_prefix +
"psd_numBlocks" ),
629 m_option_psd_hopSizeRatio (m_prefix +
"psd_hopSizeRatio" ),
630 m_option_psd_paramId (m_prefix +
"psd_paramId" ),
631 m_option_psd_write (m_prefix +
"psd_write" ),
632 m_option_psdAtZero_compute (m_prefix +
"psdAtZero_compute" ),
633 m_option_psdAtZero_numBlocks (m_prefix +
"psdAtZero_numBlocks" ),
634 m_option_psdAtZero_hopSizeRatio (m_prefix +
"psdAtZero_hopSizeRatio" ),
635 m_option_psdAtZero_display (m_prefix +
"psdAtZero_display" ),
636 m_option_psdAtZero_write (m_prefix +
"psdAtZero_write" ),
637 m_option_geweke_compute (m_prefix +
"geweke_compute" ),
638 m_option_geweke_naRatio (m_prefix +
"geweke_naRatio" ),
639 m_option_geweke_nbRatio (m_prefix +
"geweke_nbRatio" ),
640 m_option_geweke_display (m_prefix +
"geweke_display" ),
641 m_option_geweke_write (m_prefix +
"geweke_write" ),
642 m_option_meanStacc_compute (m_prefix +
"meanStacc_compute" ),
643 m_option_hist_compute (m_prefix +
"hist_compute" ),
644 m_option_hist_numInternalBins (m_prefix +
"hist_numInternalBins" ),
645 m_option_cdfStacc_compute (m_prefix +
"cdfStacc_compute" ),
646 m_option_cdfStacc_numEvalPositions(m_prefix +
"cdfStacc_numEvalPositions"),
648 m_option_autoCorr_computeViaDef (m_prefix +
"autoCorr_computeViaDef" ),
649 m_option_autoCorr_computeViaFft (m_prefix +
"autoCorr_computeViaFft" ),
650 m_option_autoCorr_secondLag (m_prefix +
"autoCorr_secondLag" ),
651 m_option_autoCorr_lagSpacing (m_prefix +
"autoCorr_lagSpacing" ),
652 m_option_autoCorr_numLags (m_prefix +
"autoCorr_numLags" ),
653 m_option_autoCorr_display (m_prefix +
"autoCorr_display" ),
654 m_option_autoCorr_write (m_prefix +
"autoCorr_write" ),
655 m_option_kde_compute (m_prefix +
"kde_compute" ),
656 m_option_kde_numEvalPositions (m_prefix +
"kde_numEvalPositions" ),
657 m_option_covMatrix_compute (m_prefix +
"covMatrix_compute" ),
658 m_option_corrMatrix_compute (m_prefix +
"corrMatrix_compute" )
664 <<
", prefix = " << m_prefix
670 defineMyOptions (*m_optionsDesc);
672 getMyOptionValues (*m_optionsDesc);
676 <<
"', state of SequenceStatisticalOptions object is:"
683 <<
", prefix = " << m_prefix
688 SequenceStatisticalOptions::SequenceStatisticalOptions(
const BaseEnvironment& env,
const std::string& prefix,
691 const SsOptionsValues& alternativeOptionsValues)
693 m_ov (alternativeOptionsValues),
694 m_prefix ((std::string)(prefix) +
"stats_"),
696 m_optionsDesc (NULL),
697 m_option_help (m_prefix +
"help" ),
698 m_option_initialDiscardedPortions (m_prefix +
"initialDiscardedPortions" ),
699 #ifdef QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS
700 m_option_mean_monitorPeriod (m_prefix +
"mean_monitorPeriod" ),
701 m_option_bmm_run (m_prefix +
"bmm_run" ),
702 m_option_bmm_lengths (m_prefix +
"bmm_lengths" ),
703 m_option_bmm_display (m_prefix +
"bmm_display" ),
704 m_option_bmm_write (m_prefix +
"bmm_write" ),
705 m_option_fft_compute (m_prefix +
"fft_compute" ),
706 m_option_fft_paramId (m_prefix +
"fft_paramId" ),
707 m_option_fft_size (m_prefix +
"fft_size" ),
708 m_option_fft_testInversion (m_prefix +
"fft_testInversion" ),
709 m_option_fft_write (m_prefix +
"fft_write" ),
710 m_option_psd_compute (m_prefix +
"psd_compute" ),
711 m_option_psd_numBlocks (m_prefix +
"psd_numBlocks" ),
712 m_option_psd_hopSizeRatio (m_prefix +
"psd_hopSizeRatio" ),
713 m_option_psd_paramId (m_prefix +
"psd_paramId" ),
714 m_option_psd_write (m_prefix +
"psd_write" ),
715 m_option_psdAtZero_compute (m_prefix +
"psdAtZero_compute" ),
716 m_option_psdAtZero_numBlocks (m_prefix +
"psdAtZero_numBlocks" ),
717 m_option_psdAtZero_hopSizeRatio (m_prefix +
"psdAtZero_hopSizeRatio" ),
718 m_option_psdAtZero_display (m_prefix +
"psdAtZero_display" ),
719 m_option_psdAtZero_write (m_prefix +
"psdAtZero_write" ),
720 m_option_geweke_compute (m_prefix +
"geweke_compute" ),
721 m_option_geweke_naRatio (m_prefix +
"geweke_naRatio" ),
722 m_option_geweke_nbRatio (m_prefix +
"geweke_nbRatio" ),
723 m_option_geweke_display (m_prefix +
"geweke_display" ),
724 m_option_geweke_write (m_prefix +
"geweke_write" ),
725 m_option_meanStacc_compute (m_prefix +
"meanStacc_compute" ),
726 m_option_hist_compute (m_prefix +
"hist_compute" ),
727 m_option_hist_numInternalBins (m_prefix +
"hist_numInternalBins" ),
728 m_option_cdfStacc_compute (m_prefix +
"cdfStacc_compute" ),
729 m_option_cdfStacc_numEvalPositions(m_prefix +
"cdfStacc_numEvalPositions"),
731 m_option_autoCorr_computeViaDef (m_prefix +
"autoCorr_computeViaDef" ),
732 m_option_autoCorr_computeViaFft (m_prefix +
"autoCorr_computeViaFft" ),
733 m_option_autoCorr_secondLag (m_prefix +
"autoCorr_secondLag" ),
734 m_option_autoCorr_lagSpacing (m_prefix +
"autoCorr_lagSpacing" ),
735 m_option_autoCorr_numLags (m_prefix +
"autoCorr_numLags" ),
736 m_option_autoCorr_display (m_prefix +
"autoCorr_display" ),
737 m_option_autoCorr_write (m_prefix +
"autoCorr_write" ),
738 m_option_kde_compute (m_prefix +
"kde_compute" ),
739 m_option_kde_numEvalPositions (m_prefix +
"kde_numEvalPositions" ),
740 m_option_covMatrix_compute (m_prefix +
"covMatrix_compute" ),
741 m_option_corrMatrix_compute (m_prefix +
"corrMatrix_compute" )
747 <<
", prefix = " << m_prefix
755 <<
"', state of SequenceStatisticalOptions object is:"
762 <<
", prefix = " << m_prefix
767 SequenceStatisticalOptions::~SequenceStatisticalOptions()
771 if (m_optionsDesc)
delete m_optionsDesc;
775 SequenceStatisticalOptions::defineMyOptions(
776 boost::program_options::options_description& optionsDesc)
const
780 optionsDesc.add_options()
781 (m_option_help.c_str(),
"produce help message for chain statistical options" )
782 (m_option_initialDiscardedPortions.c_str(), boost::program_options::value<std::string >()->default_value(UQ_SEQUENCE_INITIAL_DISCARDED_PORTIONS_ODV ),
"list of initial discarded portions for chain statistics" )
783 #ifdef QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS
784 (m_option_mean_monitorPeriod.c_str(), boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_MEAN_MONITOR_PERIOD_ODV ),
"period for monitoring mean" )
785 (m_option_bmm_run.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_BMM_RUN_ODV ),
"compute variance of sample mean with batch means method" )
786 (m_option_bmm_lengths.c_str(), boost::program_options::value<std::string >()->default_value(UQ_SEQUENCE_BMM_LENGTHS_ODV ),
"list of batch lenghts for BMM" )
787 (m_option_fft_compute.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_FFT_COMPUTE_ODV ),
"compute fft" )
788 (m_option_fft_paramId.c_str(), boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_FFT_PARAM_ID_ODV ),
"parameter id for fft computations" )
789 (m_option_fft_size.c_str(), boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_FFT_SIZE_ODV ),
"fft size" )
790 (m_option_fft_testInversion.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_FFT_TEST_INVERSION_ODV ),
"test fft inversion" )
791 (m_option_fft_write.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_FFT_WRITE_ODV ),
"write fft" )
792 (m_option_psd_compute.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_PSD_COMPUTE_ODV ),
"compute psd" )
793 (m_option_psd_numBlocks.c_str(), boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_PSD_NUM_BLOCKS_ODV ),
"number of blocks for computation of psd" )
794 (m_option_psd_hopSizeRatio.c_str(), boost::program_options::value<double >()->default_value(UQ_SEQUENCE_PSD_HOP_SIZE_RATIO_ODV ),
"hop size ratio for psd" )
795 (m_option_psd_paramId.c_str(), boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_PSD_PARAM_ID_ODV ),
"parameter id for psd computations" )
796 (m_option_psd_write.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_PSD_WRITE_ODV ),
"write psd" )
797 (m_option_psdAtZero_compute.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_PSD_AT_ZERO_COMPUTE_ODV ),
"compute power spectral densities" )
798 (m_option_psdAtZero_numBlocks.c_str(), boost::program_options::value<std::string >()->default_value(UQ_SEQUENCE_PSD_AT_ZERO_NUM_BLOCKS_ODV ),
"list of numbers of blocks for computation of psd at zero" )
799 (m_option_psdAtZero_hopSizeRatio.c_str(), boost::program_options::value<double >()->default_value(UQ_SEQUENCE_PSD_AT_ZERO_HOP_SIZE_RATIO_ODV ),
"hop size ratio for psd at zero" )
800 (m_option_psdAtZero_display.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_PSD_AT_ZERO_DISPLAY_ODV ),
"display computed psd at frequency zero on screen" )
801 (m_option_psdAtZero_write.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_PSD_AT_ZERO_WRITE_ODV ),
"write computed psd at frequency zero to the output file" )
802 (m_option_geweke_compute.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_GEWEKE_COMPUTE_ODV ),
"compute Geweke coefficients" )
803 (m_option_geweke_naRatio.c_str(), boost::program_options::value<double >()->default_value(UQ_SEQUENCE_GEWEKE_NA_RATIO_ODV ),
"ratio NA for Geweke" )
804 (m_option_geweke_nbRatio.c_str(), boost::program_options::value<double >()->default_value(UQ_SEQUENCE_GEWEKE_NB_RATIO_ODV ),
"ratio NB for Geweke" )
805 (m_option_geweke_display.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_GEWEKE_DISPLAY_ODV ),
"display computed Geweke on screen" )
806 (m_option_geweke_write.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_GEWEKE_WRITE_ODV ),
"write computed Geweke to the output file" )
807 (m_option_meanStacc_compute.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_MEAN_STACC_COMPUTE_ODV ),
"compute statistical accuracy of mean" )
808 (m_option_hist_compute.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_HIST_COMPUTE_ODV ),
"compute histograms" )
809 (m_option_hist_numInternalBins.c_str(), boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_HIST_NUM_INTERNAL_BINS_ODV ),
"number of internal bins" )
810 (m_option_cdfStacc_compute.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_CDF_STACC_COMPUTE_ODV ),
"compute statisical accuracy of cdf" )
811 (m_option_cdfStacc_numEvalPositions.c_str(), boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_CDF_STACC_NUM_EVAL_POSITIONS_ODV ),
"number of evaluations points for statistical accuracy of cdf" )
813 (m_option_autoCorr_computeViaDef.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_AUTO_CORR_COMPUTE_VIA_DEF_ODV ),
"compute correlations via definition" )
814 (m_option_autoCorr_computeViaFft.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_AUTO_CORR_COMPUTE_VIA_FFT_ODV ),
"compute correlations via fft" )
815 (m_option_autoCorr_secondLag.c_str(), boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_AUTO_CORR_SECOND_LAG_ODV ),
"second lag for computation of autocorrelations" )
816 (m_option_autoCorr_lagSpacing.c_str(), boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_AUTO_CORR_LAG_SPACING_ODV ),
"lag spacing for computation of autocorrelations" )
817 (m_option_autoCorr_numLags.c_str(), boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_AUTO_CORR_NUM_LAGS_ODV ),
"number of lags for computation of autocorrelations" )
818 (m_option_autoCorr_display.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_AUTO_CORR_DISPLAY_ODV ),
"display computed autocorrelations on the screen" )
819 (m_option_autoCorr_write.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_AUTO_CORR_WRITE_ODV ),
"write computed autocorrelations to the output file" )
820 (m_option_kde_compute.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_KDE_COMPUTE_ODV ),
"compute kernel density estimators" )
821 (m_option_kde_numEvalPositions.c_str(), boost::program_options::value<unsigned int>()->default_value(UQ_SEQUENCE_KDE_NUM_EVAL_POSITIONS_ODV ),
"number of evaluation positions" )
822 (m_option_covMatrix_compute.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_COV_MATRIX_COMPUTE_ODV ),
"compute covariance matrix" )
823 (m_option_corrMatrix_compute.c_str(), boost::program_options::value<bool >()->default_value(UQ_SEQUENCE_CORR_MATRIX_COMPUTE_ODV ),
"compute correlation matrix" )
830 SequenceStatisticalOptions::getMyOptionValues(
831 boost::program_options::options_description& optionsDesc)
835 if (m_env.allOptionsMap().count(m_option_help)) {
836 if (m_env.subDisplayFile()) {
837 *m_env.subDisplayFile() << optionsDesc
842 if (m_env.allOptionsMap().count(m_option_initialDiscardedPortions)) {
843 m_ov.m_initialDiscardedPortions.clear();
844 std::vector<double> tmpPortions(0,0.);
845 std::string inputString = m_env.allOptionsMap()[m_option_initialDiscardedPortions].as<std::string>();
855 if (tmpPortions.size() > 0) {
856 m_ov.m_initialDiscardedPortions.resize(tmpPortions.size(),0.);
857 for (
unsigned int i = 0; i < m_ov.m_initialDiscardedPortions.size(); ++i) {
858 m_ov.m_initialDiscardedPortions[i] = tmpPortions[i];
863 #ifdef QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS
864 if (m_env.allOptionsMap().count(m_option_mean_monitorPeriod)) {
865 m_ov.m_meanMonitorPeriod = m_env.allOptionsMap()[m_option_mean_monitorPeriod].as<
unsigned int>();
868 if (m_env.allOptionsMap().count(m_option_bmm_run)) {
869 m_ov.m_bmmRun = m_env.allOptionsMap()[m_option_bmm_run].as<
bool>();
872 if (m_env.allOptionsMap().count(m_option_bmm_lengths)) {
873 m_ov.m_bmmLengths.clear();
874 std::vector<double> tmpLengths(0,0.);
875 std::string inputString = m_env.allOptionsMap()[m_option_bmm_lengths].as<std::string>();
885 if (tmpLengths.size() > 0) {
886 m_ov.m_bmmLengths.resize(tmpLengths.size(),0);
887 for (
unsigned int i = 0; i < m_ov.m_bmmLengths.size(); ++i) {
888 m_ov.m_bmmLengths[i] = (
unsigned int) tmpLengths[i];
893 if (m_env.allOptionsMap().count(m_option_fft_compute)) {
894 m_ov.m_fftCompute = m_env.allOptionsMap()[m_option_fft_compute].as<
bool>();
897 if (m_env.allOptionsMap().count(m_option_fft_paramId)) {
898 m_ov.m_fftParamId = m_env.allOptionsMap()[m_option_fft_paramId].as<
unsigned int>();
901 if (m_env.allOptionsMap().count(m_option_fft_size)) {
902 m_ov.m_fftSize = m_env.allOptionsMap()[m_option_fft_size].as<
unsigned int>();
905 if (m_env.allOptionsMap().count(m_option_fft_testInversion)) {
906 m_ov.m_fftTestInversion = m_env.allOptionsMap()[m_option_fft_testInversion].as<
bool>();
909 if (m_env.allOptionsMap().count(m_option_fft_write)) {
910 m_ov.m_fftWrite = m_env.allOptionsMap()[m_option_fft_write].as<
bool>();
913 if (m_env.allOptionsMap().count(m_option_psd_compute)) {
914 m_ov.m_psdCompute = m_env.allOptionsMap()[m_option_psd_compute].as<
bool>();
917 if (m_env.allOptionsMap().count(m_option_psd_numBlocks)) {
918 m_ov.m_psdNumBlocks = m_env.allOptionsMap()[m_option_psd_numBlocks].as<
unsigned int>();
921 if (m_env.allOptionsMap().count(m_option_psd_hopSizeRatio)) {
922 m_ov.m_psdHopSizeRatio = m_env.allOptionsMap()[m_option_psd_hopSizeRatio].as<
double>();
925 if (m_env.allOptionsMap().count(m_option_psd_paramId)) {
926 m_ov.m_psdParamId = m_env.allOptionsMap()[m_option_psd_paramId].as<
unsigned int>();
929 if (m_env.allOptionsMap().count(m_option_psd_write)) {
930 m_ov.m_psdWrite = m_env.allOptionsMap()[m_option_psd_write].as<
bool>();
933 if (m_env.allOptionsMap().count(m_option_psdAtZero_compute)) {
934 m_ov.m_psdAtZeroCompute = m_env.allOptionsMap()[m_option_psdAtZero_compute].as<
bool>();
937 if (m_env.allOptionsMap().count(m_option_psdAtZero_numBlocks)) {
938 m_ov.m_psdAtZeroNumBlocks.clear();
939 std::vector<double> tmpNumBlocks(0,0.);
940 std::string inputString = m_env.allOptionsMap()[m_option_psdAtZero_numBlocks].as<std::string>();
950 if (tmpNumBlocks.size() > 0) {
951 m_ov.m_psdAtZeroNumBlocks.resize(tmpNumBlocks.size(),0);
952 for (
unsigned int i = 0; i < m_ov.m_psdAtZeroNumBlocks.size(); ++i) {
953 m_ov.m_psdAtZeroNumBlocks[i] = (
unsigned int) tmpNumBlocks[i];
958 if (m_env.allOptionsMap().count(m_option_psdAtZero_hopSizeRatio)) {
959 m_ov.m_psdAtZeroHopSizeRatio = m_env.allOptionsMap()[m_option_psdAtZero_hopSizeRatio].as<
double>();
962 if (m_env.allOptionsMap().count(m_option_psdAtZero_display)) {
963 m_ov.m_psdAtZeroDisplay = m_env.allOptionsMap()[m_option_psdAtZero_display].as<
bool>();
966 if (m_env.allOptionsMap().count(m_option_psdAtZero_write)) {
967 m_ov.m_psdAtZeroWrite = m_env.allOptionsMap()[m_option_psdAtZero_write].as<
bool>();
970 if (m_env.allOptionsMap().count(m_option_geweke_compute)) {
971 m_ov.m_gewekeCompute = m_env.allOptionsMap()[m_option_geweke_compute].as<
bool>();
974 if (m_env.allOptionsMap().count(m_option_geweke_naRatio)) {
975 m_ov.m_gewekeNaRatio = m_env.allOptionsMap()[m_option_geweke_naRatio].as<
double>();
978 if (m_env.allOptionsMap().count(m_option_geweke_nbRatio)) {
979 m_ov.m_gewekeNbRatio = m_env.allOptionsMap()[m_option_geweke_nbRatio].as<
double>();
982 if (m_env.allOptionsMap().count(m_option_geweke_display)) {
983 m_ov.m_gewekeDisplay = m_env.allOptionsMap()[m_option_geweke_display].as<
bool>();
986 if (m_env.allOptionsMap().count(m_option_geweke_write)) {
987 m_ov.m_gewekeWrite = m_env.allOptionsMap()[m_option_geweke_write].as<
bool>();
990 if (m_env.allOptionsMap().count(m_option_meanStacc_compute)) {
991 m_ov.m_meanStaccCompute = m_env.allOptionsMap()[m_option_meanStacc_compute].as<
bool>();
994 if (m_env.allOptionsMap().count(m_option_hist_compute)) {
995 m_ov.m_histCompute = m_env.allOptionsMap()[m_option_hist_compute].as<
bool>();
998 if (m_env.allOptionsMap().count(m_option_hist_numInternalBins)) {
999 m_ov.m_histNumInternalBins = m_env.allOptionsMap()[m_option_hist_numInternalBins].as<
unsigned int>();
1002 if (m_env.allOptionsMap().count(m_option_cdfStacc_compute)) {
1003 m_ov.m_cdfStaccCompute = m_env.allOptionsMap()[m_option_cdfStacc_compute].as<
bool>();
1006 if (m_env.allOptionsMap().count(m_option_cdfStacc_numEvalPositions)) {
1007 m_ov.m_cdfStaccNumEvalPositions = m_env.allOptionsMap()[m_option_cdfStacc_numEvalPositions].as<
unsigned int>();
1010 if (m_env.allOptionsMap().count(m_option_autoCorr_computeViaDef)) {
1011 m_ov.m_autoCorrComputeViaDef = m_env.allOptionsMap()[m_option_autoCorr_computeViaDef].as<
bool>();
1014 if (m_env.allOptionsMap().count(m_option_autoCorr_computeViaFft)) {
1015 m_ov.m_autoCorrComputeViaFft = m_env.allOptionsMap()[m_option_autoCorr_computeViaFft].as<
bool>();
1018 if (m_env.allOptionsMap().count(m_option_autoCorr_secondLag)) {
1019 m_ov.m_autoCorrSecondLag = m_env.allOptionsMap()[m_option_autoCorr_secondLag].as<
unsigned int>();
1022 if (m_env.allOptionsMap().count(m_option_autoCorr_lagSpacing)) {
1023 m_ov.m_autoCorrLagSpacing = m_env.allOptionsMap()[m_option_autoCorr_lagSpacing].as<
unsigned int>();
1026 if (m_env.allOptionsMap().count(m_option_autoCorr_numLags)) {
1027 m_ov.m_autoCorrNumLags = m_env.allOptionsMap()[m_option_autoCorr_numLags].as<
unsigned int>();
1030 if (m_env.allOptionsMap().count(m_option_autoCorr_display)) {
1031 m_ov.m_autoCorrDisplay = m_env.allOptionsMap()[m_option_autoCorr_display].as<
bool>();
1034 if (m_env.allOptionsMap().count(m_option_autoCorr_write)) {
1035 m_ov.m_autoCorrWrite = m_env.allOptionsMap()[m_option_autoCorr_write].as<
bool>();
1038 if (m_env.allOptionsMap().count(m_option_kde_compute)) {
1039 m_ov.m_kdeCompute = m_env.allOptionsMap()[m_option_kde_compute].as<
bool>();
1042 if (m_env.allOptionsMap().count(m_option_kde_numEvalPositions)) {
1043 m_ov.m_kdeNumEvalPositions = m_env.allOptionsMap()[m_option_kde_numEvalPositions].as<
unsigned int>();
1046 if (m_env.allOptionsMap().count(m_option_covMatrix_compute)) {
1047 m_ov.m_covMatrixCompute = m_env.allOptionsMap()[m_option_covMatrix_compute].as<
bool>();
1050 if (m_env.allOptionsMap().count(m_option_corrMatrix_compute)) {
1051 m_ov.m_corrMatrixCompute = m_env.allOptionsMap()[m_option_corrMatrix_compute].as<
bool>();
1057 const std::vector<double>&
1058 SequenceStatisticalOptions::initialDiscardedPortions()
const
1062 return m_ov.m_initialDiscardedPortions;
1065 #ifdef QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS
1067 SequenceStatisticalOptions::meanMonitorPeriod()
const
1071 return m_ov.m_meanMonitorPeriod;
1075 SequenceStatisticalOptions::bmmRun()
const
1079 return m_ov.m_bmmRun;
1082 const std::vector<unsigned int>&
1083 SequenceStatisticalOptions::bmmLengths()
const
1087 return m_ov.m_bmmLengths;
1091 SequenceStatisticalOptions::bmmDisplay()
const
1095 return m_ov.m_bmmDisplay;
1099 SequenceStatisticalOptions::bmmWrite()
const
1103 return m_ov.m_bmmWrite;
1107 SequenceStatisticalOptions::fftCompute()
const
1111 return m_ov.m_fftCompute;
1115 SequenceStatisticalOptions::fftParamId()
const
1119 return m_ov.m_fftParamId;
1123 SequenceStatisticalOptions::fftSize()
const
1127 return m_ov.m_fftSize;
1131 SequenceStatisticalOptions::fftTestInversion()
const
1135 return m_ov.m_fftTestInversion;
1139 SequenceStatisticalOptions::fftWrite()
const
1143 return m_ov.m_fftWrite;
1147 SequenceStatisticalOptions::psdCompute()
const
1151 return m_ov.m_psdCompute;
1155 SequenceStatisticalOptions::psdNumBlocks()
const
1159 return m_ov.m_psdNumBlocks;
1163 SequenceStatisticalOptions::psdHopSizeRatio()
const
1167 return m_ov.m_psdHopSizeRatio;
1171 SequenceStatisticalOptions::psdParamId()
const
1175 return m_ov.m_psdParamId;
1179 SequenceStatisticalOptions::psdWrite()
const
1183 return m_ov.m_psdWrite;
1187 SequenceStatisticalOptions::psdAtZeroCompute()
const
1191 return m_ov.m_psdAtZeroCompute;
1194 const std::vector<unsigned int>&
1195 SequenceStatisticalOptions::psdAtZeroNumBlocks()
const
1199 return m_ov.m_psdAtZeroNumBlocks;
1203 SequenceStatisticalOptions::psdAtZeroHopSizeRatio()
const
1207 return m_ov.m_psdAtZeroHopSizeRatio;
1211 SequenceStatisticalOptions::psdAtZeroDisplay()
const
1215 return m_ov.m_psdAtZeroDisplay;
1219 SequenceStatisticalOptions::psdAtZeroWrite()
const
1223 return m_ov.m_psdAtZeroWrite;
1227 SequenceStatisticalOptions::gewekeCompute()
const
1231 return m_ov.m_gewekeCompute;
1235 SequenceStatisticalOptions::gewekeNaRatio()
const
1239 return m_ov.m_gewekeNaRatio;
1243 SequenceStatisticalOptions::gewekeNbRatio()
const
1247 return m_ov.m_gewekeNbRatio;
1251 SequenceStatisticalOptions::gewekeDisplay()
const
1255 return m_ov.m_gewekeDisplay;
1259 SequenceStatisticalOptions::gewekeWrite()
const
1263 return m_ov.m_gewekeWrite;
1267 SequenceStatisticalOptions::meanStaccCompute()
const
1271 return m_ov.m_meanStaccCompute;
1275 SequenceStatisticalOptions::histCompute()
const
1279 return m_ov.m_histCompute;
1283 SequenceStatisticalOptions::histNumInternalBins()
const
1287 return m_ov.m_histNumInternalBins;
1291 SequenceStatisticalOptions::cdfStaccCompute()
const
1295 return m_ov.m_cdfStaccCompute;
1299 SequenceStatisticalOptions::cdfStaccNumEvalPositions()
const
1303 return m_ov.m_cdfStaccNumEvalPositions;
1307 SequenceStatisticalOptions::autoCorrComputeViaDef()
const
1311 return m_ov.m_autoCorrComputeViaDef;
1315 SequenceStatisticalOptions::autoCorrComputeViaFft()
const
1319 return m_ov.m_autoCorrComputeViaFft;
1323 SequenceStatisticalOptions::autoCorrSecondLag()
const
1327 return m_ov.m_autoCorrSecondLag;
1331 SequenceStatisticalOptions::autoCorrLagSpacing()
const
1335 return m_ov.m_autoCorrLagSpacing;
1339 SequenceStatisticalOptions::autoCorrNumLags()
const
1343 return m_ov.m_autoCorrNumLags;
1347 SequenceStatisticalOptions::autoCorrDisplay()
const
1351 return m_ov.m_autoCorrDisplay;
1355 SequenceStatisticalOptions::autoCorrWrite()
const
1359 return m_ov.m_autoCorrWrite;
1363 SequenceStatisticalOptions::kdeCompute()
const
1367 return m_ov.m_kdeCompute;
1371 SequenceStatisticalOptions::kdeNumEvalPositions()
const
1375 return m_ov.m_kdeNumEvalPositions;
1379 SequenceStatisticalOptions::covMatrixCompute()
const
1383 return m_ov.m_covMatrixCompute;
1387 SequenceStatisticalOptions::corrMatrixCompute()
const
1391 return m_ov.m_corrMatrixCompute;
1395 SequenceStatisticalOptions::print(std::ostream& os)
const
1399 os <<
"\n" << m_option_initialDiscardedPortions <<
" = ";
1400 for (
unsigned int i = 0; i < m_ov.m_initialDiscardedPortions.size(); ++i) {
1401 os << m_ov.m_initialDiscardedPortions[i] <<
" ";
1404 #ifdef QUESO_COMPUTES_EXTRA_POST_PROCESSING_STATISTICS
1405 <<
"\n" << m_option_mean_monitorPeriod <<
" = " << m_ov.m_meanMonitorPeriod
1406 <<
"\n" << m_option_bmm_run <<
" = " << m_ov.m_bmmRun
1407 <<
"\n" << m_option_bmm_lengths <<
" = ";
1408 for (
unsigned int i = 0; i < m_ov.m_bmmLengths.size(); ++i) {
1409 os << m_ov.m_bmmLengths[i] <<
" ";
1411 os <<
"\n" << m_option_fft_compute <<
" = " << m_ov.m_fftCompute
1412 <<
"\n" << m_option_fft_paramId <<
" = " << m_ov.m_fftParamId
1413 <<
"\n" << m_option_fft_size <<
" = " << m_ov.m_fftSize
1414 <<
"\n" << m_option_fft_testInversion <<
" = " << m_ov.m_fftTestInversion
1415 <<
"\n" << m_option_fft_write <<
" = " << m_ov.m_fftWrite
1416 <<
"\n" << m_option_psd_compute <<
" = " << m_ov.m_psdCompute
1417 <<
"\n" << m_option_psd_paramId <<
" = " << m_ov.m_psdParamId
1418 <<
"\n" << m_option_psd_numBlocks <<
" = " << m_ov.m_psdNumBlocks
1419 <<
"\n" << m_option_psd_hopSizeRatio <<
" = " << m_ov.m_psdHopSizeRatio
1420 <<
"\n" << m_option_psd_write <<
" = " << m_ov.m_psdWrite
1421 <<
"\n" << m_option_psdAtZero_compute <<
" = " << m_ov.m_psdAtZeroCompute
1422 <<
"\n" << m_option_psdAtZero_numBlocks <<
" = ";
1423 for (
unsigned int i = 0; i < m_ov.m_psdAtZeroNumBlocks.size(); ++i) {
1424 os << m_ov.m_psdAtZeroNumBlocks[i] <<
" ";
1426 os <<
"\n" << m_option_psdAtZero_hopSizeRatio <<
" = " << m_ov.m_psdAtZeroHopSizeRatio
1427 <<
"\n" << m_option_psdAtZero_display <<
" = " << m_ov.m_psdAtZeroDisplay
1428 <<
"\n" << m_option_psdAtZero_write <<
" = " << m_ov.m_psdAtZeroWrite
1429 <<
"\n" << m_option_geweke_compute <<
" = " << m_ov.m_gewekeCompute
1430 <<
"\n" << m_option_geweke_naRatio <<
" = " << m_ov.m_gewekeNaRatio
1431 <<
"\n" << m_option_geweke_nbRatio <<
" = " << m_ov.m_gewekeNbRatio
1432 <<
"\n" << m_option_geweke_display <<
" = " << m_ov.m_gewekeDisplay
1433 <<
"\n" << m_option_geweke_write <<
" = " << m_ov.m_gewekeWrite
1434 <<
"\n" << m_option_meanStacc_compute <<
" = " << m_ov.m_meanStaccCompute
1435 <<
"\n" << m_option_hist_compute <<
" = " << m_ov.m_histCompute
1436 <<
"\n" << m_option_hist_numInternalBins <<
" = " << m_ov.m_histNumInternalBins
1437 <<
"\n" << m_option_cdfStacc_compute <<
" = " << m_ov.m_cdfStaccCompute
1438 <<
"\n" << m_option_cdfStacc_numEvalPositions <<
" = " << m_ov.m_cdfStaccNumEvalPositions
1440 <<
"\n" << m_option_autoCorr_computeViaDef <<
" = " << m_ov.m_autoCorrComputeViaDef
1441 <<
"\n" << m_option_autoCorr_computeViaFft <<
" = " << m_ov.m_autoCorrComputeViaFft
1442 <<
"\n" << m_option_autoCorr_secondLag <<
" = " << m_ov.m_autoCorrSecondLag
1443 <<
"\n" << m_option_autoCorr_lagSpacing <<
" = " << m_ov.m_autoCorrLagSpacing
1444 <<
"\n" << m_option_autoCorr_numLags <<
" = " << m_ov.m_autoCorrNumLags
1445 <<
"\n" << m_option_autoCorr_display <<
" = " << m_ov.m_autoCorrDisplay
1446 <<
"\n" << m_option_autoCorr_write <<
" = " << m_ov.m_autoCorrWrite
1447 <<
"\n" << m_option_kde_compute <<
" = " << m_ov.m_kdeCompute
1448 <<
"\n" << m_option_kde_numEvalPositions <<
" = " << m_ov.m_kdeNumEvalPositions
1449 <<
"\n" << m_option_covMatrix_compute <<
" = " << m_ov.m_covMatrixCompute
1450 <<
"\n" << m_option_corrMatrix_compute <<
" = " << m_ov.m_corrMatrixCompute
1457 operator<<(std::ostream& os,
const SequenceStatisticalOptions& obj)
1468 #endif // ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
std::ofstream * subDisplayFile() const
Access function for m_subDisplayFile (displays file on stream).
std::ostream & operator<<(std::ostream &os, const BaseEnvironment &obj)
std::string optionsInputFileName() const
Access to the attribute m_optionsInputFileName, which stores the name of the input file passed by the...
and that you are informed that you can do these things To protect your we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it For if you distribute copies of the whether gratis or for a you must give the recipients all the rights that we gave you You must make sure that receive or can get the source code If you link other code with the you must provide complete object files to the so that they can relink them with the library after making changes to the library and recompiling it And you must show them these terms so they know their rights We protect your rights with a two step which gives you legal permission to copy
void MiscReadDoublesFromString(const std::string &inputString, std::vector< double > &outputDoubles)
#define queso_require_equal_to_msg(expr1, expr2, msg)
#define queso_deprecated()
void scanInputFileForMyOptions(const boost::program_options::options_description &optionsDesc) const
This method scans the input file provided by the user to QUESO.
#define queso_require_not_equal_to_msg(expr1, expr2, msg)
const BaseEnvironment & m_env