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