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