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