queso-0.57.1
|
A class for handling Gamma joint PDFs. More...
#include <GammaJointPdf.h>
Public Member Functions | |
Constructor/Destructor methods | |
GammaJointPdf (const char *prefix, const VectorSet< V, M > &domainSet, const V &a, const V &b) | |
~GammaJointPdf () | |
Destructor. More... | |
Math methods | |
double | actualValue (const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const |
Actual value of the Gamma PDF. More... | |
double | lnValue (const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const |
Logarithm of the value of the Gamma PDF. More... | |
virtual void | distributionMean (V &meanVector) const |
Mean value of the underlying random variable. More... | |
virtual void | distributionVariance (M &covMatrix) const |
Covariance matrix of the underlying random variable. More... | |
double | computeLogOfNormalizationFactor (unsigned int numSamples, bool updateFactorInternally) const |
Computes the logarithm of the normalization factor. More... | |
Public Member Functions inherited from QUESO::BaseJointPdf< V, M > | |
BaseJointPdf (const char *prefix, const VectorSet< V, M > &domainSet) | |
Default constructor. More... | |
virtual | ~BaseJointPdf () |
Destructor. More... | |
virtual void | setNormalizationStyle (unsigned int value) const |
void | setLogOfNormalizationFactor (double value) const |
Sets a logarithmic value to be used in the normalization factor (stored in the protected attribute m_normalizationStyle.) More... | |
virtual void | print (std::ostream &os) const |
Print method. Non-pure for backwards compatibility. More... | |
Public Member Functions inherited from QUESO::BaseScalarFunction< V, M > | |
void | setFiniteDifferenceStepSize (double fdStepSize) |
Sets the step size for finite differencing gradients. More... | |
void | setFiniteDifferenceStepSize (unsigned int i, double fdStepSize) |
BaseScalarFunction (const char *prefix, const VectorSet< V, M > &domainSet) | |
Default constructor. More... | |
virtual | ~BaseScalarFunction () |
Destructor. More... | |
const VectorSet< V, M > & | domainSet () const |
Access to the protected attribute m_domainSet: domain set of the scalar function. More... | |
virtual double | lnValue (const V &domainVector) const |
Returns the logarithm of the function at domainVector . More... | |
virtual double | lnValue (const V &domainVector, V &gradVector) const |
Returns the logarithm of the function and its gradient at domainVector . More... | |
virtual double | lnValue (const V &domainVector, V &gradVector, const V &domainDirection, V &hessianEffect) const |
Protected Attributes | |
V | m_a |
V | m_b |
Protected Attributes inherited from QUESO::BaseJointPdf< V, M > | |
unsigned int | m_normalizationStyle |
double | m_logOfNormalizationFactor |
Protected Attributes inherited from QUESO::BaseScalarFunction< V, M > | |
const BaseEnvironment & | m_env |
std::string | m_prefix |
const VectorSet< V, M > & | m_domainSet |
Domain set of the scalar function. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from QUESO::BaseJointPdf< V, M > | |
double | commonComputeLogOfNormalizationFactor (unsigned int numSamples, bool updateFactorInternally) const |
Common method (to the derived classes) to compute the logarithm of the normalization factor. More... | |
A class for handling Gamma joint PDFs.
This class allows the mathematical definition of a Gamma Joint PDF.
Definition at line 47 of file GammaJointPdf.h.
QUESO::GammaJointPdf< V, M >::GammaJointPdf | ( | const char * | prefix, |
const VectorSet< V, M > & | domainSet, | ||
const V & | a, | ||
const V & | b | ||
) |
Constructor for a shape-scale parameterisation of a Gamma(a,b) pdf defined on domainSet
.
Constructs a new object of the class, given a prefix, the domain set, and the parameters a
and b
of the Gamma PDF.
The parameters a
and b
are the shape and scale parameters, respectively. That is, the pdf is
\[ f(x) = C x^{a-1} \exp \left( x / b \right), \]
where C
is a normalising constant.
Indeed, a
and b
are vectors and in multiple dimensions the pdf is just the product of Gamma(a_i, b_i) pdfs distributions in each dimension. That is, they are independent.
Note: the parameters a
and b
correspond to the shape and scale parameters k
and \(\theta\) in the Wikipedia entry for the Gamma distribution.
Definition at line 34 of file GammaJointPdf.C.
References QUESO::BaseEnvironment::displayVerbosity(), QUESO::BaseScalarFunction< V, M >::m_env, QUESO::BaseScalarFunction< V, M >::m_prefix, and QUESO::BaseEnvironment::subDisplayFile().
QUESO::GammaJointPdf< V, M >::~GammaJointPdf | ( | ) |
|
virtual |
Actual value of the Gamma PDF.
This routine calls method lnValue() and returns the exponent of the returning value of such method.
Implements QUESO::BaseJointPdf< V, M >.
Definition at line 64 of file GammaJointPdf.C.
References QUESO::queso_require_equal_to_msg.
|
virtual |
Computes the logarithm of the normalization factor.
This routine calls BaseJointPdf::commonComputeLogOfNormalizationFactor().
Implements QUESO::BaseJointPdf< V, M >.
Definition at line 145 of file GammaJointPdf.C.
References QUESO::BaseJointPdf< V, M >::commonComputeLogOfNormalizationFactor().
|
virtual |
Mean value of the underlying random variable.
Reimplemented from QUESO::BaseJointPdf< V, M >.
Definition at line 117 of file GammaJointPdf.C.
|
virtual |
Covariance matrix of the underlying random variable.
Reimplemented from QUESO::BaseJointPdf< V, M >.
Definition at line 129 of file GammaJointPdf.C.
|
virtual |
Logarithm of the value of the Gamma PDF.
If the normalization style (m_normalizationStyle) is zero, then this routine calls a environment method which handles basic PDFs, e.g. basicPdfs()->gammaPdfActualValue() and adds the log of the normalization factor (m_logOfNormalizationFactor) to it; otherwise the method uses the formula: \( lnValue = \sum[ (a_i-1)*log(domainVector_i) -domainVector_i/b_i + m_logOfNormalizationFactor \), where a and b are the parameters of the Gamma PDF.
Reimplemented from QUESO::BaseScalarFunction< V, M >.
Definition at line 81 of file GammaJointPdf.C.
|
protected |
Definition at line 113 of file GammaJointPdf.h.
|
protected |
Definition at line 114 of file GammaJointPdf.h.