28 #include <boost/shared_ptr.hpp>
30 #include <queso/InfiniteDimensionalMeasureBase.h>
31 #include <queso/InfiniteDimensionalGaussian.h>
32 #include <queso/Environment.h>
33 #include <queso/FunctionBase.h>
34 #include <queso/OperatorBase.h>
~InfiniteDimensionalGaussian()
Destructor.
virtual double get_eigenvalue(unsigned int i) const =0
Return eigenvalue i.
virtual double gaussianSample(double stdDev) const =0
Samples a value from a Gaussian distribution with standard deviation given by stdDev.
const RngBase * rngObject() const
Access to the RNG object.
virtual unsigned int get_num_converged() const =0
Return the number of converged eigenpairs.
const FullEnvironment & env
Abstract base class for function objects.
virtual boost::shared_ptr< FunctionBase > inverse_kl_transform(std::vector< double > &xi, double alpha) const =0
Given coefficients xi, computes the Karhunen-Loeve transform.
This class sets up the full environment underlying the use of the QUESO library by an executable...
Abstract base class for infinite dimensional measures.
Abstract base class for operator objects. Operators are assumed to be symmetric and positive-definite...
std::vector< double > coeffs
InfiniteDimensionalGaussian(const FullEnvironment &env, const FunctionBase &mean, const OperatorBase &precision, double alpha, double beta)
Construct a Gaussian with mean mean, precision operator precision. alpha controls regularity of draws...
virtual boost::shared_ptr< FunctionBase > draw()
Draw from the measure, and then return a shared pointer to the draw.
const OperatorBase & precision
virtual double get_kl_coefficient(unsigned int i) const
Return coefficient i of the KL expansion of the current draw. Must be called after draw() ...