28 #include <queso/StatisticalInverseProblemOptions.h>
29 #include <queso/MetropolisHastingsSG.h>
30 #include <queso/MLSampling.h>
31 #include <queso/InstantiateIntersection.h>
32 #include <queso/VectorRealizer.h>
33 #include <queso/SequentialVectorRealizer.h>
34 #include <queso/VectorRV.h>
35 #include <queso/ScalarFunction.h>
36 #include <queso/GPMSA.h>
37 #include <queso/ScopedPtr.h>
84 template <
class P_V = GslVector,
class P_M = GslMatrix>
174 const P_V& initialValues,
175 const P_M* initialProposalCovMatrix);
186 const P_V & initialValues);
250 void print(std::ostream& os)
const;
280 #ifdef UQ_ALSO_COMPUTE_MDFS_WITHOUT_KDE
ScopedPtr< BaseVectorCdf< P_V, P_M > >::Type m_subSolutionCdf
StatisticalInverseProblem(const char *prefix, const SipOptionsValues *alternativeOptionsValues, const BaseVectorRV< P_V, P_M > &priorRv, const BaseScalarFunction< P_V, P_M > &likelihoodFunction, GenericVectorRV< P_V, P_M > &postRv)
Constructor.
std::unique_ptr< T > Type
double logEvidence() const
Returns the logarithm value of the evidence. Related to ML.
const ScalarSequence< double > & logLikelihoodValues() const
Returns log likelihood values; access to private attribute m_logLikelihoodValues. ...
ScopedPtr< MetropolisHastingsSG< P_V, P_M > >::Type m_mhSeqGenerator
const BaseVectorRV< P_V, P_M > & m_priorRv
This (virtual) class sets up the environment underlying the use of the QUESO library by an executable...
ScopedPtr< BaseVectorRealizer< P_V, P_M > >::Type m_solutionRealizer
ScopedPtr< const SipOptionsValues >::Type m_optionsObj
const BaseEnvironment & m_env
const BaseVectorRV< P_V, P_M > & priorRv() const
Returns the Prior RV; access to private attribute m_priorRv.
bool m_seedWithMAPEstimator
This class provides options for a Statistical Inverse Problem if no input file is available...
void print(std::ostream &os) const
TODO: Prints the sequence.
This class provides options for the Metropolis-Hastings generator of samples if no input file is avai...
const BaseVectorSequence< P_V, P_M > & chain() const
Returns the MCMC chain; access to private attribute m_chain.
A templated class that represents a Metropolis-Hastings generator of samples.
ScopedPtr< BaseJointPdf< P_V, P_M > >::Type m_solutionPdf
const GenericVectorRV< P_V, P_M > & postRv() const
Returns the Posterior RV; access to private attribute m_postrRv.
void solveWithBayesMLSampling()
Solves with Bayes Multi-Level (ML) sampling.
double meanLogLikelihood() const
Returns the mean of the logarithm value of the likelihood. Related to ML.
Base class for handling vector and array samples (sequence of vectors or arrays). ...
const ScalarSequence< double > & logTargetValues() const
Returns log target values; access to private attribute m_logTargetValues.
const BaseScalarFunction< P_V, P_M > & m_likelihoodFunction
const MetropolisHastingsSG< P_V, P_M > & sequenceGenerator() const
Return the underlying MetropolisHastingSG object.
ScopedPtr< BaseVectorSequence< P_V, P_M > >::Type m_chain
ScopedPtr< MLSampling< P_V, P_M > >::Type m_mlSampler
ScopedPtr< BaseVectorMdf< P_V, P_M > >::Type m_subSolutionMdf
This templated class represents a Statistical Inverse Problem.
ScopedPtr< ScalarSequence< double > >::Type m_logTargetValues
ScopedPtr< VectorSet< P_V, P_M > >::Type m_solutionDomain
ScopedPtr< ArrayOfOneDTables< P_V, P_M > > m_subMdfValues
void seedWithMAPEstimator()
Seeds the chain with the result of a deterministic optimisation.
ScopedPtr< ScalarSequence< double > >::Type m_logLikelihoodValues
ScopedPtr< ArrayOfOneDGrids< P_V, P_M > > m_subMdfGrids
~StatisticalInverseProblem()
Destructor.
bool computeSolutionFlag() const
Whether or not compute the solution.
GenericVectorRV< P_V, P_M > & m_postRv
void solveWithBayesMetropolisHastings()
Solves the problem via Bayes formula and a Metropolis-Hastings algorithm.
friend std::ostream & operator<<(std::ostream &os, const StatisticalInverseProblem< P_V, P_M > &obj)