25 #include <boost/program_options.hpp>
27 #include <queso/Environment.h>
28 #include <queso/MetropolisHastingsSGOptions.h>
29 #include <queso/Miscellaneous.h>
39 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
40 const SsOptionsValues* alternativeRawSsOptionsValues,
41 const SsOptionsValues* alternativeFilteredSsOptionsValues
67 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
68 m_rawChainComputeStats (UQ_MH_SG_RAW_CHAIN_COMPUTE_STATS_ODV),
77 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
78 m_filteredChainComputeStats (UQ_MH_SG_FILTERED_CHAIN_COMPUTE_STATS_ODV),
85 m_drScalesForExtraStages (0),
102 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
103 m_alternativeRawSsOptionsValues (),
104 m_alternativeFilteredSsOptionsValues (),
107 m_option_help (m_prefix +
"help" ),
108 m_option_dataOutputFileName (m_prefix +
"dataOutputFileName" ),
109 m_option_dataOutputAllowAll (m_prefix +
"dataOutputAllowAll" ),
110 m_option_dataOutputAllowedSet (m_prefix +
"dataOutputAllowedSet" ),
111 m_option_totallyMute (m_prefix +
"totallyMute" ),
112 m_option_initialPosition_dataInputFileName (m_prefix +
"initialPosition_dataInputFileName" ),
113 m_option_initialPosition_dataInputFileType (m_prefix +
"initialPosition_dataInputFileType" ),
114 m_option_initialProposalCovMatrix_dataInputFileName(m_prefix +
"initialProposalCovMatrix_dataInputFileName"),
115 m_option_initialProposalCovMatrix_dataInputFileType(m_prefix +
"initialProposalCovMatrix_dataInputFileType"),
116 m_option_listOfDisabledParameters (m_prefix +
"listOfDisabledParameters" ),
117 m_option_rawChain_dataInputFileName (m_prefix +
"rawChain_dataInputFileName" ),
118 m_option_rawChain_dataInputFileType (m_prefix +
"rawChain_dataInputFileType" ),
119 m_option_rawChain_size (m_prefix +
"rawChain_size" ),
120 m_option_rawChain_generateExtra (m_prefix +
"rawChain_generateExtra" ),
121 m_option_rawChain_displayPeriod (m_prefix +
"rawChain_displayPeriod" ),
122 m_option_rawChain_measureRunTimes (m_prefix +
"rawChain_measureRunTimes" ),
123 m_option_rawChain_dataOutputPeriod (m_prefix +
"rawChain_dataOutputPeriod" ),
124 m_option_rawChain_dataOutputFileName (m_prefix +
"rawChain_dataOutputFileName" ),
125 m_option_rawChain_dataOutputFileType (m_prefix +
"rawChain_dataOutputFileType" ),
126 m_option_rawChain_dataOutputAllowAll (m_prefix +
"rawChain_dataOutputAllowAll" ),
127 m_option_rawChain_dataOutputAllowedSet (m_prefix +
"rawChain_dataOutputAllowedSet" ),
128 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
129 m_option_rawChain_computeStats (m_prefix +
"rawChain_computeStats" ),
131 m_option_filteredChain_generate (m_prefix +
"filteredChain_generate" ),
132 m_option_filteredChain_discardedPortion (m_prefix +
"filteredChain_discardedPortion" ),
133 m_option_filteredChain_lag (m_prefix +
"filteredChain_lag" ),
134 m_option_filteredChain_dataOutputFileName (m_prefix +
"filteredChain_dataOutputFileName" ),
135 m_option_filteredChain_dataOutputFileType (m_prefix +
"filteredChain_dataOutputFileType" ),
136 m_option_filteredChain_dataOutputAllowAll (m_prefix +
"filteredChain_dataOutputAllowAll" ),
137 m_option_filteredChain_dataOutputAllowedSet (m_prefix +
"filteredChain_dataOutputAllowedSet" ),
138 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
139 m_option_filteredChain_computeStats (m_prefix +
"filteredChain_computeStats" ),
141 m_option_displayCandidates (m_prefix +
"displayCandidates" ),
142 m_option_putOutOfBoundsInChain (m_prefix +
"putOutOfBoundsInChain" ),
143 m_option_tk_useLocalHessian (m_prefix +
"tk_useLocalHessian" ),
144 m_option_tk_useNewtonComponent (m_prefix +
"tk_useNewtonComponent" ),
145 m_option_dr_maxNumExtraStages (m_prefix +
"dr_maxNumExtraStages" ),
146 m_option_dr_listOfScalesForExtraStages (m_prefix +
"dr_listOfScalesForExtraStages" ),
147 m_option_dr_duringAmNonAdaptiveInt (m_prefix +
"dr_duringAmNonAdaptiveInt" ),
148 m_option_am_keepInitialMatrix (m_prefix +
"am_keepInitialMatrix" ),
149 m_option_am_initialNonAdaptInterval (m_prefix +
"am_initialNonAdaptInterval" ),
150 m_option_am_adaptInterval (m_prefix +
"am_adaptInterval" ),
151 m_option_am_adaptedMatrices_dataOutputPeriod (m_prefix +
"am_adaptedMatrices_dataOutputPeriod" ),
152 m_option_am_adaptedMatrices_dataOutputFileName (m_prefix +
"am_adaptedMatrices_dataOutputFileName" ),
153 m_option_am_adaptedMatrices_dataOutputFileType (m_prefix +
"am_adaptedMatrices_dataOutputFileType" ),
154 m_option_am_adaptedMatrices_dataOutputAllowAll (m_prefix +
"am_adaptedMatrices_dataOutputAllowAll" ),
155 m_option_am_adaptedMatrices_dataOutputAllowedSet (m_prefix +
"am_adaptedMatrices_dataOutputAllowedSet" ),
156 m_option_am_eta (m_prefix +
"am_eta" ),
157 m_option_am_epsilon (m_prefix +
"am_epsilon" ),
158 m_option_enableBrooksGelmanConvMonitor (m_prefix +
"enableBrooksGelmanConvMonitor" ),
159 m_option_BrooksGelmanLag (m_prefix +
"BrooksGelmanLag" ),
160 m_option_outputLogLikelihood (m_prefix +
"outputLogLikelihood" ),
161 m_option_outputLogTarget (m_prefix +
"outputLogTarget" ),
162 m_option_doLogitTransform (m_prefix +
"doLogitTransform" )
164 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
165 if (alternativeRawSsOptionsValues ) m_alternativeRawSsOptionsValues = *alternativeRawSsOptionsValues;
166 if (alternativeFilteredSsOptionsValues) m_alternativeFilteredSsOptionsValues = *alternativeFilteredSsOptionsValues;
171 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
172 const SsOptionsValues* alternativeRawSsOptionsValues,
173 const SsOptionsValues* alternativeFilteredSsOptionsValues,
179 m_prefix ((std::string)(prefix) +
"mh_"),
201 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
202 m_rawChainComputeStats (UQ_MH_SG_RAW_CHAIN_COMPUTE_STATS_ODV),
211 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
212 m_filteredChainComputeStats (UQ_MH_SG_FILTERED_CHAIN_COMPUTE_STATS_ODV),
219 m_drScalesForExtraStages (0),
236 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
237 m_alternativeRawSsOptionsValues (),
238 m_alternativeFilteredSsOptionsValues (),
241 m_option_help (m_prefix +
"help" ),
242 m_option_dataOutputFileName (m_prefix +
"dataOutputFileName" ),
243 m_option_dataOutputAllowAll (m_prefix +
"dataOutputAllowAll" ),
244 m_option_dataOutputAllowedSet (m_prefix +
"dataOutputAllowedSet" ),
245 m_option_totallyMute (m_prefix +
"totallyMute" ),
246 m_option_initialPosition_dataInputFileName (m_prefix +
"initialPosition_dataInputFileName" ),
247 m_option_initialPosition_dataInputFileType (m_prefix +
"initialPosition_dataInputFileType" ),
248 m_option_initialProposalCovMatrix_dataInputFileName(m_prefix +
"initialProposalCovMatrix_dataInputFileName"),
249 m_option_initialProposalCovMatrix_dataInputFileType(m_prefix +
"initialProposalCovMatrix_dataInputFileType"),
250 m_option_listOfDisabledParameters (m_prefix +
"listOfDisabledParameters" ),
251 m_option_rawChain_dataInputFileName (m_prefix +
"rawChain_dataInputFileName" ),
252 m_option_rawChain_dataInputFileType (m_prefix +
"rawChain_dataInputFileType" ),
253 m_option_rawChain_size (m_prefix +
"rawChain_size" ),
254 m_option_rawChain_generateExtra (m_prefix +
"rawChain_generateExtra" ),
255 m_option_rawChain_displayPeriod (m_prefix +
"rawChain_displayPeriod" ),
256 m_option_rawChain_measureRunTimes (m_prefix +
"rawChain_measureRunTimes" ),
257 m_option_rawChain_dataOutputPeriod (m_prefix +
"rawChain_dataOutputPeriod" ),
258 m_option_rawChain_dataOutputFileName (m_prefix +
"rawChain_dataOutputFileName" ),
259 m_option_rawChain_dataOutputFileType (m_prefix +
"rawChain_dataOutputFileType" ),
260 m_option_rawChain_dataOutputAllowAll (m_prefix +
"rawChain_dataOutputAllowAll" ),
261 m_option_rawChain_dataOutputAllowedSet (m_prefix +
"rawChain_dataOutputAllowedSet" ),
262 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
263 m_option_rawChain_computeStats (m_prefix +
"rawChain_computeStats" ),
265 m_option_filteredChain_generate (m_prefix +
"filteredChain_generate" ),
266 m_option_filteredChain_discardedPortion (m_prefix +
"filteredChain_discardedPortion" ),
267 m_option_filteredChain_lag (m_prefix +
"filteredChain_lag" ),
268 m_option_filteredChain_dataOutputFileName (m_prefix +
"filteredChain_dataOutputFileName" ),
269 m_option_filteredChain_dataOutputFileType (m_prefix +
"filteredChain_dataOutputFileType" ),
270 m_option_filteredChain_dataOutputAllowAll (m_prefix +
"filteredChain_dataOutputAllowAll" ),
271 m_option_filteredChain_dataOutputAllowedSet (m_prefix +
"filteredChain_dataOutputAllowedSet" ),
272 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
273 m_option_filteredChain_computeStats (m_prefix +
"filteredChain_computeStats" ),
275 m_option_displayCandidates (m_prefix +
"displayCandidates" ),
276 m_option_putOutOfBoundsInChain (m_prefix +
"putOutOfBoundsInChain" ),
277 m_option_tk_useLocalHessian (m_prefix +
"tk_useLocalHessian" ),
278 m_option_tk_useNewtonComponent (m_prefix +
"tk_useNewtonComponent" ),
279 m_option_dr_maxNumExtraStages (m_prefix +
"dr_maxNumExtraStages" ),
280 m_option_dr_listOfScalesForExtraStages (m_prefix +
"dr_listOfScalesForExtraStages" ),
281 m_option_dr_duringAmNonAdaptiveInt (m_prefix +
"dr_duringAmNonAdaptiveInt" ),
282 m_option_am_keepInitialMatrix (m_prefix +
"am_keepInitialMatrix" ),
283 m_option_am_initialNonAdaptInterval (m_prefix +
"am_initialNonAdaptInterval" ),
284 m_option_am_adaptInterval (m_prefix +
"am_adaptInterval" ),
285 m_option_am_adaptedMatrices_dataOutputPeriod (m_prefix +
"am_adaptedMatrices_dataOutputPeriod" ),
286 m_option_am_adaptedMatrices_dataOutputFileName (m_prefix +
"am_adaptedMatrices_dataOutputFileName" ),
287 m_option_am_adaptedMatrices_dataOutputFileType (m_prefix +
"am_adaptedMatrices_dataOutputFileType" ),
288 m_option_am_adaptedMatrices_dataOutputAllowAll (m_prefix +
"am_adaptedMatrices_dataOutputAllowAll" ),
289 m_option_am_adaptedMatrices_dataOutputAllowedSet (m_prefix +
"am_adaptedMatrices_dataOutputAllowedSet" ),
290 m_option_am_eta (m_prefix +
"am_eta" ),
291 m_option_am_epsilon (m_prefix +
"am_epsilon" ),
292 m_option_enableBrooksGelmanConvMonitor (m_prefix +
"enableBrooksGelmanConvMonitor" ),
293 m_option_BrooksGelmanLag (m_prefix +
"BrooksGelmanLag" ),
294 m_option_outputLogLikelihood (m_prefix +
"outputLogLikelihood" ),
295 m_option_outputLogTarget (m_prefix +
"outputLogTarget" ),
296 m_option_doLogitTransform (m_prefix +
"doLogitTransform" )
298 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
299 if (alternativeRawSsOptionsValues ) m_alternativeRawSsOptionsValues = *alternativeRawSsOptionsValues;
300 if (alternativeFilteredSsOptionsValues) m_alternativeFilteredSsOptionsValues = *alternativeFilteredSsOptionsValues;
324 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
325 m_parser->
registerOption<
bool >(m_option_rawChain_computeStats, UQ_MH_SG_RAW_CHAIN_COMPUTE_STATS_ODV ,
"compute statistics on raw chain" );
334 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
335 m_parser->
registerOption<
bool >(m_option_filteredChain_computeStats, UQ_MH_SG_FILTERED_CHAIN_COMPUTE_STATS_ODV ,
"compute statistics on filtered chain" );
383 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
384 m_parser->
getOption<
bool >(m_option_rawChain_computeStats, m_rawChain_computeStats);
393 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
394 m_parser->
getOption<
bool >(m_option_filteredChain_computeStats, m_filteredChain_computeStats);
505 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
506 m_rawChainComputeStats = src.m_rawChainComputeStats;
517 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
518 m_filteredChainComputeStats = src.m_filteredChainComputeStats;
545 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
546 m_alternativeRawSsOptionsValues = src.m_alternativeRawSsOptionsValues;
547 m_alternativeFilteredSsOptionsValues = src.m_alternativeFilteredSsOptionsValues;
554 os << (*(obj.
m_parser)) << std::endl;
586 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
587 <<
"\n" << obj.m_option_rawChain_computeStats <<
" = " << obj.m_rawChainComputeStats
600 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
601 <<
"\n" << obj.m_option_filteredChain_computeStats <<
" = " << obj.m_filteredChainComputeStats
645 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
647 m_rawChainStatisticalOptionsObj (NULL),
648 m_rawChainStatOptsInstantiated (false),
649 m_filteredChainStatisticalOptionsObj (NULL),
650 m_filteredChainStatOptsInstantiated (false),
654 m_prefix ((std::string)(prefix) +
"mh_"),
656 m_optionsDesc (new boost::program_options::options_description(
"Bayesian Metropolis-Hastings options")),
657 m_option_help (m_prefix +
"help" ),
658 m_option_dataOutputFileName (m_prefix +
"dataOutputFileName" ),
659 m_option_dataOutputAllowAll (m_prefix +
"dataOutputAllowAll" ),
660 m_option_dataOutputAllowedSet (m_prefix +
"dataOutputAllowedSet" ),
661 m_option_totallyMute (m_prefix +
"totallyMute" ),
662 m_option_initialPosition_dataInputFileName (m_prefix +
"initialPosition_dataInputFileName" ),
663 m_option_initialPosition_dataInputFileType (m_prefix +
"initialPosition_dataInputFileType" ),
664 m_option_initialProposalCovMatrix_dataInputFileName(m_prefix +
"initialProposalCovMatrix_dataInputFileName"),
665 m_option_initialProposalCovMatrix_dataInputFileType(m_prefix +
"initialProposalCovMatrix_dataInputFileType"),
666 m_option_listOfDisabledParameters (m_prefix +
"listOfDisabledParameters" ),
667 m_option_rawChain_dataInputFileName (m_prefix +
"rawChain_dataInputFileName" ),
668 m_option_rawChain_dataInputFileType (m_prefix +
"rawChain_dataInputFileType" ),
669 m_option_rawChain_size (m_prefix +
"rawChain_size" ),
670 m_option_rawChain_generateExtra (m_prefix +
"rawChain_generateExtra" ),
671 m_option_rawChain_displayPeriod (m_prefix +
"rawChain_displayPeriod" ),
672 m_option_rawChain_measureRunTimes (m_prefix +
"rawChain_measureRunTimes" ),
673 m_option_rawChain_dataOutputPeriod (m_prefix +
"rawChain_dataOutputPeriod" ),
674 m_option_rawChain_dataOutputFileName (m_prefix +
"rawChain_dataOutputFileName" ),
675 m_option_rawChain_dataOutputFileType (m_prefix +
"rawChain_dataOutputFileType" ),
676 m_option_rawChain_dataOutputAllowAll (m_prefix +
"rawChain_dataOutputAllowAll" ),
677 m_option_rawChain_dataOutputAllowedSet (m_prefix +
"rawChain_dataOutputAllowedSet" ),
678 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
679 m_option_rawChain_computeStats (m_prefix +
"rawChain_computeStats" ),
681 m_option_filteredChain_generate (m_prefix +
"filteredChain_generate" ),
682 m_option_filteredChain_discardedPortion (m_prefix +
"filteredChain_discardedPortion" ),
683 m_option_filteredChain_lag (m_prefix +
"filteredChain_lag" ),
684 m_option_filteredChain_dataOutputFileName (m_prefix +
"filteredChain_dataOutputFileName" ),
685 m_option_filteredChain_dataOutputFileType (m_prefix +
"filteredChain_dataOutputFileType" ),
686 m_option_filteredChain_dataOutputAllowAll (m_prefix +
"filteredChain_dataOutputAllowAll" ),
687 m_option_filteredChain_dataOutputAllowedSet (m_prefix +
"filteredChain_dataOutputAllowedSet" ),
688 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
689 m_option_filteredChain_computeStats (m_prefix +
"filteredChain_computeStats" ),
691 m_option_displayCandidates (m_prefix +
"displayCandidates" ),
692 m_option_putOutOfBoundsInChain (m_prefix +
"putOutOfBoundsInChain" ),
693 m_option_tk_useLocalHessian (m_prefix +
"tk_useLocalHessian" ),
694 m_option_tk_useNewtonComponent (m_prefix +
"tk_useNewtonComponent" ),
695 m_option_dr_maxNumExtraStages (m_prefix +
"dr_maxNumExtraStages" ),
696 m_option_dr_listOfScalesForExtraStages (m_prefix +
"dr_listOfScalesForExtraStages" ),
697 m_option_dr_duringAmNonAdaptiveInt (m_prefix +
"dr_duringAmNonAdaptiveInt" ),
698 m_option_am_keepInitialMatrix (m_prefix +
"am_keepInitialMatrix" ),
699 m_option_am_initialNonAdaptInterval (m_prefix +
"am_initialNonAdaptInterval" ),
700 m_option_am_adaptInterval (m_prefix +
"am_adaptInterval" ),
701 m_option_am_adaptedMatrices_dataOutputPeriod (m_prefix +
"am_adaptedMatrices_dataOutputPeriod" ),
702 m_option_am_adaptedMatrices_dataOutputFileName (m_prefix +
"am_adaptedMatrices_dataOutputFileName" ),
703 m_option_am_adaptedMatrices_dataOutputFileType (m_prefix +
"am_adaptedMatrices_dataOutputFileType" ),
704 m_option_am_adaptedMatrices_dataOutputAllowAll (m_prefix +
"am_adaptedMatrices_dataOutputAllowAll" ),
705 m_option_am_adaptedMatrices_dataOutputAllowedSet (m_prefix +
"am_adaptedMatrices_dataOutputAllowedSet" ),
706 m_option_am_eta (m_prefix +
"am_eta" ),
707 m_option_am_epsilon (m_prefix +
"am_epsilon" ),
708 m_option_enableBrooksGelmanConvMonitor (m_prefix +
"enableBrooksGelmanConvMonitor" ),
709 m_option_BrooksGelmanLag (m_prefix +
"BrooksGelmanLag" ),
710 m_option_outputLogLikelihood (m_prefix +
"outputLogLikelihood" ),
711 m_option_outputLogTarget (m_prefix +
"outputLogTarget" ),
712 m_option_doLogitTransform (m_prefix +
"doLogitTransform" )
724 m_ov (alternativeOptionsValues),
725 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
726 m_rawChainStatisticalOptionsObj (NULL),
727 m_rawChainStatOptsInstantiated (false),
728 m_filteredChainStatisticalOptionsObj (NULL),
729 m_filteredChainStatOptsInstantiated (false),
731 m_prefix ((std::string)(prefix) +
"mh_"),
733 m_optionsDesc (NULL),
734 m_option_help (m_prefix +
"help" ),
735 m_option_dataOutputFileName (m_prefix +
"dataOutputFileName" ),
736 m_option_dataOutputAllowAll (m_prefix +
"dataOutputAllowAll" ),
737 m_option_dataOutputAllowedSet (m_prefix +
"dataOutputAllowedSet" ),
738 m_option_totallyMute (m_prefix +
"totallyMute" ),
739 m_option_initialPosition_dataInputFileName (m_prefix +
"initialPosition_dataInputFileName" ),
740 m_option_initialPosition_dataInputFileType (m_prefix +
"initialPosition_dataInputFileType" ),
741 m_option_initialProposalCovMatrix_dataInputFileName(m_prefix +
"initialProposalCovMatrix_dataInputFileName"),
742 m_option_initialProposalCovMatrix_dataInputFileType(m_prefix +
"initialProposalCovMatrix_dataInputFileType"),
743 m_option_listOfDisabledParameters (m_prefix +
"listOfDisabledParameters" ),
744 m_option_rawChain_dataInputFileName (m_prefix +
"rawChain_dataInputFileName" ),
745 m_option_rawChain_dataInputFileType (m_prefix +
"rawChain_dataInputFileType" ),
746 m_option_rawChain_size (m_prefix +
"rawChain_size" ),
747 m_option_rawChain_generateExtra (m_prefix +
"rawChain_generateExtra" ),
748 m_option_rawChain_displayPeriod (m_prefix +
"rawChain_displayPeriod" ),
749 m_option_rawChain_measureRunTimes (m_prefix +
"rawChain_measureRunTimes" ),
750 m_option_rawChain_dataOutputPeriod (m_prefix +
"rawChain_dataOutputPeriod" ),
751 m_option_rawChain_dataOutputFileName (m_prefix +
"rawChain_dataOutputFileName" ),
752 m_option_rawChain_dataOutputFileType (m_prefix +
"rawChain_dataOutputFileType" ),
753 m_option_rawChain_dataOutputAllowAll (m_prefix +
"rawChain_dataOutputAllowAll" ),
754 m_option_rawChain_dataOutputAllowedSet (m_prefix +
"rawChain_dataOutputAllowedSet" ),
755 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
756 m_option_rawChain_computeStats (m_prefix +
"rawChain_computeStats" ),
758 m_option_filteredChain_generate (m_prefix +
"filteredChain_generate" ),
759 m_option_filteredChain_discardedPortion (m_prefix +
"filteredChain_discardedPortion" ),
760 m_option_filteredChain_lag (m_prefix +
"filteredChain_lag" ),
761 m_option_filteredChain_dataOutputFileName (m_prefix +
"filteredChain_dataOutputFileName" ),
762 m_option_filteredChain_dataOutputFileType (m_prefix +
"filteredChain_dataOutputFileType" ),
763 m_option_filteredChain_dataOutputAllowAll (m_prefix +
"filteredChain_dataOutputAllowAll" ),
764 m_option_filteredChain_dataOutputAllowedSet (m_prefix +
"filteredChain_dataOutputAllowedSet" ),
765 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
766 m_option_filteredChain_computeStats (m_prefix +
"filteredChain_computeStats" ),
768 m_option_displayCandidates (m_prefix +
"displayCandidates" ),
769 m_option_putOutOfBoundsInChain (m_prefix +
"putOutOfBoundsInChain" ),
770 m_option_tk_useLocalHessian (m_prefix +
"tk_useLocalHessian" ),
771 m_option_tk_useNewtonComponent (m_prefix +
"tk_useNewtonComponent" ),
772 m_option_dr_maxNumExtraStages (m_prefix +
"dr_maxNumExtraStages" ),
773 m_option_dr_listOfScalesForExtraStages (m_prefix +
"dr_listOfScalesForExtraStages" ),
774 m_option_dr_duringAmNonAdaptiveInt (m_prefix +
"dr_duringAmNonAdaptiveInt" ),
775 m_option_am_keepInitialMatrix (m_prefix +
"am_keepInitialMatrix" ),
776 m_option_am_initialNonAdaptInterval (m_prefix +
"am_initialNonAdaptInterval" ),
777 m_option_am_adaptInterval (m_prefix +
"am_adaptInterval" ),
778 m_option_am_adaptedMatrices_dataOutputPeriod (m_prefix +
"am_adaptedMatrices_dataOutputPeriod" ),
779 m_option_am_adaptedMatrices_dataOutputFileName (m_prefix +
"am_adaptedMatrices_dataOutputFileName" ),
780 m_option_am_adaptedMatrices_dataOutputFileType (m_prefix +
"am_adaptedMatrices_dataOutputFileType" ),
781 m_option_am_adaptedMatrices_dataOutputAllowAll (m_prefix +
"am_adaptedMatrices_dataOutputAllowAll" ),
782 m_option_am_adaptedMatrices_dataOutputAllowedSet (m_prefix +
"am_adaptedMatrices_dataOutputAllowedSet" ),
783 m_option_am_eta (m_prefix +
"am_eta" ),
784 m_option_am_epsilon (m_prefix +
"am_epsilon" ),
785 m_option_enableBrooksGelmanConvMonitor (m_prefix +
"enableBrooksGelmanConvMonitor" ),
786 m_option_BrooksGelmanLag (m_prefix +
"BrooksGelmanLag" ),
787 m_option_outputLogLikelihood (m_prefix +
"outputLogLikelihood" ),
788 m_option_outputLogTarget (m_prefix +
"outputLogTarget" ),
789 m_option_doLogitTransform (m_prefix +
"doLogitTransform" )
798 <<
": after setting values of options with prefix '" <<
m_prefix
799 <<
"', state of object is:"
804 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
805 if (
m_ov.m_rawChainComputeStats) {
806 m_rawChainStatisticalOptionsObj =
new SequenceStatisticalOptions(
m_env,
m_prefix +
"rawChain_",
m_ov.m_alternativeRawSsOptionsValues);
807 m_rawChainStatOptsInstantiated =
true;
809 if (
m_ov.m_filteredChainComputeStats) {
810 m_filteredChainStatisticalOptionsObj =
new SequenceStatisticalOptions(
m_env,
m_prefix +
"filteredChain_",
m_ov.m_alternativeFilteredSsOptionsValues);
811 m_filteredChainStatOptsInstantiated =
true;
819 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
821 m_rawChainStatisticalOptionsObj (NULL),
822 m_rawChainStatOptsInstantiated (false),
823 m_filteredChainStatisticalOptionsObj (NULL),
824 m_filteredChainStatOptsInstantiated (false),
828 m_prefix (mlOptions.m_prefix),
829 m_env (mlOptions.env()),
830 m_optionsDesc (NULL),
831 m_option_help (m_prefix +
"help" ),
832 m_option_dataOutputFileName (m_prefix +
"dataOutputFileName" ),
833 m_option_dataOutputAllowAll (m_prefix +
"dataOutputAllowAll" ),
834 m_option_dataOutputAllowedSet (m_prefix +
"dataOutputAllowedSet" ),
835 m_option_totallyMute (m_prefix +
"totallyMute" ),
836 m_option_initialPosition_dataInputFileName (m_prefix +
"initialPosition_dataInputFileName" ),
837 m_option_initialPosition_dataInputFileType (m_prefix +
"initialPosition_dataInputFileType" ),
838 m_option_initialProposalCovMatrix_dataInputFileName(m_prefix +
"initialProposalCovMatrix_dataInputFileName"),
839 m_option_initialProposalCovMatrix_dataInputFileType(m_prefix +
"initialProposalCovMatrix_dataInputFileType"),
840 m_option_listOfDisabledParameters (m_prefix +
"listOfDisabledParameters" ),
841 m_option_rawChain_dataInputFileName (m_prefix +
"rawChain_dataInputFileName" ),
842 m_option_rawChain_dataInputFileType (m_prefix +
"rawChain_dataInputFileType" ),
843 m_option_rawChain_size (m_prefix +
"rawChain_size" ),
844 m_option_rawChain_generateExtra (m_prefix +
"rawChain_generateExtra" ),
845 m_option_rawChain_displayPeriod (m_prefix +
"rawChain_displayPeriod" ),
846 m_option_rawChain_measureRunTimes (m_prefix +
"rawChain_measureRunTimes" ),
847 m_option_rawChain_dataOutputPeriod (m_prefix +
"rawChain_dataOutputPeriod" ),
848 m_option_rawChain_dataOutputFileName (m_prefix +
"rawChain_dataOutputFileName" ),
849 m_option_rawChain_dataOutputFileType (m_prefix +
"rawChain_dataOutputFileType" ),
850 m_option_rawChain_dataOutputAllowAll (m_prefix +
"rawChain_dataOutputAllowAll" ),
851 m_option_rawChain_dataOutputAllowedSet (m_prefix +
"rawChain_dataOutputAllowedSet" ),
852 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
853 m_option_rawChain_computeStats (m_prefix +
"rawChain_computeStats" ),
855 m_option_filteredChain_generate (m_prefix +
"filteredChain_generate" ),
856 m_option_filteredChain_discardedPortion (m_prefix +
"filteredChain_discardedPortion" ),
857 m_option_filteredChain_lag (m_prefix +
"filteredChain_lag" ),
858 m_option_filteredChain_dataOutputFileName (m_prefix +
"filteredChain_dataOutputFileName" ),
859 m_option_filteredChain_dataOutputFileType (m_prefix +
"filteredChain_dataOutputFileType" ),
860 m_option_filteredChain_dataOutputAllowAll (m_prefix +
"filteredChain_dataOutputAllowAll" ),
861 m_option_filteredChain_dataOutputAllowedSet (m_prefix +
"filteredChain_dataOutputAllowedSet" ),
862 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
863 m_option_filteredChain_computeStats (m_prefix +
"filteredChain_computeStats" ),
865 m_option_displayCandidates (m_prefix +
"displayCandidates" ),
866 m_option_putOutOfBoundsInChain (m_prefix +
"putOutOfBoundsInChain" ),
867 m_option_tk_useLocalHessian (m_prefix +
"tk_useLocalHessian" ),
868 m_option_tk_useNewtonComponent (m_prefix +
"tk_useNewtonComponent" ),
869 m_option_dr_maxNumExtraStages (m_prefix +
"dr_maxNumExtraStages" ),
870 m_option_dr_listOfScalesForExtraStages (m_prefix +
"dr_listOfScalesForExtraStages" ),
871 m_option_dr_duringAmNonAdaptiveInt (m_prefix +
"dr_duringAmNonAdaptiveInt" ),
872 m_option_am_keepInitialMatrix (m_prefix +
"am_keepInitialMatrix" ),
873 m_option_am_initialNonAdaptInterval (m_prefix +
"am_initialNonAdaptInterval" ),
874 m_option_am_adaptInterval (m_prefix +
"am_adaptInterval" ),
875 m_option_am_adaptedMatrices_dataOutputPeriod (m_prefix +
"am_adaptedMatrices_dataOutputPeriod" ),
876 m_option_am_adaptedMatrices_dataOutputFileName (m_prefix +
"am_adaptedMatrices_dataOutputFileName" ),
877 m_option_am_adaptedMatrices_dataOutputFileType (m_prefix +
"am_adaptedMatrices_dataOutputFileType" ),
878 m_option_am_adaptedMatrices_dataOutputAllowAll (m_prefix +
"am_adaptedMatrices_dataOutputAllowAll" ),
879 m_option_am_adaptedMatrices_dataOutputAllowedSet (m_prefix +
"am_adaptedMatrices_dataOutputAllowedSet" ),
880 m_option_am_eta (m_prefix +
"am_eta" ),
881 m_option_am_epsilon (m_prefix +
"am_epsilon" ),
882 m_option_enableBrooksGelmanConvMonitor (m_prefix +
"enableBrooksGelmanConvMonitor" ),
883 m_option_BrooksGelmanLag (m_prefix +
"BrooksGelmanLag" ),
884 m_option_outputLogLikelihood (m_prefix +
"outputLogLikelihood" ),
885 m_option_outputLogTarget (m_prefix +
"outputLogTarget" ),
886 m_option_doLogitTransform (m_prefix +
"doLogitTransform" )
910 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
911 m_ov.m_rawChainComputeStats = mlOptions.m_rawChainComputeStats;
920 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
921 m_ov.m_filteredChainComputeStats = mlOptions.m_filteredChainComputeStats;
946 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
951 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
952 m_rawChainStatisticalOptionsObj = mlOptions.m_rawChainStatisticalOptionsObj;
953 m_rawChainStatOptsInstantiated =
false;
954 m_filteredChainStatisticalOptionsObj = mlOptions.m_filteredChainStatisticalOptionsObj;
955 m_filteredChainStatOptsInstantiated =
false;
960 <<
": after copying values of options with prefix '" <<
m_prefix
961 <<
"', state of object is:"
971 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
972 if (m_filteredChainStatOptsInstantiated)
delete m_filteredChainStatisticalOptionsObj;
973 if (m_rawChainStatOptsInstantiated )
delete m_rawChainStatisticalOptionsObj;
993 <<
": after reading values of options with prefix '" <<
m_prefix
994 <<
"', state of object is:"
999 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
1000 if (
m_ov.m_rawChainComputeStats) {
1001 m_rawChainStatisticalOptionsObj =
new SequenceStatisticalOptions(
m_env,
m_prefix +
"rawChain_");
1002 m_rawChainStatOptsInstantiated =
true;
1004 if (
m_ov.m_filteredChainComputeStats) {
1005 m_filteredChainStatisticalOptionsObj =
new SequenceStatisticalOptions(
m_env,
m_prefix +
"filteredChain_");
1006 m_filteredChainStatOptsInstantiated =
true;
1022 os << *setIt <<
" ";
1031 os << *setIt <<
" ";
1045 os << *setIt <<
" ";
1048 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
1049 <<
"\n" << m_option_rawChain_computeStats <<
" = " <<
m_ov.m_rawChainComputeStats
1059 os << *setIt <<
" ";
1062 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
1063 <<
"\n" << m_option_filteredChain_computeStats <<
" = " <<
m_ov.m_filteredChainComputeStats
1084 os << *setIt <<
" ";
1104 optionsDesc.add_options()
1105 (
m_option_help.c_str(),
"produce help msg for Bayesian Metropolis-Hastings" )
1126 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
1127 (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" )
1136 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
1137 (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" )
1192 std::vector<double> tmpAllow(0,0.);
1196 if (tmpAllow.size() > 0) {
1197 for (
unsigned int i = 0; i < tmpAllow.size(); ++i) {
1225 std::vector<double> tmpAllow(0,0.);
1228 if (tmpAllow.size() > 0) {
1229 for (
unsigned int i = 0; i < tmpAllow.size(); ++i) {
1276 std::vector<double> tmpAllow(0,0.);
1280 if (tmpAllow.size() > 0) {
1281 for (
unsigned int i = 0; i < tmpAllow.size(); ++i) {
1287 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
1289 m_ov.m_rawChainComputeStats = ((
const boost::program_options::variable_value&)
m_env.
allOptionsMap()[m_option_rawChain_computeStats]).as<bool>();
1309 std::cerr <<
"WARNING In MetropolisHastingsSG<P_V,P_M>::getMyOptionsValues()"
1339 std::vector<double> tmpAllow(0,0.);
1343 if (tmpAllow.size() > 0) {
1344 for (
unsigned int i = 0; i < tmpAllow.size(); ++i) {
1350 #ifdef QUESO_USES_SEQUENCE_STATISTICAL_OPTIONS
1352 m_ov.m_filteredChainComputeStats = ((
const boost::program_options::variable_value&)
m_env.
allOptionsMap()[m_option_filteredChain_computeStats]).as<bool>();
1375 std::vector<double> tmpScales(0,0.);
1390 unsigned int tmpSize = tmpScales.size();
1395 if (i < tmpSize) scale = tmpScales[i];
1438 std::vector<double> tmpAllow(0,0.);
1442 if (tmpAllow.size() > 0) {
1443 for (
unsigned int i = 0; i < tmpAllow.size(); ++i) {
std::string m_filteredChainDataOutputFileType
The filetype of m_filteredChainDataOutputFileName. Only "m" (matlab) is currently supported...
std::string m_option_filteredChain_dataOutputAllowAll
Option name for MhOptionsValues::m_filteredChainDataOutputAllowAll. Option name is m_prefix + "mh_fil...
std::string m_option_am_adaptedMatrices_dataOutputPeriod
Option name for MhOptionsValues::m_amAdaptedMatricesDataOutputPeriod. Option name is m_prefix + "mh_a...
bool m_doLogitTransform
Flag for deciding whether or not to do logit transform of bounded domains Default is true...
unsigned int m_rawChainDisplayPeriod
Period of message display during raw chain generation.
std::string m_option_filteredChain_dataOutputAllowedSet
Option name for MhOptionsValues::m_filteredChainDataOutputAllowedSet. Option name is m_prefix + "mh_f...
#define UQ_MH_SG_RAW_CHAIN_DATA_OUTPUT_FILE_TYPE_ODV
#define UQ_MH_SG_INITIAL_POSITION_DATA_INPUT_FILE_NAME_ODV
std::string m_help
If non-empty string, print options and values to the output file.
std::string m_option_rawChain_dataOutputPeriod
Option name for MhOptionsValues::m_rawChainDataOutputPeriod. Option name is m_prefix + "mh_rawChain_d...
std::string m_option_outputLogTarget
bool m_rawChainGenerateExtra
If true, extra chain information is computed/stored.
#define UQ_MH_SG_OUTPUT_LOG_LIKELIHOOD
#define UQ_MH_SG_LIST_OF_DISABLED_PARAMETERS_ODV
std::string m_option_displayCandidates
Option name for MhOptionsValues::m_displayCandidates. Option name is m_prefix + "mh_displayCandidates...
double m_filteredChainDiscardedPortion
Initial discarded portion for chain filtering.
std::string m_option_initialPosition_dataInputFileName
std::string m_option_dataOutputAllowAll
std::string m_option_dr_duringAmNonAdaptiveInt
int subRank() const
Access function for sub-rank.
std::string m_option_dataOutputFileName
Option name for MhOptionsValues::m_dataOutputFileName. Option name is m_prefix + "mh_dataOutputFileNa...
std::string m_option_am_eta
Option name for MhOptionsValues::m_amEta. Option name is m_prefix + "mh_am_eta".
double m_amEpsilon
Regularisation parameter for the DRAM covariance matrix.
bool m_tkUseNewtonComponent
This option is a no-op. Default is true.
std::string m_option_am_keepInitialMatrix
void defineMyOptions(boost::program_options::options_description &optionsDesc) const
Defines the options for the Metropolis-Hastings generator of samples as the default options...
std::vector< double > m_drScalesForExtraStages
'dr' list of scales for proposal covariance matrices from 2nd stage on.
#define UQ_MH_SG_DR_MAX_NUM_EXTRA_STAGES_ODV
std::string m_dataOutputFileName
Name of generic output file.
std::string m_option_rawChain_generateExtra
#define UQ_MH_SG_RAW_CHAIN_DATA_OUTPUT_ALLOW_ALL_ODV
std::string m_option_dataOutputAllowAll
Option name for MhOptionsValues::m_dataOutputAllowAll. Option name is m_prefix + "mh_dataOutputAllowA...
#define UQ_MH_SG_AM_KEEP_INITIAL_MATRIX_ODV
std::string m_option_initialPosition_dataInputFileName
Option name for MhOptionsValues::m_initialPositionDataInputFileName. Option name is m_prefix + "mh_in...
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...
std::string m_initialPositionDataInputFileType
Type of input file for initial position.
std::string m_option_dataOutputFileName
void scanInputFileForMyOptions(const boost::program_options::options_description &optionsDesc) const
This method scans the input file provided by the user to QUESO.
std::string m_option_rawChain_dataOutputAllowAll
bool m_tkUseNewtonComponent
Whether or not 'proposal' uses Newton component.
void scanOptionsValues()
It scans the option values from the options input file.
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
bool m_amKeepInitialMatrix
Whether or not 'am' will keep initial (given) matrix.
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_option_totallyMute
std::string m_initialPositionDataInputFileType
The filetype of m_initialPositionDataInputFileName. Only "m" (matlab) is currently supported...
std::string m_rawChainDataInputFileName
Filename for reading an already-produced Markov chain.
std::string m_option_enableBrooksGelmanConvMonitor
std::string m_option_outputLogLikelihood
Option name for MhOptionsValues::m_outputLogLikelihood. Option name is m_prefix + "mh_outputLogLikeli...
std::string m_filteredChainDataOutputFileName
If not ".", file name to save the filtered chain to. Default is ".".
std::set< unsigned int > m_filteredChainDataOutputAllowedSet
subEnvs that will write to output file for filtered chain.
std::string m_option_filteredChain_discardedPortion
Option name for MhOptionsValues::m_filteredChainDiscardedPortion. Option name is m_prefix + "mh_filte...
#define UQ_MH_SG_DATA_OUTPUT_ALLOW_ALL_ODV
#define UQ_MH_SG_DR_LIST_OF_SCALES_FOR_EXTRA_STAGES_ODV
int fullRank() const
Returns the process full rank.
unsigned int m_amAdaptInterval
The frequency at which to adapt the proposal covariance matrix.
#define UQ_MH_SG_RAW_CHAIN_MEASURE_RUN_TIMES_ODV
#define queso_require_not_equal_to_msg(expr1, expr2, msg)
#define UQ_MH_SG_FILTERED_CHAIN_DATA_OUTPUT_FILE_TYPE_ODV
unsigned int m_amAdaptedMatricesDataOutputPeriod
Period for outputing 'am' adapted matrices.
std::set< unsigned int > m_amAdaptedMatricesDataOutputAllowedSet
subEnvs that will write to output file for 'am' adapted matrices.
#define UQ_MH_SG_RAW_CHAIN_GENERATE_EXTRA_ODV
MetropolisHastingsSGOptions(const BaseEnvironment &env, const char *prefix)
Constructor: reads options from the input file.
double m_amEta
Proposal covariance scaling factor, usually 2.4 * 2.4 / d.
std::string m_option_putOutOfBoundsInChain
bool m_totallyMute
Whether or not to be totally mute (no printout message).
std::string m_option_outputLogLikelihood
unsigned int m_rawChainDataOutputPeriod
The frequency with which to write chain output. Defaults to 0.
bool m_filteredChainGenerate
Whether or not to generate filtered chain.
std::string m_amAdaptedMatricesDataOutputFileName
Name of output file for 'am' adapted matrices.
bool m_rawChainDataOutputAllowAll
Whether or not subEnvs will write to output file for raw chain.
#define UQ_MH_SG_FILTERED_CHAIN_DATA_OUTPUT_ALLOWED_SET_ODV
std::string m_option_am_adaptedMatrices_dataOutputPeriod
bool m_displayCandidates
Display candidates generated in the core MH algorithm.
#define UQ_MH_SG_ENABLE_BROOKS_GELMAN_CONV_MONITOR
bool m_outputLogTarget
Flag for deciding whether or not to dump log target values in output Default is true.
std::vector< double > m_drScalesForExtraStages
The vector of scale factors for the proposal covariance matrix to use for delayed rejection...
std::ostream & operator<<(std::ostream &os, const BaseEnvironment &obj)
std::string m_option_rawChain_displayPeriod
#define UQ_MH_SG_RAW_CHAIN_DATA_INPUT_FILE_NAME_ODV
std::string m_initialPositionDataInputFileName
Name of input file for initial position.
This class provides options for each level of the Multilevel sequence generator if no input file is a...
std::string m_option_rawChain_size
#define UQ_MH_SG_DR_DURING_AM_NON_ADAPTIVE_INT_ODV
std::set< unsigned int > m_amAdaptedMatricesDataOutputAllowedSet
This option is a no-op. The default is the empty set.
std::string m_initialProposalCovMatrixDataInputFileType
Type of input file for initial proposal covariance matrix.
boost::program_options::variables_map & allOptionsMap() const
std::string m_option_am_adaptInterval
Option name for MhOptionsValues::m_amAdaptInterval. Option name is m_prefix + "mh_am_adaptInterval".
std::string m_initialProposalCovMatrixDataInputFileName
Name of input file for initial proposal covariance matrix.
unsigned int m_filteredChainLag
Set the lag for the filtered chain. Default is 1.
int inter0Rank() const
Returns the process inter0 rank.
std::string m_rawChainDataOutputFileName
Name of output file for raw chain.
void print(std::ostream &os) const
It prints the option values.
unsigned int m_rawChainSize
Size of raw chain.
std::string m_option_filteredChain_dataOutputFileName
Option name for MhOptionsValues::m_filteredChainDataOutputFileName. Option name is m_prefix + "mh_fil...
#define UQ_MH_SG_FILTERED_CHAIN_GENERATE_ODV
std::string m_option_dr_maxNumExtraStages
Option name for MhOptionsValues::m_drMaxNumExtraStages. Option name is m_prefix + "mh_dr_maxNumExtraS...
std::string m_option_tk_useNewtonComponent
std::set< unsigned int > m_dataOutputAllowedSet
The set of MPI ranks that can write output. See m_dataOutputAllowAll.
bool m_rawChainDataOutputAllowAll
Toggle for whether or not to allow all processes to write Markov chain output to a file...
std::string m_option_am_adaptedMatrices_dataOutputFileName
Option name for MhOptionsValues::m_amAdaptedMatricesDataOutputFileName. Option name is m_prefix + "mh...
unsigned int m_rawChainSize
The size of the chain (number of posterior samples) to generate. Default is 100.
#define UQ_MH_SG_DISPLAY_CANDIDATES_ODV
#define UQ_MH_SG_FILTERED_CHAIN_DATA_OUTPUT_FILE_NAME_ODV
std::string m_option_totallyMute
Option name for MhOptionsValues::m_totallyMute. Option name is m_prefix + "mh_totallyMute".
bool m_tkUseLocalHessian
Whether or not 'proposal' uses local Hessian.
unsigned int m_drMaxNumExtraStages
The number of delayed rejection stages to do. Default is 0.
std::set< unsigned int > m_dataOutputAllowedSet
subEnvs that will write to generic output file.
std::string m_option_initialProposalCovMatrix_dataInputFileType
Option name for MhOptionsValues::m_initialProposalCovMatrixDataInputFileType. Option name is m_prefix...
std::string m_amAdaptedMatricesDataOutputFileType
Type of output file for 'am' adapted matrices.
std::set< unsigned int > m_parameterDisabledSet
#define queso_require_equal_to_msg(expr1, expr2, msg)
#define UQ_MH_SG_BROOKS_GELMAN_LAG
std::string m_option_rawChain_dataOutputFileName
bool m_amAdaptedMatricesDataOutputAllowAll
This option is a no-op. The default is false.
const BaseEnvironment & m_env
bool m_putOutOfBoundsInChain
Flag to tell QUESO how chains should be upon generating a proposal that is out of the problem domain...
#define UQ_MH_SG_PUT_OUT_OF_BOUNDS_IN_CHAIN_ODV
std::string m_option_doLogitTransform
std::string m_rawChainDataOutputFileType
Type of output file for raw chain.
#define UQ_MH_SG_RAW_CHAIN_DATA_OUTPUT_PERIOD_ODV
std::string m_option_am_adaptedMatrices_dataOutputFileName
#define UQ_MH_SG_RAW_CHAIN_SIZE_ODV
#define UQ_MH_SG_INITIAL_POSITION_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 optionsInputFileName() const
Access to the attribute m_optionsInputFileName, which stores the name of the input file passed by the...
bool m_amKeepInitialMatrix
This option is a no-op. The default is false.
bool m_rawChainGenerateExtra
Generate extra information about raw chain.
void scanInputFile()
This is the method that parses the input file.
std::string m_option_tk_useLocalHessian
std::string m_option_rawChain_measureRunTimes
Option name for MhOptionsValues::m_rawChainMeasureRunTimes. Option name is m_prefix + "mh_rawChain_me...
std::string m_option_rawChain_size
Option name for MhOptionsValues::m_rawChainSize. Option name is m_prefix + "mh_rawChain_size".
unsigned int m_amInitialNonAdaptInterval
'am' initial non adaptation interval
std::string m_option_initialProposalCovMatrix_dataInputFileType
#define UQ_MH_SG_AM_ADAPTED_MATRICES_DATA_OUTPUT_ALLOWED_SET_ODV
#define queso_require_msg(asserted, msg)
std::string m_rawChainDataInputFileType
Type of input file for raw chain.
unsigned int m_rawChainDisplayPeriod
The frequency with which to output diagnostic information.
#define UQ_MH_SG_FILTERED_CHAIN_DATA_OUTPUT_ALLOW_ALL_ODV
void checkOptions(const BaseEnvironment *env)
#define UQ_MH_SG_DATA_OUTPUT_ALLOWED_SET_ODV
MhOptionsValues & operator=(const MhOptionsValues &rhs)
Assignment operator; it copies rhs to this.
std::string m_initialProposalCovMatrixDataInputFileName
If not ".", reads the contents of the file as the initial proposal covariance matrix.
std::string m_option_filteredChain_discardedPortion
std::string m_option_filteredChain_lag
std::ofstream * subDisplayFile() const
Access function for m_subDisplayFile (displays file on stream).
std::string m_option_am_adaptedMatrices_dataOutputAllowedSet
Option name for MhOptionsValues::m_amAdaptedMatricesDataOutputAllowedSet. Option name is m_prefix + "...
unsigned int m_amAdaptInterval
'am' adaptation interval.
bool m_dataOutputAllowAll
If true, all processes write output and m_dataOutputAllowedSet is ignored.
#define UQ_MH_SG_AM_ADAPTED_MATRICES_DATA_OUTPUT_FILE_TYPE_ODV
bool m_filteredChainDataOutputAllowAll
Whether or not subEnvs will write to output file for filtered chain.
std::string m_option_dr_duringAmNonAdaptiveInt
Option name for MhOptionsValues::m_drDuringAmNonAdaptiveInt. Option name is m_prefix + "mh_dr_duringA...
std::string m_option_rawChain_generateExtra
Option name for MhOptionsValues::m_rawChainGenerateExtra. Option name is m_prefix + "mh_rawChain_gene...
void copy(const MhOptionsValues &src)
Copies the option values from src to this.
#define UQ_MH_SG_RAW_CHAIN_DISPLAY_PERIOD_ODV
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_rawChain_dataOutputAllowAll
Option name for MhOptionsValues::m_rawChainDataOutputAllowAll. Option name is m_prefix + "mh_rawChain...
std::string m_option_rawChain_dataOutputPeriod
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_rawChainDataInputFileName
Name of input file for raw chain.
std::string m_option_filteredChain_generate
Option name for MhOptionsValues::m_filteredChainGenerate. Option name is m_prefix + "mh_filteredChain...
std::string m_option_am_initialNonAdaptInterval
Option name for MhOptionsValues::m_amInitialNonAdaptInterval. Option name is m_prefix + "mh_am_initia...
This (virtual) class sets up the environment underlying the use of the QUESO library by an executable...
unsigned int m_BrooksGelmanLag
The lag with which to compute the Brooks-Gelman convergence statistic.
#define UQ_MH_SG_TOTALLY_MUTE_ODV
std::string m_option_BrooksGelmanLag
std::string m_option_filteredChain_dataOutputAllowedSet
double m_filteredChainDiscardedPortion
What initial fraction of the filtered chain is discarded.
std::string m_option_putOutOfBoundsInChain
Option name for MhOptionsValues::m_putOutOfBoundsInChain. Option name is m_prefix + "mh_putOutOfBound...
std::string m_option_am_adaptedMatrices_dataOutputFileType
Option name for MhOptionsValues::m_amAdaptedMatricesDataOutputFileType. Option name is m_prefix + "mh...
#define UQ_MH_SG_OUTPUT_LOG_TARGET
bool m_drDuringAmNonAdaptiveInt
Do delayed rejection during the initial non-adaptive part of sampling?
std::string m_option_am_adaptedMatrices_dataOutputAllowedSet
unsigned int subId() const
Access function to the number of each sub-environment Id: m_subId.
#define UQ_MH_SG_AM_ADAPT_INTERVAL_ODV
std::string m_option_am_keepInitialMatrix
Option name for MhOptionsValues::m_amKeepInitialMatrix. Option name is m_prefix + "mh_am_keepInitialM...
#define UQ_MH_SG_INITIAL_PROPOSAL_COV_MATRIX_DATA_INPUT_FILE_NAME_ODV
std::string m_rawChainDataOutputFileName
If not ".", filename to write the Markov chain to.
void registerOption(std::string name, T defaultValue, std::string description)
Call this to register an option with the parser.
std::string m_filteredChainDataOutputFileType
Type of output file for filtered chain.
std::string m_option_help
std::string m_option_rawChain_measureRunTimes
double m_amEta
'am' eta.
This class provides options for the Metropolis-Hastings generator of samples if no input file is avai...
std::string m_option_listOfDisabledParameters
Option name for MhOptionsValues::m_parameterDisabledSet. Option name is m_prefix + "mh_listOfDisabled...
std::string m_option_rawChain_dataOutputFileName
Option name for MhOptionsValues::m_rawChainDataOutputFileName. Option name is m_prefix + "mh_rawChain...
std::string m_option_BrooksGelmanLag
Option name for MhOptionsValues::m_BrooksGelmanLag. Option name is m_prefix + "mh_BrooksGelmanLag".
#define UQ_MH_SG_AM_ADAPTED_MATRICES_DATA_OUTPUT_FILE_NAME_ODV
#define UQ_MH_SG_AM_ADAPTED_MATRICES_DATA_OUTPUT_ALLOW_ALL_ODV
double m_amEpsilon
'am' epsilon.
#define UQ_MH_SG_DO_LOGIT_TRANSFORM
bool m_amAdaptedMatricesDataOutputAllowAll
Whether or not subEnvs will write to output file for 'am' adapted matrices.
std::string m_rawChainDataOutputFileType
The filetype of m_rawChainDataOutputFileName. Only "m" (matlab) is currently supported. Default is "m".
unsigned int m_filteredChainLag
Spacing for chain filtering.
std::string m_filteredChainDataOutputFileName
Name of output file for filtered chain.
std::string m_option_dr_listOfScalesForExtraStages
#define UQ_MH_SG_AM_INIT_NON_ADAPT_INT_ODV
#define UQ_MH_SG_TK_USE_NEWTON_COMPONENT_ODV
void MiscReadDoublesFromString(const std::string &inputString, std::vector< double > &outputDoubles)
std::string m_option_am_eta
See MhOptionsValues::m_amEta.
virtual ~MhOptionsValues()
Destructor.
unsigned int m_rawChainDataOutputPeriod
Period of message display during raw chain generation.
std::string m_option_filteredChain_lag
Option name for MhOptionsValues::m_filteredChainLag. Option name is m_prefix + "mh_filteredChain_lag"...
std::string m_option_rawChain_dataOutputFileType
Option name for MhOptionsValues::m_rawChainDataOutputFileType. Option name is m_prefix + "mh_rawChain...
bool m_totallyMute
If true, zero output is written to files. Default is false.
#define queso_deprecated()
std::string m_option_initialProposalCovMatrix_dataInputFileName
std::string m_option_help
Option name for MhOptionsValues::m_help. Option name is m_prefix + "mh_help".
std::string m_initialPositionDataInputFileName
If not ".", reads the contents of the file and uses that to start the MCMC. Default is "...
std::string m_option_am_epsilon
See MhOptionsValues::m_amEpsilon.
#define UQ_MH_SG_RAW_CHAIN_DATA_INPUT_FILE_TYPE_ODV
std::string m_option_rawChain_dataInputFileType
Option name for MhOptionsValues::m_rawChainDataInputFileType. Option name is m_prefix + "mh_rawChain_...
std::string m_option_filteredChain_dataOutputFileName
std::string m_option_am_initialNonAdaptInterval
std::string m_option_initialPosition_dataInputFileType
Option name for MhOptionsValues::m_initialPositionDataInputFileType. Option name is m_prefix + "mh_in...
#define UQ_MH_SG_AM_ADAPTED_MATRICES_DATA_OUTPUT_PERIOD_ODV
MhOptionsValues()
Default constructor.
std::string m_option_am_adaptedMatrices_dataOutputFileType
std::string m_option_rawChain_dataOutputFileType
std::string m_option_initialProposalCovMatrix_dataInputFileName
Option name for MhOptionsValues::m_initialProposalCovMatrixDataInputFileName. Option name is m_prefix...
std::string m_option_filteredChain_generate
std::string m_option_dataOutputAllowedSet
Option name for MhOptionsValues::m_dataOutputAllowedSet. Option name is m_prefix + "mh_dataOutputAllo...
bool m_doLogitTransform
Whether or not a logit transform will be done for bounded domains.
std::string m_option_listOfDisabledParameters
#define UQ_MH_SG_FILTERED_CHAIN_DISCARDED_PORTION_ODV
BoostInputOptionsParser * m_parser
#define UQ_MH_SG_INITIAL_PROPOSAL_COV_MATRIX_DATA_INPUT_FILE_TYPE_ODV
bool m_dataOutputAllowAll
subEnvs that will write to generic output file.
#define queso_require_greater_equal_msg(expr1, expr2, msg)
std::string m_option_dr_maxNumExtraStages
bool m_filteredChainDataOutputAllowAll
Toggle for whether or not to allow all processes to write filtered Markov chain output to a file...
bool m_displayCandidates
Toggle to tell QUESO whether or not to write proposal (candidate) state to output file...
boost::program_options::options_description * m_optionsDesc
std::string m_option_am_epsilon
Option name for MhOptionsValues::m_amEpsilon. Option name is m_prefix + "mh_am_epsilon".
std::set< unsigned int > m_parameterDisabledSet
Set of parameters that don't get sampled.
#define UQ_MH_SG_DATA_OUTPUT_FILE_NAME_ODV
#define UQ_MH_SG_AM_EPSILON_ODV
MhOptionsValues m_ov
This class is where the actual options are stored.
std::string m_option_rawChain_dataInputFileName
std::string m_option_outputLogTarget
Option name for MhOptionsValues::m_outputLogTarget. Option name is m_prefix + "mh_outputLogTarget".
std::string m_option_am_adaptedMatrices_dataOutputAllowAll
#define UQ_MH_SG_AM_ETA_ODV
unsigned int m_enableBrooksGelmanConvMonitor
The frequency with which to compute the Brooks-Gelman convergence statistic.
std::string m_option_tk_useNewtonComponent
Option name for MhOptionsValues::m_tkUseNewtonComponent. Option name is m_prefix + "mh_tk_useNewtonCo...
bool m_rawChainMeasureRunTimes
If true, measures timings spent in various chain computions and writes them to the output file...
std::string m_option_rawChain_dataOutputAllowedSet
bool m_putOutOfBoundsInChain
Put 'out of bound' candidates in chain as well.
#define UQ_MH_SG_RAW_CHAIN_DATA_OUTPUT_FILE_NAME_ODV
int worldRank() const
Returns the process world rank.
std::string m_option_filteredChain_dataOutputFileType
This class reads the options for the Metropolis-Hastings generator of samples from an input file...
std::string m_option_doLogitTransform
Option name for MhOptionsValues::m_doLogitTransform. Option name is m_prefix + "mh_doLogitTransform"...
#define UQ_MH_SG_TK_USE_LOCAL_HESSIAN_ODV
std::string m_rawChainDataInputFileType
The filetype of m_rawChainDataInputFileName. Only "m" (matlab) is currently supported. Default is "m".
bool m_tkUseLocalHessian
Flag to tell QUESO whether or not to use Hessian information for the proposal covariance matrix...
bool m_filteredChainGenerate
Toggle the option to save a filtered chain.
std::set< unsigned int > m_rawChainDataOutputAllowedSet
The set of MPI ranks that will write Markov chain output to a file. See also m_rawChainDataOutputAllo...
std::string m_option_initialPosition_dataInputFileType
std::string m_initialProposalCovMatrixDataInputFileType
The filetype of m_initialProposalCovMatrixDataInputFileName. Only "m" (matlab) is currently supported...
unsigned int m_drMaxNumExtraStages
'dr' maximum number of extra stages.
bool m_outputLogLikelihood
Flag for deciding whether or not to dump log likelihood values in output. Default is true...
std::string m_option_filteredChain_dataOutputFileType
Option name for MhOptionsValues::m_filteredChainDataOutputFileType. Option name is m_prefix + "mh_fil...
void getOption(std::string &name, T &value)
Get option name from the parser and set value to the parsed value.
std::string m_option_rawChain_dataInputFileType
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_filteredChain_dataOutputAllowAll
std::string m_option_displayCandidates
void getMyOptionValues(boost::program_options::options_description &optionsDesc)
Gets the sequence options defined to the Metropolis-Hastings algorithm.
~MetropolisHastingsSGOptions()
Destructor.
std::string m_option_rawChain_dataInputFileName
Option name for MhOptionsValues::m_rawChainDataInputFileName. Option name is m_prefix + "mh_rawChain_...
#define UQ_MH_SG_RAW_CHAIN_DATA_OUTPUT_ALLOWED_SET_ODV
std::string m_dataOutputFileName
The base name of output files where the chain (and related information) will be written.
std::string m_amAdaptedMatricesDataOutputFileName
If not ".", this is the file to write adapted proposal covariance matrices to. Default is "...
std::string m_option_dataOutputAllowedSet
std::string m_amAdaptedMatricesDataOutputFileType
The filetype of m_amAdaptedMatricesDataOutputFileName. Only "m" (matlab) is currently supported...
#define UQ_MH_SG_FILTERED_CHAIN_LAG_ODV
bool m_drDuringAmNonAdaptiveInt
Whether or not 'dr' is used during 'am' non adaptive interval.