queso-0.53.0
|
Class defining infinite dimensional Gaussian measures. More...
#include <InfiniteDimensionalGaussian.h>
Public Member Functions | |
virtual boost::shared_ptr < FunctionBase > | draw () |
Draw from the measure, and then return a shared pointer to the draw. More... | |
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() More... | |
Constructor/Destructor methods | |
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 and beta^2 is a multiplicative coefficient of precision . More... | |
~InfiniteDimensionalGaussian () | |
Destructor. More... | |
Public Member Functions inherited from QUESO::InfiniteDimensionalMeasureBase | |
InfiniteDimensionalMeasureBase () | |
Default constructor. More... | |
virtual | ~InfiniteDimensionalMeasureBase () |
Destructor. More... | |
Private Attributes | |
const FunctionBase & | mean |
const OperatorBase & | precision |
const FullEnvironment & | env |
double | alpha |
double | beta |
std::vector< double > | coeffs |
Class defining infinite dimensional Gaussian measures.
Definition at line 50 of file InfiniteDimensionalGaussian.h.
QUESO::InfiniteDimensionalGaussian::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 and beta^2
is a multiplicative coefficient of precision
.
The argument alpha
refers to the power to which the precision
will be taken. And beta
is the multiplicative coefficient of preicision
. The complete measure is therefore:
N(mean
, beta^2
* pow
(precision
, alpha
))
It is expected that mean
and precision
will live longer than this
Definition at line 38 of file InfiniteDimensionalGaussian.C.
References coeffs, and QUESO::OperatorBase::get_num_converged().
QUESO::InfiniteDimensionalGaussian::~InfiniteDimensionalGaussian | ( | ) |
|
virtual |
Draw from the measure, and then return a shared pointer to the draw.
Implements QUESO::InfiniteDimensionalMeasureBase.
Definition at line 58 of file InfiniteDimensionalGaussian.C.
References beta, coeffs, env, QUESO::RngBase::gaussianSample(), QUESO::OperatorBase::get_num_converged(), QUESO::OperatorBase::inverse_kl_transform(), precision, and QUESO::BaseEnvironment::rngObject().
|
virtual |
Return coefficient i
of the KL expansion of the current draw. Must be called after draw()
Implements QUESO::InfiniteDimensionalMeasureBase.
Definition at line 70 of file InfiniteDimensionalGaussian.C.
References alpha, coeffs, QUESO::OperatorBase::get_eigenvalue(), and precision.
|
private |
Definition at line 89 of file InfiniteDimensionalGaussian.h.
Referenced by get_kl_coefficient().
|
private |
Definition at line 92 of file InfiniteDimensionalGaussian.h.
Referenced by draw().
|
private |
Definition at line 96 of file InfiniteDimensionalGaussian.h.
Referenced by draw(), get_kl_coefficient(), and InfiniteDimensionalGaussian().
|
private |
Definition at line 86 of file InfiniteDimensionalGaussian.h.
Referenced by draw().
|
private |
Definition at line 80 of file InfiniteDimensionalGaussian.h.
|
private |
Definition at line 83 of file InfiniteDimensionalGaussian.h.
Referenced by draw(), and get_kl_coefficient().