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
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
const BaseVectorSequence< P_V, P_M > & chain() const
Returns the MCMC chain; access to private attribute m_chain.
~StatisticalInverseProblem()
Destructor.
double meanLogLikelihood() const
Returns the mean of the logarithm value of the likelihood. Related to ML.
friend std::ostream & operator<<(std::ostream &os, const StatisticalInverseProblem< P_V, P_M > &obj)
const ScalarSequence< double > & logTargetValues() const
Returns log target values; access to private attribute m_logTargetValues.
A templated class that represents a Metropolis-Hastings generator of samples.
const BaseScalarFunction< P_V, P_M > & m_likelihoodFunction
ScopedPtr< BaseVectorSequence< P_V, P_M > >::Type m_chain
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< ScalarSequence< double > >::Type m_logTargetValues
This class provides options for a Statistical Inverse Problem if no input file is available...
ScopedPtr< VectorSet< P_V, P_M > >::Type m_solutionDomain
ScopedPtr< ArrayOfOneDTables< P_V, P_M > > m_subMdfValues
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
bool computeSolutionFlag() const
Whether or not compute the solution.
void print(std::ostream &os) const
TODO: Prints the sequence.
Base class for handling vector and array samples (sequence of vectors or arrays). ...
GenericVectorRV< P_V, P_M > & m_postRv
void solveWithBayesMetropolisHastings()
Solves the problem via Bayes formula and a Metropolis-Hastings algorithm.
This class provides options for the Metropolis-Hastings generator of samples if no input file is avai...
ScopedPtr< BaseJointPdf< P_V, P_M > >::Type m_solutionPdf
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.
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.
ScopedPtr< MetropolisHastingsSG< P_V, P_M > >::Type m_mhSeqGenerator
const BaseVectorRV< P_V, P_M > & m_priorRv
const MetropolisHastingsSG< P_V, P_M > & sequenceGenerator() const
Return the underlying MetropolisHastingSG object.
ScopedPtr< MLSampling< P_V, P_M > >::Type m_mlSampler
ScopedPtr< BaseVectorMdf< P_V, P_M > >::Type m_subSolutionMdf
ScopedPtr< BaseVectorRealizer< P_V, P_M > >::Type m_solutionRealizer
This templated class represents a Statistical Inverse Problem.
This (virtual) class sets up the environment underlying the use of the QUESO library by an executable...