25 #ifndef DISABLE_BOOST_PROGRAM_OPTIONS
26 #include <boost/program_options.hpp>
27 #endif // DISABLE_BOOST_PROGRAM_OPTIONS
29 #include <queso/Environment.h>
30 #include <queso/MetropolisHastingsSGOptions.h>
31 #include <queso/Miscellaneous.h>
41 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
42 const SsOptionsValues* alternativeRawSsOptionsValues,
43 const SsOptionsValues* alternativeFilteredSsOptionsValues
69 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
70 m_rawChainComputeStats (UQ_MH_SG_RAW_CHAIN_COMPUTE_STATS_ODV),
79 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
80 m_filteredChainComputeStats (UQ_MH_SG_FILTERED_CHAIN_COMPUTE_STATS_ODV),
87 m_drScalesForExtraStages (0),
106 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
107 m_alternativeRawSsOptionsValues (),
108 m_alternativeFilteredSsOptionsValues (),
111 #ifndef DISABLE_BOOST_PROGRAM_OPTIONS
114 m_option_help (m_prefix +
"help" ),
115 m_option_dataOutputFileName (m_prefix +
"dataOutputFileName" ),
116 m_option_dataOutputAllowAll (m_prefix +
"dataOutputAllowAll" ),
117 m_option_dataOutputAllowedSet (m_prefix +
"dataOutputAllowedSet" ),
118 m_option_totallyMute (m_prefix +
"totallyMute" ),
119 m_option_initialPosition_dataInputFileName (m_prefix +
"initialPosition_dataInputFileName" ),
120 m_option_initialPosition_dataInputFileType (m_prefix +
"initialPosition_dataInputFileType" ),
121 m_option_initialProposalCovMatrix_dataInputFileName(m_prefix +
"initialProposalCovMatrix_dataInputFileName"),
122 m_option_initialProposalCovMatrix_dataInputFileType(m_prefix +
"initialProposalCovMatrix_dataInputFileType"),
123 m_option_listOfDisabledParameters (m_prefix +
"listOfDisabledParameters" ),
124 m_option_rawChain_dataInputFileName (m_prefix +
"rawChain_dataInputFileName" ),
125 m_option_rawChain_dataInputFileType (m_prefix +
"rawChain_dataInputFileType" ),
126 m_option_rawChain_size (m_prefix +
"rawChain_size" ),
127 m_option_rawChain_generateExtra (m_prefix +
"rawChain_generateExtra" ),
128 m_option_rawChain_displayPeriod (m_prefix +
"rawChain_displayPeriod" ),
129 m_option_rawChain_measureRunTimes (m_prefix +
"rawChain_measureRunTimes" ),
130 m_option_rawChain_dataOutputPeriod (m_prefix +
"rawChain_dataOutputPeriod" ),
131 m_option_rawChain_dataOutputFileName (m_prefix +
"rawChain_dataOutputFileName" ),
132 m_option_rawChain_dataOutputFileType (m_prefix +
"rawChain_dataOutputFileType" ),
133 m_option_rawChain_dataOutputAllowAll (m_prefix +
"rawChain_dataOutputAllowAll" ),
134 m_option_rawChain_dataOutputAllowedSet (m_prefix +
"rawChain_dataOutputAllowedSet" ),
135 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
136 m_option_rawChain_computeStats (m_prefix +
"rawChain_computeStats" ),
138 m_option_filteredChain_generate (m_prefix +
"filteredChain_generate" ),
139 m_option_filteredChain_discardedPortion (m_prefix +
"filteredChain_discardedPortion" ),
140 m_option_filteredChain_lag (m_prefix +
"filteredChain_lag" ),
141 m_option_filteredChain_dataOutputFileName (m_prefix +
"filteredChain_dataOutputFileName" ),
142 m_option_filteredChain_dataOutputFileType (m_prefix +
"filteredChain_dataOutputFileType" ),
143 m_option_filteredChain_dataOutputAllowAll (m_prefix +
"filteredChain_dataOutputAllowAll" ),
144 m_option_filteredChain_dataOutputAllowedSet (m_prefix +
"filteredChain_dataOutputAllowedSet" ),
145 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
146 m_option_filteredChain_computeStats (m_prefix +
"filteredChain_computeStats" ),
148 m_option_displayCandidates (m_prefix +
"displayCandidates" ),
149 m_option_putOutOfBoundsInChain (m_prefix +
"putOutOfBoundsInChain" ),
150 m_option_tk_useLocalHessian (m_prefix +
"tk_useLocalHessian" ),
151 m_option_tk_useNewtonComponent (m_prefix +
"tk_useNewtonComponent" ),
152 m_option_dr_maxNumExtraStages (m_prefix +
"dr_maxNumExtraStages" ),
153 m_option_dr_listOfScalesForExtraStages (m_prefix +
"dr_listOfScalesForExtraStages" ),
154 m_option_dr_duringAmNonAdaptiveInt (m_prefix +
"dr_duringAmNonAdaptiveInt" ),
155 m_option_am_keepInitialMatrix (m_prefix +
"am_keepInitialMatrix" ),
156 m_option_am_initialNonAdaptInterval (m_prefix +
"am_initialNonAdaptInterval" ),
157 m_option_am_adaptInterval (m_prefix +
"am_adaptInterval" ),
158 m_option_am_adaptedMatrices_dataOutputPeriod (m_prefix +
"am_adaptedMatrices_dataOutputPeriod" ),
159 m_option_am_adaptedMatrices_dataOutputFileName (m_prefix +
"am_adaptedMatrices_dataOutputFileName" ),
160 m_option_am_adaptedMatrices_dataOutputFileType (m_prefix +
"am_adaptedMatrices_dataOutputFileType" ),
161 m_option_am_adaptedMatrices_dataOutputAllowAll (m_prefix +
"am_adaptedMatrices_dataOutputAllowAll" ),
162 m_option_am_adaptedMatrices_dataOutputAllowedSet (m_prefix +
"am_adaptedMatrices_dataOutputAllowedSet" ),
163 m_option_am_eta (m_prefix +
"am_eta" ),
164 m_option_am_epsilon (m_prefix +
"am_epsilon" ),
165 m_option_enableBrooksGelmanConvMonitor (m_prefix +
"enableBrooksGelmanConvMonitor" ),
166 m_option_BrooksGelmanLag (m_prefix +
"BrooksGelmanLag" ),
167 m_option_outputLogLikelihood (m_prefix +
"outputLogLikelihood" ),
168 m_option_outputLogTarget (m_prefix +
"outputLogTarget" ),
169 m_option_doLogitTransform (m_prefix +
"doLogitTransform" ),
170 m_option_algorithm (m_prefix +
"algorithm" ),
171 m_option_tk (m_prefix +
"tk" )
173 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
174 if (alternativeRawSsOptionsValues ) m_alternativeRawSsOptionsValues = *alternativeRawSsOptionsValues;
175 if (alternativeFilteredSsOptionsValues) m_alternativeFilteredSsOptionsValues = *alternativeFilteredSsOptionsValues;
180 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
181 const SsOptionsValues* alternativeRawSsOptionsValues,
182 const SsOptionsValues* alternativeFilteredSsOptionsValues,
188 m_prefix ((std::string)(prefix) +
"mh_"),
210 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
211 m_rawChainComputeStats (UQ_MH_SG_RAW_CHAIN_COMPUTE_STATS_ODV),
220 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
221 m_filteredChainComputeStats (UQ_MH_SG_FILTERED_CHAIN_COMPUTE_STATS_ODV),
228 m_drScalesForExtraStages (0),
247 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
248 m_alternativeRawSsOptionsValues (),
249 m_alternativeFilteredSsOptionsValues (),
252 #ifndef DISABLE_BOOST_PROGRAM_OPTIONS
255 m_option_help (m_prefix +
"help" ),
256 m_option_dataOutputFileName (m_prefix +
"dataOutputFileName" ),
257 m_option_dataOutputAllowAll (m_prefix +
"dataOutputAllowAll" ),
258 m_option_dataOutputAllowedSet (m_prefix +
"dataOutputAllowedSet" ),
259 m_option_totallyMute (m_prefix +
"totallyMute" ),
260 m_option_initialPosition_dataInputFileName (m_prefix +
"initialPosition_dataInputFileName" ),
261 m_option_initialPosition_dataInputFileType (m_prefix +
"initialPosition_dataInputFileType" ),
262 m_option_initialProposalCovMatrix_dataInputFileName(m_prefix +
"initialProposalCovMatrix_dataInputFileName"),
263 m_option_initialProposalCovMatrix_dataInputFileType(m_prefix +
"initialProposalCovMatrix_dataInputFileType"),
264 m_option_listOfDisabledParameters (m_prefix +
"listOfDisabledParameters" ),
265 m_option_rawChain_dataInputFileName (m_prefix +
"rawChain_dataInputFileName" ),
266 m_option_rawChain_dataInputFileType (m_prefix +
"rawChain_dataInputFileType" ),
267 m_option_rawChain_size (m_prefix +
"rawChain_size" ),
268 m_option_rawChain_generateExtra (m_prefix +
"rawChain_generateExtra" ),
269 m_option_rawChain_displayPeriod (m_prefix +
"rawChain_displayPeriod" ),
270 m_option_rawChain_measureRunTimes (m_prefix +
"rawChain_measureRunTimes" ),
271 m_option_rawChain_dataOutputPeriod (m_prefix +
"rawChain_dataOutputPeriod" ),
272 m_option_rawChain_dataOutputFileName (m_prefix +
"rawChain_dataOutputFileName" ),
273 m_option_rawChain_dataOutputFileType (m_prefix +
"rawChain_dataOutputFileType" ),
274 m_option_rawChain_dataOutputAllowAll (m_prefix +
"rawChain_dataOutputAllowAll" ),
275 m_option_rawChain_dataOutputAllowedSet (m_prefix +
"rawChain_dataOutputAllowedSet" ),
276 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
277 m_option_rawChain_computeStats (m_prefix +
"rawChain_computeStats" ),
279 m_option_filteredChain_generate (m_prefix +
"filteredChain_generate" ),
280 m_option_filteredChain_discardedPortion (m_prefix +
"filteredChain_discardedPortion" ),
281 m_option_filteredChain_lag (m_prefix +
"filteredChain_lag" ),
282 m_option_filteredChain_dataOutputFileName (m_prefix +
"filteredChain_dataOutputFileName" ),
283 m_option_filteredChain_dataOutputFileType (m_prefix +
"filteredChain_dataOutputFileType" ),
284 m_option_filteredChain_dataOutputAllowAll (m_prefix +
"filteredChain_dataOutputAllowAll" ),
285 m_option_filteredChain_dataOutputAllowedSet (m_prefix +
"filteredChain_dataOutputAllowedSet" ),
286 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
287 m_option_filteredChain_computeStats (m_prefix +
"filteredChain_computeStats" ),
289 m_option_displayCandidates (m_prefix +
"displayCandidates" ),
290 m_option_putOutOfBoundsInChain (m_prefix +
"putOutOfBoundsInChain" ),
291 m_option_tk_useLocalHessian (m_prefix +
"tk_useLocalHessian" ),
292 m_option_tk_useNewtonComponent (m_prefix +
"tk_useNewtonComponent" ),
293 m_option_dr_maxNumExtraStages (m_prefix +
"dr_maxNumExtraStages" ),
294 m_option_dr_listOfScalesForExtraStages (m_prefix +
"dr_listOfScalesForExtraStages" ),
295 m_option_dr_duringAmNonAdaptiveInt (m_prefix +
"dr_duringAmNonAdaptiveInt" ),
296 m_option_am_keepInitialMatrix (m_prefix +
"am_keepInitialMatrix" ),
297 m_option_am_initialNonAdaptInterval (m_prefix +
"am_initialNonAdaptInterval" ),
298 m_option_am_adaptInterval (m_prefix +
"am_adaptInterval" ),
299 m_option_am_adaptedMatrices_dataOutputPeriod (m_prefix +
"am_adaptedMatrices_dataOutputPeriod" ),
300 m_option_am_adaptedMatrices_dataOutputFileName (m_prefix +
"am_adaptedMatrices_dataOutputFileName" ),
301 m_option_am_adaptedMatrices_dataOutputFileType (m_prefix +
"am_adaptedMatrices_dataOutputFileType" ),
302 m_option_am_adaptedMatrices_dataOutputAllowAll (m_prefix +
"am_adaptedMatrices_dataOutputAllowAll" ),
303 m_option_am_adaptedMatrices_dataOutputAllowedSet (m_prefix +
"am_adaptedMatrices_dataOutputAllowedSet" ),
304 m_option_am_eta (m_prefix +
"am_eta" ),
305 m_option_am_epsilon (m_prefix +
"am_epsilon" ),
306 m_option_enableBrooksGelmanConvMonitor (m_prefix +
"enableBrooksGelmanConvMonitor" ),
307 m_option_BrooksGelmanLag (m_prefix +
"BrooksGelmanLag" ),
308 m_option_outputLogLikelihood (m_prefix +
"outputLogLikelihood" ),
309 m_option_outputLogTarget (m_prefix +
"outputLogTarget" ),
310 m_option_doLogitTransform (m_prefix +
"doLogitTransform" ),
311 m_option_algorithm (m_prefix +
"algorithm" ),
312 m_option_tk (m_prefix +
"tk" )
314 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
315 if (alternativeRawSsOptionsValues ) m_alternativeRawSsOptionsValues = *alternativeRawSsOptionsValues;
316 if (alternativeFilteredSsOptionsValues) m_alternativeFilteredSsOptionsValues = *alternativeFilteredSsOptionsValues;
319 #ifndef DISABLE_BOOST_PROGRAM_OPTIONS
341 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
342 m_parser->
registerOption<
bool >(m_option_rawChain_computeStats, UQ_MH_SG_RAW_CHAIN_COMPUTE_STATS_ODV ,
"compute statistics on raw chain" );
351 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
352 m_parser->
registerOption<
bool >(m_option_filteredChain_computeStats, UQ_MH_SG_FILTERED_CHAIN_COMPUTE_STATS_ODV ,
"compute statistics on filtered chain" );
402 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
403 m_parser->
getOption<
bool >(m_option_rawChain_computeStats, m_rawChain_computeStats);
412 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
413 m_parser->
getOption<
bool >(m_option_filteredChain_computeStats, m_filteredChain_computeStats);
446 for (
unsigned int i = 0; i < size; i++) {
462 for (
unsigned int i = 0; i < size; i++) {
482 for (
unsigned int i = 0; i < size; i++) {
489 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
490 m_rawChain_computeStats =
m_env->
input()(m_option_rawChain_computeStats, UQ_MH_SG_RAW_CHAIN_COMPUTE_STATS_ODV);
501 for (
unsigned int i = 0; i < size; i++) {
508 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
509 m_filteredChain_computeStats =
m_env->
input()(m_option_filteredChain_computeStats, UQ_MH_SG_FILTERED_CHAIN_COMPUTE_STATS_ODV);
519 for (
unsigned int i = 0; i < size; i++) {
537 for (
unsigned int i = 0; i < size; i++) {
553 #endif // DISABLE_BOOST_PROGRAM_OPTIONS
618 queso_error_msg(
"random_walk transition kernel and logit_random_walk algorithm are incompatible options");
622 queso_error_msg(
"logit_random_walk transition kernel and random_walk algorithm are incompatible options");
625 if (
m_tk ==
"random_walk") {
629 "logit transform must be off to use random_walk");
633 "local Hessian must be off to use random_walk");
636 if (
m_tk ==
"logit_random_walk") {
640 "logit transform must be on to use logit_random_walk");
644 "local Hessian must be off to use logit_random_walk");
647 if (
m_tk ==
"stochastic_newton") {
651 "logit transform must be off to use stochastic_newton");
655 "local Hessian must be on to use stochastic_newton");
683 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
684 m_rawChainComputeStats = src.m_rawChainComputeStats;
695 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
696 m_filteredChainComputeStats = src.m_filteredChainComputeStats;
725 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
726 m_alternativeRawSsOptionsValues = src.m_alternativeRawSsOptionsValues;
727 m_alternativeFilteredSsOptionsValues = src.m_alternativeFilteredSsOptionsValues;
734 #ifndef DISABLE_BOOST_PROGRAM_OPTIONS
735 os << (*(obj.
m_parser)) << std::endl;
736 #endif // DISABLE_BOOST_PROGRAM_OPTIONS
768 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
769 <<
"\n" << obj.m_option_rawChain_computeStats <<
" = " << obj.m_rawChainComputeStats
782 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
783 <<
"\n" << obj.m_option_filteredChain_computeStats <<
" = " << obj.m_filteredChainComputeStats
829 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
831 m_rawChainStatisticalOptionsObj (NULL),
832 m_rawChainStatOptsInstantiated (false),
833 m_filteredChainStatisticalOptionsObj (NULL),
834 m_filteredChainStatOptsInstantiated (false),
838 m_prefix ((std::string)(prefix) +
"mh_"),
840 #ifndef DISABLE_BOOST_PROGRAM_OPTIONS
841 m_optionsDesc (new boost::program_options::options_description(
"Bayesian Metropolis-Hastings options")),
843 m_option_help (m_prefix +
"help" ),
844 m_option_dataOutputFileName (m_prefix +
"dataOutputFileName" ),
845 m_option_dataOutputAllowAll (m_prefix +
"dataOutputAllowAll" ),
846 m_option_dataOutputAllowedSet (m_prefix +
"dataOutputAllowedSet" ),
847 m_option_totallyMute (m_prefix +
"totallyMute" ),
848 m_option_initialPosition_dataInputFileName (m_prefix +
"initialPosition_dataInputFileName" ),
849 m_option_initialPosition_dataInputFileType (m_prefix +
"initialPosition_dataInputFileType" ),
850 m_option_initialProposalCovMatrix_dataInputFileName(m_prefix +
"initialProposalCovMatrix_dataInputFileName"),
851 m_option_initialProposalCovMatrix_dataInputFileType(m_prefix +
"initialProposalCovMatrix_dataInputFileType"),
852 m_option_listOfDisabledParameters (m_prefix +
"listOfDisabledParameters" ),
853 m_option_rawChain_dataInputFileName (m_prefix +
"rawChain_dataInputFileName" ),
854 m_option_rawChain_dataInputFileType (m_prefix +
"rawChain_dataInputFileType" ),
855 m_option_rawChain_size (m_prefix +
"rawChain_size" ),
856 m_option_rawChain_generateExtra (m_prefix +
"rawChain_generateExtra" ),
857 m_option_rawChain_displayPeriod (m_prefix +
"rawChain_displayPeriod" ),
858 m_option_rawChain_measureRunTimes (m_prefix +
"rawChain_measureRunTimes" ),
859 m_option_rawChain_dataOutputPeriod (m_prefix +
"rawChain_dataOutputPeriod" ),
860 m_option_rawChain_dataOutputFileName (m_prefix +
"rawChain_dataOutputFileName" ),
861 m_option_rawChain_dataOutputFileType (m_prefix +
"rawChain_dataOutputFileType" ),
862 m_option_rawChain_dataOutputAllowAll (m_prefix +
"rawChain_dataOutputAllowAll" ),
863 m_option_rawChain_dataOutputAllowedSet (m_prefix +
"rawChain_dataOutputAllowedSet" ),
864 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
865 m_option_rawChain_computeStats (m_prefix +
"rawChain_computeStats" ),
867 m_option_filteredChain_generate (m_prefix +
"filteredChain_generate" ),
868 m_option_filteredChain_discardedPortion (m_prefix +
"filteredChain_discardedPortion" ),
869 m_option_filteredChain_lag (m_prefix +
"filteredChain_lag" ),
870 m_option_filteredChain_dataOutputFileName (m_prefix +
"filteredChain_dataOutputFileName" ),
871 m_option_filteredChain_dataOutputFileType (m_prefix +
"filteredChain_dataOutputFileType" ),
872 m_option_filteredChain_dataOutputAllowAll (m_prefix +
"filteredChain_dataOutputAllowAll" ),
873 m_option_filteredChain_dataOutputAllowedSet (m_prefix +
"filteredChain_dataOutputAllowedSet" ),
874 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
875 m_option_filteredChain_computeStats (m_prefix +
"filteredChain_computeStats" ),
877 m_option_displayCandidates (m_prefix +
"displayCandidates" ),
878 m_option_putOutOfBoundsInChain (m_prefix +
"putOutOfBoundsInChain" ),
879 m_option_tk_useLocalHessian (m_prefix +
"tk_useLocalHessian" ),
880 m_option_tk_useNewtonComponent (m_prefix +
"tk_useNewtonComponent" ),
881 m_option_dr_maxNumExtraStages (m_prefix +
"dr_maxNumExtraStages" ),
882 m_option_dr_listOfScalesForExtraStages (m_prefix +
"dr_listOfScalesForExtraStages" ),
883 m_option_dr_duringAmNonAdaptiveInt (m_prefix +
"dr_duringAmNonAdaptiveInt" ),
884 m_option_am_keepInitialMatrix (m_prefix +
"am_keepInitialMatrix" ),
885 m_option_am_initialNonAdaptInterval (m_prefix +
"am_initialNonAdaptInterval" ),
886 m_option_am_adaptInterval (m_prefix +
"am_adaptInterval" ),
887 m_option_am_adaptedMatrices_dataOutputPeriod (m_prefix +
"am_adaptedMatrices_dataOutputPeriod" ),
888 m_option_am_adaptedMatrices_dataOutputFileName (m_prefix +
"am_adaptedMatrices_dataOutputFileName" ),
889 m_option_am_adaptedMatrices_dataOutputFileType (m_prefix +
"am_adaptedMatrices_dataOutputFileType" ),
890 m_option_am_adaptedMatrices_dataOutputAllowAll (m_prefix +
"am_adaptedMatrices_dataOutputAllowAll" ),
891 m_option_am_adaptedMatrices_dataOutputAllowedSet (m_prefix +
"am_adaptedMatrices_dataOutputAllowedSet" ),
892 m_option_am_eta (m_prefix +
"am_eta" ),
893 m_option_am_epsilon (m_prefix +
"am_epsilon" ),
894 m_option_enableBrooksGelmanConvMonitor (m_prefix +
"enableBrooksGelmanConvMonitor" ),
895 m_option_BrooksGelmanLag (m_prefix +
"BrooksGelmanLag" ),
896 m_option_outputLogLikelihood (m_prefix +
"outputLogLikelihood" ),
897 m_option_outputLogTarget (m_prefix +
"outputLogTarget" ),
898 m_option_doLogitTransform (m_prefix +
"doLogitTransform" ),
899 m_option_algorithm (m_prefix +
"algorithm" ),
900 m_option_tk (m_prefix +
"tk" )
912 m_ov (alternativeOptionsValues),
913 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
914 m_rawChainStatisticalOptionsObj (NULL),
915 m_rawChainStatOptsInstantiated (false),
916 m_filteredChainStatisticalOptionsObj (NULL),
917 m_filteredChainStatOptsInstantiated (false),
919 m_prefix ((std::string)(prefix) +
"mh_"),
921 #ifndef DISABLE_BOOST_PROGRAM_OPTIONS
922 m_optionsDesc (NULL),
924 m_option_help (m_prefix +
"help" ),
925 m_option_dataOutputFileName (m_prefix +
"dataOutputFileName" ),
926 m_option_dataOutputAllowAll (m_prefix +
"dataOutputAllowAll" ),
927 m_option_dataOutputAllowedSet (m_prefix +
"dataOutputAllowedSet" ),
928 m_option_totallyMute (m_prefix +
"totallyMute" ),
929 m_option_initialPosition_dataInputFileName (m_prefix +
"initialPosition_dataInputFileName" ),
930 m_option_initialPosition_dataInputFileType (m_prefix +
"initialPosition_dataInputFileType" ),
931 m_option_initialProposalCovMatrix_dataInputFileName(m_prefix +
"initialProposalCovMatrix_dataInputFileName"),
932 m_option_initialProposalCovMatrix_dataInputFileType(m_prefix +
"initialProposalCovMatrix_dataInputFileType"),
933 m_option_listOfDisabledParameters (m_prefix +
"listOfDisabledParameters" ),
934 m_option_rawChain_dataInputFileName (m_prefix +
"rawChain_dataInputFileName" ),
935 m_option_rawChain_dataInputFileType (m_prefix +
"rawChain_dataInputFileType" ),
936 m_option_rawChain_size (m_prefix +
"rawChain_size" ),
937 m_option_rawChain_generateExtra (m_prefix +
"rawChain_generateExtra" ),
938 m_option_rawChain_displayPeriod (m_prefix +
"rawChain_displayPeriod" ),
939 m_option_rawChain_measureRunTimes (m_prefix +
"rawChain_measureRunTimes" ),
940 m_option_rawChain_dataOutputPeriod (m_prefix +
"rawChain_dataOutputPeriod" ),
941 m_option_rawChain_dataOutputFileName (m_prefix +
"rawChain_dataOutputFileName" ),
942 m_option_rawChain_dataOutputFileType (m_prefix +
"rawChain_dataOutputFileType" ),
943 m_option_rawChain_dataOutputAllowAll (m_prefix +
"rawChain_dataOutputAllowAll" ),
944 m_option_rawChain_dataOutputAllowedSet (m_prefix +
"rawChain_dataOutputAllowedSet" ),
945 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
946 m_option_rawChain_computeStats (m_prefix +
"rawChain_computeStats" ),
948 m_option_filteredChain_generate (m_prefix +
"filteredChain_generate" ),
949 m_option_filteredChain_discardedPortion (m_prefix +
"filteredChain_discardedPortion" ),
950 m_option_filteredChain_lag (m_prefix +
"filteredChain_lag" ),
951 m_option_filteredChain_dataOutputFileName (m_prefix +
"filteredChain_dataOutputFileName" ),
952 m_option_filteredChain_dataOutputFileType (m_prefix +
"filteredChain_dataOutputFileType" ),
953 m_option_filteredChain_dataOutputAllowAll (m_prefix +
"filteredChain_dataOutputAllowAll" ),
954 m_option_filteredChain_dataOutputAllowedSet (m_prefix +
"filteredChain_dataOutputAllowedSet" ),
955 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
956 m_option_filteredChain_computeStats (m_prefix +
"filteredChain_computeStats" ),
958 m_option_displayCandidates (m_prefix +
"displayCandidates" ),
959 m_option_putOutOfBoundsInChain (m_prefix +
"putOutOfBoundsInChain" ),
960 m_option_tk_useLocalHessian (m_prefix +
"tk_useLocalHessian" ),
961 m_option_tk_useNewtonComponent (m_prefix +
"tk_useNewtonComponent" ),
962 m_option_dr_maxNumExtraStages (m_prefix +
"dr_maxNumExtraStages" ),
963 m_option_dr_listOfScalesForExtraStages (m_prefix +
"dr_listOfScalesForExtraStages" ),
964 m_option_dr_duringAmNonAdaptiveInt (m_prefix +
"dr_duringAmNonAdaptiveInt" ),
965 m_option_am_keepInitialMatrix (m_prefix +
"am_keepInitialMatrix" ),
966 m_option_am_initialNonAdaptInterval (m_prefix +
"am_initialNonAdaptInterval" ),
967 m_option_am_adaptInterval (m_prefix +
"am_adaptInterval" ),
968 m_option_am_adaptedMatrices_dataOutputPeriod (m_prefix +
"am_adaptedMatrices_dataOutputPeriod" ),
969 m_option_am_adaptedMatrices_dataOutputFileName (m_prefix +
"am_adaptedMatrices_dataOutputFileName" ),
970 m_option_am_adaptedMatrices_dataOutputFileType (m_prefix +
"am_adaptedMatrices_dataOutputFileType" ),
971 m_option_am_adaptedMatrices_dataOutputAllowAll (m_prefix +
"am_adaptedMatrices_dataOutputAllowAll" ),
972 m_option_am_adaptedMatrices_dataOutputAllowedSet (m_prefix +
"am_adaptedMatrices_dataOutputAllowedSet" ),
973 m_option_am_eta (m_prefix +
"am_eta" ),
974 m_option_am_epsilon (m_prefix +
"am_epsilon" ),
975 m_option_enableBrooksGelmanConvMonitor (m_prefix +
"enableBrooksGelmanConvMonitor" ),
976 m_option_BrooksGelmanLag (m_prefix +
"BrooksGelmanLag" ),
977 m_option_outputLogLikelihood (m_prefix +
"outputLogLikelihood" ),
978 m_option_outputLogTarget (m_prefix +
"outputLogTarget" ),
979 m_option_doLogitTransform (m_prefix +
"doLogitTransform" ),
980 m_option_algorithm (m_prefix +
"algorithm" ),
981 m_option_tk (m_prefix +
"tk" )
990 <<
": after setting values of options with prefix '" <<
m_prefix
991 <<
"', state of object is:"
996 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
997 if (
m_ov.m_rawChainComputeStats) {
998 m_rawChainStatisticalOptionsObj =
new SequenceStatisticalOptions(
m_env,
m_prefix +
"rawChain_",
m_ov.m_alternativeRawSsOptionsValues);
999 m_rawChainStatOptsInstantiated =
true;
1001 if (
m_ov.m_filteredChainComputeStats) {
1002 m_filteredChainStatisticalOptionsObj =
new SequenceStatisticalOptions(
m_env,
m_prefix +
"filteredChain_",
m_ov.m_alternativeFilteredSsOptionsValues);
1003 m_filteredChainStatOptsInstantiated =
true;
1011 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
1013 m_rawChainStatisticalOptionsObj (NULL),
1014 m_rawChainStatOptsInstantiated (false),
1015 m_filteredChainStatisticalOptionsObj (NULL),
1016 m_filteredChainStatOptsInstantiated (false),
1020 m_prefix (mlOptions.m_prefix),
1021 m_env (mlOptions.env()),
1022 #ifndef DISABLE_BOOST_PROGRAM_OPTIONS
1023 m_optionsDesc (NULL),
1025 m_option_help (m_prefix +
"help" ),
1026 m_option_dataOutputFileName (m_prefix +
"dataOutputFileName" ),
1027 m_option_dataOutputAllowAll (m_prefix +
"dataOutputAllowAll" ),
1028 m_option_dataOutputAllowedSet (m_prefix +
"dataOutputAllowedSet" ),
1029 m_option_totallyMute (m_prefix +
"totallyMute" ),
1030 m_option_initialPosition_dataInputFileName (m_prefix +
"initialPosition_dataInputFileName" ),
1031 m_option_initialPosition_dataInputFileType (m_prefix +
"initialPosition_dataInputFileType" ),
1032 m_option_initialProposalCovMatrix_dataInputFileName(m_prefix +
"initialProposalCovMatrix_dataInputFileName"),
1033 m_option_initialProposalCovMatrix_dataInputFileType(m_prefix +
"initialProposalCovMatrix_dataInputFileType"),
1034 m_option_listOfDisabledParameters (m_prefix +
"listOfDisabledParameters" ),
1035 m_option_rawChain_dataInputFileName (m_prefix +
"rawChain_dataInputFileName" ),
1036 m_option_rawChain_dataInputFileType (m_prefix +
"rawChain_dataInputFileType" ),
1037 m_option_rawChain_size (m_prefix +
"rawChain_size" ),
1038 m_option_rawChain_generateExtra (m_prefix +
"rawChain_generateExtra" ),
1039 m_option_rawChain_displayPeriod (m_prefix +
"rawChain_displayPeriod" ),
1040 m_option_rawChain_measureRunTimes (m_prefix +
"rawChain_measureRunTimes" ),
1041 m_option_rawChain_dataOutputPeriod (m_prefix +
"rawChain_dataOutputPeriod" ),
1042 m_option_rawChain_dataOutputFileName (m_prefix +
"rawChain_dataOutputFileName" ),
1043 m_option_rawChain_dataOutputFileType (m_prefix +
"rawChain_dataOutputFileType" ),
1044 m_option_rawChain_dataOutputAllowAll (m_prefix +
"rawChain_dataOutputAllowAll" ),
1045 m_option_rawChain_dataOutputAllowedSet (m_prefix +
"rawChain_dataOutputAllowedSet" ),
1046 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
1047 m_option_rawChain_computeStats (m_prefix +
"rawChain_computeStats" ),
1049 m_option_filteredChain_generate (m_prefix +
"filteredChain_generate" ),
1050 m_option_filteredChain_discardedPortion (m_prefix +
"filteredChain_discardedPortion" ),
1051 m_option_filteredChain_lag (m_prefix +
"filteredChain_lag" ),
1052 m_option_filteredChain_dataOutputFileName (m_prefix +
"filteredChain_dataOutputFileName" ),
1053 m_option_filteredChain_dataOutputFileType (m_prefix +
"filteredChain_dataOutputFileType" ),
1054 m_option_filteredChain_dataOutputAllowAll (m_prefix +
"filteredChain_dataOutputAllowAll" ),
1055 m_option_filteredChain_dataOutputAllowedSet (m_prefix +
"filteredChain_dataOutputAllowedSet" ),
1056 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
1057 m_option_filteredChain_computeStats (m_prefix +
"filteredChain_computeStats" ),
1059 m_option_displayCandidates (m_prefix +
"displayCandidates" ),
1060 m_option_putOutOfBoundsInChain (m_prefix +
"putOutOfBoundsInChain" ),
1061 m_option_tk_useLocalHessian (m_prefix +
"tk_useLocalHessian" ),
1062 m_option_tk_useNewtonComponent (m_prefix +
"tk_useNewtonComponent" ),
1063 m_option_dr_maxNumExtraStages (m_prefix +
"dr_maxNumExtraStages" ),
1064 m_option_dr_listOfScalesForExtraStages (m_prefix +
"dr_listOfScalesForExtraStages" ),
1065 m_option_dr_duringAmNonAdaptiveInt (m_prefix +
"dr_duringAmNonAdaptiveInt" ),
1066 m_option_am_keepInitialMatrix (m_prefix +
"am_keepInitialMatrix" ),
1067 m_option_am_initialNonAdaptInterval (m_prefix +
"am_initialNonAdaptInterval" ),
1068 m_option_am_adaptInterval (m_prefix +
"am_adaptInterval" ),
1069 m_option_am_adaptedMatrices_dataOutputPeriod (m_prefix +
"am_adaptedMatrices_dataOutputPeriod" ),
1070 m_option_am_adaptedMatrices_dataOutputFileName (m_prefix +
"am_adaptedMatrices_dataOutputFileName" ),
1071 m_option_am_adaptedMatrices_dataOutputFileType (m_prefix +
"am_adaptedMatrices_dataOutputFileType" ),
1072 m_option_am_adaptedMatrices_dataOutputAllowAll (m_prefix +
"am_adaptedMatrices_dataOutputAllowAll" ),
1073 m_option_am_adaptedMatrices_dataOutputAllowedSet (m_prefix +
"am_adaptedMatrices_dataOutputAllowedSet" ),
1074 m_option_am_eta (m_prefix +
"am_eta" ),
1075 m_option_am_epsilon (m_prefix +
"am_epsilon" ),
1076 m_option_enableBrooksGelmanConvMonitor (m_prefix +
"enableBrooksGelmanConvMonitor" ),
1077 m_option_BrooksGelmanLag (m_prefix +
"BrooksGelmanLag" ),
1078 m_option_outputLogLikelihood (m_prefix +
"outputLogLikelihood" ),
1079 m_option_outputLogTarget (m_prefix +
"outputLogTarget" ),
1080 m_option_doLogitTransform (m_prefix +
"doLogitTransform" ),
1081 m_option_algorithm (m_prefix +
"algorithm" ),
1082 m_option_tk (m_prefix +
"tk" )
1106 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
1107 m_ov.m_rawChainComputeStats = mlOptions.m_rawChainComputeStats;
1116 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
1117 m_ov.m_filteredChainComputeStats = mlOptions.m_filteredChainComputeStats;
1144 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
1149 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
1150 m_rawChainStatisticalOptionsObj = mlOptions.m_rawChainStatisticalOptionsObj;
1151 m_rawChainStatOptsInstantiated =
false;
1152 m_filteredChainStatisticalOptionsObj = mlOptions.m_filteredChainStatisticalOptionsObj;
1153 m_filteredChainStatOptsInstantiated =
false;
1158 <<
": after copying values of options with prefix '" <<
m_prefix
1159 <<
"', state of object is:"
1169 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
1170 if (m_filteredChainStatOptsInstantiated)
delete m_filteredChainStatisticalOptionsObj;
1171 if (m_rawChainStatOptsInstantiated )
delete m_rawChainStatisticalOptionsObj;
1173 #ifndef DISABLE_BOOST_PROGRAM_OPTIONS
1175 #endif // DISABLE_BOOST_PROGRAM_OPTIONS
1184 #ifndef DISABLE_BOOST_PROGRAM_OPTIONS
1190 #endif // DISABLE_BOOST_PROGRAM_OPTIONS
1195 <<
": after reading values of options with prefix '" <<
m_prefix
1196 <<
"', state of object is:"
1201 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
1202 if (
m_ov.m_rawChainComputeStats) {
1203 m_rawChainStatisticalOptionsObj =
new SequenceStatisticalOptions(
m_env,
m_prefix +
"rawChain_");
1204 m_rawChainStatOptsInstantiated =
true;
1206 if (
m_ov.m_filteredChainComputeStats) {
1207 m_filteredChainStatisticalOptionsObj =
new SequenceStatisticalOptions(
m_env,
m_prefix +
"filteredChain_");
1208 m_filteredChainStatOptsInstantiated =
true;
1224 os << *setIt <<
" ";
1233 os << *setIt <<
" ";
1247 os << *setIt <<
" ";
1250 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
1251 <<
"\n" << m_option_rawChain_computeStats <<
" = " <<
m_ov.m_rawChainComputeStats
1261 os << *setIt <<
" ";
1264 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
1265 <<
"\n" << m_option_filteredChain_computeStats <<
" = " <<
m_ov.m_filteredChainComputeStats
1286 os << *setIt <<
" ";
1302 #ifndef DISABLE_BOOST_PROGRAM_OPTIONS
1309 optionsDesc.add_options()
1310 (
m_option_help.c_str(),
"produce help msg for Bayesian Metropolis-Hastings" )
1331 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
1332 (m_option_rawChain_computeStats.c_str(), boost::program_options::value<bool >()->default_value(UQ_MH_SG_RAW_CHAIN_COMPUTE_STATS_ODV ),
"compute statistics on raw chain" )
1341 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
1342 (m_option_filteredChain_computeStats.c_str(), boost::program_options::value<bool >()->default_value(UQ_MH_SG_FILTERED_CHAIN_COMPUTE_STATS_ODV ),
"compute statistics on filtered chain" )
1367 (
m_option_tk.c_str(), boost::program_options::value<std::string >()->default_value(
UQ_MH_SG_TK ),
"which mcmc tk to use" )
1372 #endif // DISABLE_BOOST_PROGRAM_OPTIONS
1374 #ifndef DISABLE_BOOST_PROGRAM_OPTIONS
1402 std::vector<double> tmpAllow(0,0.);
1406 if (tmpAllow.size() > 0) {
1407 for (
unsigned int i = 0; i < tmpAllow.size(); ++i) {
1435 std::vector<double> tmpAllow(0,0.);
1438 if (tmpAllow.size() > 0) {
1439 for (
unsigned int i = 0; i < tmpAllow.size(); ++i) {
1486 std::vector<double> tmpAllow(0,0.);
1490 if (tmpAllow.size() > 0) {
1491 for (
unsigned int i = 0; i < tmpAllow.size(); ++i) {
1497 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
1499 m_ov.m_rawChainComputeStats = ((
const boost::program_options::variable_value&)
m_env.
allOptionsMap()[m_option_rawChain_computeStats]).as<bool>();
1519 std::cerr <<
"WARNING In MetropolisHastingsSG<P_V,P_M>::getMyOptionsValues()"
1549 std::vector<double> tmpAllow(0,0.);
1553 if (tmpAllow.size() > 0) {
1554 for (
unsigned int i = 0; i < tmpAllow.size(); ++i) {
1560 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
1562 m_ov.m_filteredChainComputeStats = ((
const boost::program_options::variable_value&)
m_env.
allOptionsMap()[m_option_filteredChain_computeStats]).as<bool>();
1585 std::vector<double> tmpScales(0,0.);
1600 unsigned int tmpSize = tmpScales.size();
1605 if (i < tmpSize) scale = tmpScales[i];
1648 std::vector<double> tmpAllow(0,0.);
1652 if (tmpAllow.size() > 0) {
1653 for (
unsigned int i = 0; i < tmpAllow.size(); ++i) {
1695 #endif // DISABLE_BOOST_PROGRAM_OPTIONS
#define UQ_MH_SG_TOTALLY_MUTE_ODV
#define UQ_MH_SG_RAW_CHAIN_DATA_OUTPUT_ALLOWED_SET_ODV
MhOptionsValues & operator=(const MhOptionsValues &rhs)
Assignment operator; it copies rhs to this.
double m_filteredChainDiscardedPortion
Initial discarded portion for chain filtering.
double m_filteredChainDiscardedPortion
What initial fraction of the filtered chain is discarded.
std::string m_option_filteredChain_dataOutputFileType
virtual ~MhOptionsValues()
Destructor.
std::vector< double > m_drScalesForExtraStages
The vector of scale factors for the proposal covariance matrix to use for delayed rejection...
bool m_displayCandidates
Toggle to tell QUESO whether or not to write proposal (candidate) state to output file...
std::string m_rawChainDataOutputFileName
If not ".", filename to write the Markov chain to.
#define UQ_MH_SG_RAW_CHAIN_GENERATE_EXTRA_ODV
bool m_totallyMute
If true, zero output is written to files. Default is false.
bool m_putOutOfBoundsInChain
Flag to tell QUESO how chains should be upon generating a proposal that is out of the problem domain...
std::set< unsigned int > m_amAdaptedMatricesDataOutputAllowedSet
This option is a no-op. The default is the empty set.
std::string m_option_rawChain_dataInputFileType
Option name for MhOptionsValues::m_rawChainDataInputFileType. Option name is m_prefix + "mh_rawChain_...
std::string m_option_help
double m_amEta
'am' eta.
bool m_drDuringAmNonAdaptiveInt
Whether or not 'dr' is used during 'am' non adaptive interval.
MhOptionsValues m_ov
This class is where the actual options are stored.
bool m_filteredChainGenerate
Whether or not to generate filtered chain.
std::string m_option_am_keepInitialMatrix
std::string m_option_initialProposalCovMatrix_dataInputFileName
Option name for MhOptionsValues::m_initialProposalCovMatrixDataInputFileName. Option name is m_prefix...
unsigned int m_rawChainDataOutputPeriod
The frequency with which to write chain output. Defaults to 0.
double m_amEpsilon
'am' epsilon.
bool m_rawChainGenerateExtra
Generate extra information about raw chain.
#define UQ_MH_SG_RAW_CHAIN_DATA_OUTPUT_FILE_NAME_ODV
int worldRank() const
Returns the process world rank.
std::string m_option_filteredChain_dataOutputFileName
std::string m_option_outputLogTarget
std::string m_filteredChainDataOutputFileName
If not ".", file name to save the filtered chain to. Default is ".".
std::string m_option_rawChain_measureRunTimes
Option name for MhOptionsValues::m_rawChainMeasureRunTimes. Option name is m_prefix + "mh_rawChain_me...
std::string m_rawChainDataOutputFileType
The filetype of m_rawChainDataOutputFileName.
#define UQ_MH_SG_RAW_CHAIN_MEASURE_RUN_TIMES_ODV
#define UQ_MH_SG_LIST_OF_DISABLED_PARAMETERS_ODV
bool m_drDuringAmNonAdaptiveInt
Do delayed rejection during the initial non-adaptive part of sampling?
std::string m_option_rawChain_generateExtra
#define UQ_MH_SG_TK_USE_LOCAL_HESSIAN_ODV
void checkOptions(const BaseEnvironment *env)
const GetPot & input() const
The GetPot input file parser.
std::ofstream * subDisplayFile() const
Access function for m_subDisplayFile (displays file on stream).
std::string m_option_listOfDisabledParameters
Option name for MhOptionsValues::m_parameterDisabledSet. Option name is m_prefix + "mh_listOfDisabled...
#define queso_require_greater_equal_msg(expr1, expr2, msg)
std::string m_option_am_eta
See MhOptionsValues::m_amEta.
std::string m_option_BrooksGelmanLag
Option name for MhOptionsValues::m_BrooksGelmanLag. Option name is m_prefix + "mh_BrooksGelmanLag".
std::string m_initialPositionDataInputFileName
If not ".", reads the contents of the file and uses that to start the MCMC. Default is "...
int subRank() const
Access function for sub-rank.
std::string m_option_putOutOfBoundsInChain
std::string m_option_dr_listOfScalesForExtraStages
Option name for MhOptionsValues::m_drScalesForExtraStages. Option name is m_prefix + "mh_dr_listOfSca...
std::string m_option_am_adaptInterval
std::string m_option_initialProposalCovMatrix_dataInputFileName
unsigned int m_BrooksGelmanLag
The lag with which to compute the Brooks-Gelman convergence statistic.
bool m_putOutOfBoundsInChain
Put 'out of bound' candidates in chain as well.
std::string m_initialProposalCovMatrixDataInputFileType
Type of input file for initial proposal covariance matrix.
std::string optionsInputFileName() const
Access to the attribute m_optionsInputFileName, which stores the name of the input file passed by the...
std::string m_dataOutputFileName
Name of generic output file.
std::string m_tk
Which transition kernel to use for sampling.
#define UQ_MH_SG_DR_MAX_NUM_EXTRA_STAGES_ODV
std::string m_option_putOutOfBoundsInChain
Option name for MhOptionsValues::m_putOutOfBoundsInChain. Option name is m_prefix + "mh_putOutOfBound...
#define UQ_MH_SG_OUTPUT_LOG_TARGET
std::string m_option_rawChain_displayPeriod
std::string m_option_dataOutputFileName
#define UQ_MH_SG_RAW_CHAIN_DATA_INPUT_FILE_NAME_ODV
#define UQ_MH_SG_AM_ADAPT_INTERVAL_ODV
This class reads the options for the Metropolis-Hastings generator of samples from an input file...
#define UQ_MH_SG_RAW_CHAIN_DATA_OUTPUT_FILE_TYPE_ODV
bool m_outputLogTarget
Flag for deciding whether or not to dump log target values in output Default is true.
This (virtual) class sets up the environment underlying the use of the QUESO library by an executable...
std::string m_option_totallyMute
Option name for MhOptionsValues::m_totallyMute. Option name is m_prefix + "mh_totallyMute".
unsigned int m_rawChainDisplayPeriod
The frequency with which to output diagnostic information.
std::string m_option_rawChain_dataOutputFileName
std::string m_option_listOfDisabledParameters
std::string m_option_doLogitTransform
#define UQ_MH_SG_DR_LIST_OF_SCALES_FOR_EXTRA_STAGES_ODV
#define UQ_MH_SG_RAW_CHAIN_DATA_OUTPUT_PERIOD_ODV
std::string m_option_rawChain_dataOutputAllowAll
std::string m_initialProposalCovMatrixDataInputFileName
If not ".", reads the contents of the file as the initial proposal covariance matrix.
#define UQ_MH_SG_FILTERED_CHAIN_LAG_ODV
std::string m_option_am_epsilon
See MhOptionsValues::m_amEpsilon.
std::string m_option_am_eta
Option name for MhOptionsValues::m_amEta. Option name is m_prefix + "mh_am_eta".
unsigned int m_enableBrooksGelmanConvMonitor
The frequency with which to compute the Brooks-Gelman convergence statistic.
int inter0Rank() const
Returns the process inter0 rank.
std::set< unsigned int > m_rawChainDataOutputAllowedSet
subEnvs that will write to output file for raw chain.
std::string m_option_rawChain_displayPeriod
Option name for MhOptionsValues::m_rawChainDisplayPeriod. Option name is m_prefix + "mh_rawChain_disp...
std::string m_option_tk
Option name for MhOptionsValues::m_tk. Option name is m_prefix + "mh_tk".
std::string m_option_algorithm
Option name for MhOptionsValues::m_algorithm. Option name is m_prefix + "mh_algorithm".
std::string m_option_filteredChain_generate
Option name for MhOptionsValues::m_filteredChainGenerate. Option name is m_prefix + "mh_filteredChain...
unsigned int m_rawChainSize
Size of raw chain.
std::string m_initialPositionDataInputFileType
Type of input file for initial position.
bool m_tkUseLocalHessian
Flag to tell QUESO whether or not to use Hessian information for the proposal covariance matrix...
unsigned int m_filteredChainLag
Spacing for chain filtering.
std::string m_dataOutputFileName
The base name of output files where the chain (and related information) will be written.
std::string m_option_am_adaptedMatrices_dataOutputPeriod
std::string m_option_filteredChain_discardedPortion
std::set< unsigned int > m_amAdaptedMatricesDataOutputAllowedSet
subEnvs that will write to output file for 'am' adapted matrices.
std::string m_option_am_adaptedMatrices_dataOutputFileType
Option name for MhOptionsValues::m_amAdaptedMatricesDataOutputFileType. Option name is m_prefix + "mh...
unsigned vector_variable_size(const char *VarName) const
bool m_filteredChainDataOutputAllowAll
Toggle for whether or not to allow all processes to write filtered Markov chain output to a file...
void getOption(std::string &name, T &value)
Get option name from the parser and set value to the parsed value.
std::set< unsigned int > m_parameterDisabledSet
Set of parameters that don't get sampled.
bool m_filteredChainGenerate
Toggle the option to save a filtered chain.
bool m_dataOutputAllowAll
subEnvs that will write to generic output file.
#define queso_require_equal_to_msg(expr1, expr2, msg)
bool m_doLogitTransform
Whether or not a logit transform will be done for bounded domains.
std::string m_amAdaptedMatricesDataOutputFileType
Type of output file for 'am' adapted matrices.
boost::program_options::variables_map & allOptionsMap() const
std::string m_option_dr_maxNumExtraStages
const BaseEnvironment & m_env
void MiscReadDoublesFromString(const std::string &inputString, std::vector< double > &outputDoubles)
std::string m_option_help
Option name for MhOptionsValues::m_help. Option name is m_prefix + "mh_help".
std::string m_option_rawChain_dataOutputAllowedSet
Option name for MhOptionsValues::m_rawChainDataOutputAllowedSet. Option name is m_prefix + "mh_rawCha...
std::string m_option_enableBrooksGelmanConvMonitor
Option name for MhOptionsValues::m_enableBrooksGelmanConvMonitor. Option name is m_prefix + "mh_enabl...
std::string m_option_outputLogTarget
Option name for MhOptionsValues::m_outputLogTarget. Option name is m_prefix + "mh_outputLogTarget".
#define UQ_MH_SG_ALGORITHM
std::string m_option_rawChain_dataInputFileType
#define UQ_MH_SG_FILTERED_CHAIN_DATA_OUTPUT_ALLOW_ALL_ODV
#define UQ_MH_SG_FILTERED_CHAIN_DISCARDED_PORTION_ODV
void getMyOptionValues(boost::program_options::options_description &optionsDesc)
Gets the sequence options defined to the Metropolis-Hastings algorithm.
#define UQ_MH_SG_INITIAL_PROPOSAL_COV_MATRIX_DATA_INPUT_FILE_TYPE_ODV
bool m_tkUseNewtonComponent
Whether or not 'proposal' uses Newton component.
#define UQ_MH_SG_DR_DURING_AM_NON_ADAPTIVE_INT_ODV
unsigned int subId() const
Access function to the number of each sub-environment Id: m_subId.
#define UQ_MH_SG_AM_ADAPTED_MATRICES_DATA_OUTPUT_FILE_TYPE_ODV
std::string m_option_am_adaptedMatrices_dataOutputAllowAll
Option name for MhOptionsValues::m_amAdaptedMatricesDataOutputAllowAll. Option name is m_prefix + "mh...
bool m_rawChainMeasureRunTimes
Whether or not to measure run times.
std::string m_rawChainDataInputFileType
The filetype of m_rawChainDataInputFileName. Only "m" (matlab) is currently supported. Default is "m".
std::string m_amAdaptedMatricesDataOutputFileName
If not ".", this is the file to write adapted proposal covariance matrices to. Default is "...
#define UQ_MH_SG_RAW_CHAIN_DISPLAY_PERIOD_ODV
std::string m_option_filteredChain_lag
std::string m_option_dataOutputFileName
Option name for MhOptionsValues::m_dataOutputFileName. Option name is m_prefix + "mh_dataOutputFileNa...
std::string m_initialProposalCovMatrixDataInputFileType
The filetype of m_initialProposalCovMatrixDataInputFileName. Only "m" (matlab) is currently supported...
#define queso_deprecated()
std::string m_option_am_adaptedMatrices_dataOutputFileName
std::string m_option_filteredChain_dataOutputAllowAll
Option name for MhOptionsValues::m_filteredChainDataOutputAllowAll. Option name is m_prefix + "mh_fil...
std::string m_option_initialPosition_dataInputFileName
std::string m_option_rawChain_generateExtra
Option name for MhOptionsValues::m_rawChainGenerateExtra. Option name is m_prefix + "mh_rawChain_gene...
std::string m_option_rawChain_dataOutputFileType
Option name for MhOptionsValues::m_rawChainDataOutputFileType. Option name is m_prefix + "mh_rawChain...
#define UQ_MH_SG_DO_LOGIT_TRANSFORM
unsigned int m_amInitialNonAdaptInterval
The number of initial samples to do without adapting the proposal covariance matrix.
std::string m_option_tk_useLocalHessian
Option name for MhOptionsValues::m_tkUseLocalHessian. Option name is m_prefix + "mh_tk_useLocalHessia...
std::string m_option_am_adaptedMatrices_dataOutputFileName
Option name for MhOptionsValues::m_amAdaptedMatricesDataOutputFileName. Option name is m_prefix + "mh...
std::ostream & operator<<(std::ostream &os, const BaseEnvironment &obj)
std::string m_option_outputLogLikelihood
#define UQ_MH_SG_FILTERED_CHAIN_DATA_OUTPUT_FILE_NAME_ODV
unsigned int m_drMaxNumExtraStages
'dr' maximum number of extra stages.
std::string m_option_doLogitTransform
Option name for MhOptionsValues::m_doLogitTransform. Option name is m_prefix + "mh_doLogitTransform"...
std::string m_option_dataOutputAllowAll
Option name for MhOptionsValues::m_dataOutputAllowAll. Option name is m_prefix + "mh_dataOutputAllowA...
std::string m_option_filteredChain_dataOutputAllowedSet
std::set< unsigned int > m_parameterDisabledSet
MhOptionsValues()
Default constructor.
std::string m_option_displayCandidates
std::string m_tk
Which transition kernel to use for MCMC. Default is "random_walk".
std::string m_option_dataOutputAllowedSet
Option name for MhOptionsValues::m_dataOutputAllowedSet. Option name is m_prefix + "mh_dataOutputAllo...
bool m_totallyMute
Whether or not to be totally mute (no printout message).
bool m_tkUseLocalHessian
Whether or not 'proposal' uses local Hessian.
void scanInputFileForMyOptions(const boost::program_options::options_description &optionsDesc) const
This method scans the input file provided by the user to QUESO.
void scanInputFile()
This is the method that parses the input file.
#define UQ_MH_SG_OUTPUT_LOG_LIKELIHOOD
#define UQ_MH_SG_FILTERED_CHAIN_DATA_OUTPUT_FILE_TYPE_ODV
#define UQ_MH_SG_RAW_CHAIN_SIZE_ODV
std::string m_option_rawChain_size
std::string m_rawChainDataOutputFileName
Name of output file for raw chain.
std::string m_algorithm
Which algorithm to use for the MCMC. Default is "random_walk".
std::string m_option_am_epsilon
Option name for MhOptionsValues::m_amEpsilon. Option name is m_prefix + "mh_am_epsilon".
bool m_outputLogLikelihood
Flag for deciding whether or not to dump log likelihood values in output. Default is true...
std::string m_option_tk_useLocalHessian
std::string m_option_rawChain_dataOutputFileType
This class provides options for each level of the Multilevel sequence generator if no input file is a...
unsigned int m_drMaxNumExtraStages
The number of delayed rejection stages to do. Default is 0.
#define UQ_MH_SG_FILTERED_CHAIN_DATA_OUTPUT_ALLOWED_SET_ODV
#define UQ_MH_SG_FILTERED_CHAIN_GENERATE_ODV
std::string m_option_displayCandidates
Option name for MhOptionsValues::m_displayCandidates. Option name is m_prefix + "mh_displayCandidates...
#define UQ_MH_SG_DISPLAY_CANDIDATES_ODV
int fullRank() const
Returns the process full rank.
std::string m_help
If non-empty string, print options and values to the output file.
#define UQ_MH_SG_RAW_CHAIN_DATA_OUTPUT_ALLOW_ALL_ODV
std::string m_rawChainDataInputFileType
Type of input file for raw chain.
std::string m_initialPositionDataInputFileType
The filetype of m_initialPositionDataInputFileName. Only "m" (matlab) is currently supported...
std::string m_option_initialPosition_dataInputFileType
#define UQ_MH_SG_INITIAL_PROPOSAL_COV_MATRIX_DATA_INPUT_FILE_NAME_ODV
#define UQ_MH_SG_BROOKS_GELMAN_LAG
std::string m_rawChainDataInputFileName
Filename for reading an already-produced Markov chain.
void scanOptionsValues()
It scans the option values from the options input file.
std::string m_option_am_initialNonAdaptInterval
Option name for MhOptionsValues::m_amInitialNonAdaptInterval. Option name is m_prefix + "mh_am_initia...
std::string m_option_rawChain_dataOutputAllowedSet
#define UQ_MH_SG_PUT_OUT_OF_BOUNDS_IN_CHAIN_ODV
std::string m_option_outputLogLikelihood
Option name for MhOptionsValues::m_outputLogLikelihood. Option name is m_prefix + "mh_outputLogLikeli...
std::string m_filteredChainDataOutputFileType
The filetype of m_filteredChainDataOutputFileName. Only "m" (matlab) is currently supported...
std::string m_option_am_adaptedMatrices_dataOutputFileType
bool m_displayCandidates
Display candidates generated in the core MH algorithm.
std::string m_option_rawChain_dataOutputFileName
Option name for MhOptionsValues::m_rawChainDataOutputFileName. Option name is m_prefix + "mh_rawChain...
std::set< unsigned int > m_dataOutputAllowedSet
subEnvs that will write to generic output file.
std::string m_option_initialProposalCovMatrix_dataInputFileType
std::string m_option_am_adaptedMatrices_dataOutputAllowedSet
std::string m_option_initialPosition_dataInputFileType
Option name for MhOptionsValues::m_initialPositionDataInputFileType. Option name is m_prefix + "mh_in...
std::vector< double > m_drScalesForExtraStages
'dr' list of scales for proposal covariance matrices from 2nd stage on.
std::string m_option_filteredChain_dataOutputAllowedSet
Option name for MhOptionsValues::m_filteredChainDataOutputAllowedSet. Option name is m_prefix + "mh_f...
std::string m_option_filteredChain_generate
#define queso_require_not_equal_to_msg(expr1, expr2, msg)
std::string m_option_filteredChain_discardedPortion
Option name for MhOptionsValues::m_filteredChainDiscardedPortion. Option name is m_prefix + "mh_filte...
boost::program_options::options_description * m_optionsDesc
bool m_dataOutputAllowAll
If true, all processes write output and m_dataOutputAllowedSet is ignored.
bool m_rawChainGenerateExtra
If true, extra chain information is computed/stored.
#define UQ_MH_SG_DATA_OUTPUT_ALLOWED_SET_ODV
std::string m_amAdaptedMatricesDataOutputFileType
The filetype of m_amAdaptedMatricesDataOutputFileName. Only "m" (matlab) is currently supported...
std::string m_option_algorithm
#define UQ_MH_SG_AM_ADAPTED_MATRICES_DATA_OUTPUT_FILE_NAME_ODV
MetropolisHastingsSGOptions(const BaseEnvironment &env, const char *prefix)
Constructor: reads options from the input file.
std::string m_option_rawChain_measureRunTimes
std::string m_filteredChainDataOutputFileType
Type of output file for filtered chain.
std::string m_option_BrooksGelmanLag
bool m_rawChainDataOutputAllowAll
Toggle for whether or not to allow all processes to write Markov chain output to a file...
std::string m_option_tk_useNewtonComponent
Option name for MhOptionsValues::m_tkUseNewtonComponent. Option name is m_prefix + "mh_tk_useNewtonCo...
#define UQ_MH_SG_INITIAL_POSITION_DATA_INPUT_FILE_TYPE_ODV
std::string m_filteredChainDataOutputFileName
Name of output file for filtered chain.
void registerOption(std::string name, T defaultValue, std::string description)
Call this to register an option with the parser.
#define UQ_MH_SG_AM_KEEP_INITIAL_MATRIX_ODV
#define queso_require_msg(asserted, msg)
std::string m_option_initialProposalCovMatrix_dataInputFileType
Option name for MhOptionsValues::m_initialProposalCovMatrixDataInputFileType. Option name is m_prefix...
#define UQ_MH_SG_TK_USE_NEWTON_COMPONENT_ODV
std::string m_option_initialPosition_dataInputFileName
Option name for MhOptionsValues::m_initialPositionDataInputFileName. Option name is m_prefix + "mh_in...
std::string m_rawChainDataOutputFileType
Type of output file for raw chain.
std::string m_option_totallyMute
unsigned int m_filteredChainLag
Set the lag for the filtered chain. Default is 1.
std::string m_option_enableBrooksGelmanConvMonitor
std::string m_initialProposalCovMatrixDataInputFileName
Name of input file for initial proposal covariance matrix.
std::string m_option_am_initialNonAdaptInterval
unsigned int m_rawChainDataOutputPeriod
Period of message display during raw chain generation.
double m_amEta
Proposal covariance scaling factor, usually 2.4 * 2.4 / d.
void defineMyOptions(boost::program_options::options_description &optionsDesc) const
Defines the options for the Metropolis-Hastings generator of samples as the default options...
std::string m_option_am_adaptedMatrices_dataOutputAllowAll
#define UQ_MH_SG_AM_ADAPTED_MATRICES_DATA_OUTPUT_ALLOW_ALL_ODV
std::set< unsigned int > m_dataOutputAllowedSet
The set of MPI ranks that can write output. See m_dataOutputAllowAll.
bool m_tkUseNewtonComponent
This option is a no-op. Default is true.
#define UQ_MH_SG_INITIAL_POSITION_DATA_INPUT_FILE_NAME_ODV
unsigned int m_rawChainSize
The size of the chain (number of posterior samples) to generate. Default is 100.
unsigned int m_rawChainDisplayPeriod
Period of message display during raw chain generation.
void print(std::ostream &os) const
It prints the option values.
~MetropolisHastingsSGOptions()
Destructor.
std::string m_option_dr_maxNumExtraStages
Option name for MhOptionsValues::m_drMaxNumExtraStages. Option name is m_prefix + "mh_dr_maxNumExtraS...
std::string m_option_dr_listOfScalesForExtraStages
BoostInputOptionsParser * m_parser
std::set< unsigned int > m_filteredChainDataOutputAllowedSet
subEnvs that will write to output file for filtered chain.
#define queso_error_msg(msg)
This class provides options for the Metropolis-Hastings generator of samples if no input file is avai...
unsigned int m_amAdaptInterval
'am' adaptation interval.
std::string m_option_dr_duringAmNonAdaptiveInt
Option name for MhOptionsValues::m_drDuringAmNonAdaptiveInt. Option name is m_prefix + "mh_dr_duringA...
std::set< unsigned int > m_filteredChainDataOutputAllowedSet
The set of MPI ranks that will write filtered Markov chain output to a file. See also m_filteredChain...
#define UQ_MH_SG_DATA_OUTPUT_FILE_NAME_ODV
#define UQ_MH_SG_AM_EPSILON_ODV
bool m_amAdaptedMatricesDataOutputAllowAll
This option is a no-op. The default is false.
std::string m_option_rawChain_dataOutputPeriod
Option name for MhOptionsValues::m_rawChainDataOutputPeriod. Option name is m_prefix + "mh_rawChain_d...
unsigned int m_amAdaptedMatricesDataOutputPeriod
Period for outputing 'am' adapted matrices.
#define UQ_MH_SG_AM_INIT_NON_ADAPT_INT_ODV
const BaseEnvironment * m_env
std::string m_option_rawChain_dataOutputAllowAll
Option name for MhOptionsValues::m_rawChainDataOutputAllowAll. Option name is m_prefix + "mh_rawChain...
bool m_rawChainMeasureRunTimes
If true, measures timings spent in various chain computions and writes them to the output file...
#define UQ_MH_SG_AM_ETA_ODV
std::string m_amAdaptedMatricesDataOutputFileName
Name of output file for 'am' adapted matrices.
std::string m_rawChainDataInputFileName
Name of input file for raw chain.
std::string m_option_tk_useNewtonComponent
bool m_amAdaptedMatricesDataOutputAllowAll
Whether or not subEnvs will write to output file for 'am' adapted matrices.
std::string m_option_am_adaptedMatrices_dataOutputPeriod
Option name for MhOptionsValues::m_amAdaptedMatricesDataOutputPeriod. Option name is m_prefix + "mh_a...
#define UQ_MH_SG_ENABLE_BROOKS_GELMAN_CONV_MONITOR
bool m_rawChainDataOutputAllowAll
Whether or not subEnvs will write to output file for raw chain.
double m_amEpsilon
Regularisation parameter for the DRAM covariance matrix.
bool m_doLogitTransform
Flag for deciding whether or not to do logit transform of bounded domains Default is true...
std::set< unsigned int > m_rawChainDataOutputAllowedSet
The set of MPI ranks that will write Markov chain output to a file. See also m_rawChainDataOutputAllo...
#define UQ_MH_SG_AM_ADAPTED_MATRICES_DATA_OUTPUT_PERIOD_ODV
std::string m_option_am_keepInitialMatrix
Option name for MhOptionsValues::m_amKeepInitialMatrix. Option name is m_prefix + "mh_am_keepInitialM...
std::string m_algorithm
Which algorithm to use for sampling.
std::string m_option_dataOutputAllowedSet
std::string m_option_filteredChain_dataOutputAllowAll
std::string m_option_dataOutputAllowAll
std::string m_option_filteredChain_lag
Option name for MhOptionsValues::m_filteredChainLag. Option name is m_prefix + "mh_filteredChain_lag"...
#define UQ_MH_SG_AM_ADAPTED_MATRICES_DATA_OUTPUT_ALLOWED_SET_ODV
unsigned int m_amAdaptInterval
The frequency at which to adapt the proposal covariance matrix.
std::string m_option_rawChain_dataInputFileName
std::string m_initialPositionDataInputFileName
Name of input file for initial position.
std::string m_option_am_adaptedMatrices_dataOutputAllowedSet
Option name for MhOptionsValues::m_amAdaptedMatricesDataOutputAllowedSet. Option name is m_prefix + "...
bool m_filteredChainDataOutputAllowAll
Whether or not subEnvs will write to output file for filtered chain.
std::string m_option_filteredChain_dataOutputFileType
Option name for MhOptionsValues::m_filteredChainDataOutputFileType. Option name is m_prefix + "mh_fil...
bool m_amKeepInitialMatrix
This option is a no-op. The default is false.
void copy(const MhOptionsValues &src)
Copies the option values from src to this.
std::string m_option_dr_duringAmNonAdaptiveInt
std::string m_option_am_adaptInterval
Option name for MhOptionsValues::m_amAdaptInterval. Option name is m_prefix + "mh_am_adaptInterval".
std::string m_option_rawChain_size
Option name for MhOptionsValues::m_rawChainSize. Option name is m_prefix + "mh_rawChain_size".
std::string m_option_rawChain_dataOutputPeriod
bool m_amKeepInitialMatrix
Whether or not 'am' will keep initial (given) matrix.
unsigned int m_amInitialNonAdaptInterval
'am' initial non adaptation interval
#define UQ_MH_SG_RAW_CHAIN_DATA_INPUT_FILE_TYPE_ODV
unsigned int m_amAdaptedMatricesDataOutputPeriod
The frequency (after m_amInitialNonAdaptInterval samples are done) of printing the last adapted propo...
std::string m_option_rawChain_dataInputFileName
Option name for MhOptionsValues::m_rawChainDataInputFileName. Option name is m_prefix + "mh_rawChain_...
#define UQ_MH_SG_DATA_OUTPUT_ALLOW_ALL_ODV
std::string m_option_filteredChain_dataOutputFileName
Option name for MhOptionsValues::m_filteredChainDataOutputFileName. Option name is m_prefix + "mh_fil...