25 #include <queso/Defines.h>
27 #ifdef QUESO_HAVE_HDF5
29 #ifndef QUESO_INFINITE_SAMPLER_H
30 #define QUESO_INFINITE_SAMPLER_H
33 #include <queso/SharedPtr.h>
34 #include <queso/Environment.h>
35 #include <queso/InfiniteDimensionalMeasureBase.h>
36 #include <queso/InfiniteDimensionalLikelihoodBase.h>
37 #include <queso/InfiniteDimensionalMCMCSamplerOptions.h>
160 #endif // QUESO_INFINITE_SAMPLER_H
162 #endif // QUESO_HAVE_HDF5
void _append_scalar_dataset(hid_t dset, double data)
Class representing the infinite dimensional Markov chain Monte Carlo sampler.
const BaseEnvironment & m_env
hid_t _L2_norm_samples_dset
SharedPtr< FunctionBase >::Type current_physical_state
double avg_acc_prob()
Returns current average acceptance probability.
SharedPtr< FunctionBase >::Type _M2
SharedPtr< FunctionBase >::Type current_physical_var
InfiniteDimensionalLikelihoodBase & llhd
Abstract class representing the likelihood. Users must subclass this.
InfiniteDimensionalMeasureBase & prior
SharedPtr< FunctionBase >::Type proposed_physical_state
SharedPtr< FunctionBase >::Type current_physical_mean
Abstract base class for infinite dimensional measures.
InfiniteDimensionalMCMCSamplerOptions * m_ov
double llhd_val() const
Get the current value of the llhd.
~InfiniteDimensionalMCMCSampler()
Destructor.
SharedPtr< FunctionBase >::Type _delta
unsigned int iteration() const
Returns the current iteration number.
This class defines the options that specify the behaviour of the MCMC sampler.
double acc_prob()
Returns current acceptance probability.
std::shared_ptr< T > Type
InfiniteDimensionalMCMCSampler(const BaseEnvironment &env, InfiniteDimensionalMeasureBase &prior, InfiniteDimensionalLikelihoodBase &llhd, InfiniteDimensionalMCMCSamplerOptions *ov)
Construct an infinite dimensional MCMC chain with given prior, likelihood llhd, and options ov...
void step()
Do one iteration of the Markov chain.
SharedPtr< InfiniteDimensionalMCMCSampler >::Type clone_and_reset() const
Returns a pointer to new sampler, with all the moments reset.
void _metropolis_hastings()
This (virtual) class sets up the environment underlying the use of the QUESO library by an executable...
hid_t _create_scalar_dataset(const std::string &name)