queso-0.53.0
|
A class for handling Gaussian joint PDFs. More...
#include <GaussianJointPdf.h>
Public Member Functions | |
Constructor/Destructor methods | |
GaussianJointPdf (const char *prefix, const VectorSet< V, M > &domainSet, const V &lawExpVector, const V &lawVarVector) | |
Constructor. More... | |
GaussianJointPdf (const char *prefix, const VectorSet< V, M > &domainSet, const V &lawExpVector, const M &lawCovMatrix) | |
Constructor. More... | |
~GaussianJointPdf () | |
Destructor. More... | |
Math methods | |
double | actualValue (const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const |
Actual value of the Gaussian PDF: More... | |
double | lnValue (const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const |
Logarithm of the value of the Gaussian PDF (scalar function). More... | |
double | computeLogOfNormalizationFactor (unsigned int numSamples, bool updateFactorInternally) const |
Computes the logarithm of the normalization factor. More... | |
void | updateLawExpVector (const V &newLawExpVector) |
Updates the mean with the new value newLawExpVector . More... | |
void | updateLawCovMatrix (const M &newLawCovMatrix) |
Updates the lower triangular matrix from Cholesky decomposition of the covariance matrix to the new value newLowerCholLawCovMatrix . More... | |
const M & | lawCovMatrix () const |
Returns the covariance matrix; access to protected attribute m_lawCovMatrix. More... | |
const V & | lawExpVector () const |
Access to the vector of mean values and private attribute: m_lawExpVector. More... | |
const V & | lawVarVector () const |
Access to the vector of variance values and private attribute: m_lawVarVector. 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 |
Sets a value to be used in the normalization style (stored in the protected attribute m_normalizationStyle.) More... | |
void | setLogOfNormalizationFactor (double value) const |
Sets a logarithmic value to be used in the normalization factor (stored in the protected attribute m_normalizationStyle.) More... | |
Public Member Functions inherited from QUESO::BaseScalarFunction< V, M > | |
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... | |
Protected Attributes | |
V * | m_lawExpVector |
V * | m_lawVarVector |
bool | m_diagonalCovMatrix |
const M * | m_lawCovMatrix |
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 Gaussian joint PDFs.
This class allows the mathematical definition of a Gaussian Joint PDF.
Definition at line 52 of file GaussianJointPdf.h.
QUESO::GaussianJointPdf< V, M >::GaussianJointPdf | ( | const char * | prefix, |
const VectorSet< V, M > & | domainSet, | ||
const V & | lawExpVector, | ||
const V & | lawVarVector | ||
) |
Constructor.
Constructs a new object, given a prefix and the domain of the PDF, a vector of mean values, lawExpVector
, and a vector of covariance values lawVarVector
(an alternative representation for a diagonal covariance matrix).
Definition at line 33 of file GaussianJointPdf.C.
References QUESO::BaseEnvironment::displayVerbosity(), QUESO::GaussianJointPdf< V, M >::lawExpVector(), QUESO::GaussianJointPdf< V, M >::lawVarVector(), QUESO::BaseScalarFunction< V, M >::m_env, QUESO::BaseScalarFunction< V, M >::m_prefix, and QUESO::BaseEnvironment::subDisplayFile().
QUESO::GaussianJointPdf< V, M >::GaussianJointPdf | ( | const char * | prefix, |
const VectorSet< V, M > & | domainSet, | ||
const V & | lawExpVector, | ||
const M & | lawCovMatrix | ||
) |
Constructor.
Constructs a new object, given a prefix and the image set of the vector realizer, a vector of mean values, lawExpVector
, and a covariance matrix, lawCovMatrix
.
Definition at line 68 of file GaussianJointPdf.C.
References QUESO::BaseEnvironment::displayVerbosity(), QUESO::GaussianJointPdf< V, M >::lawExpVector(), QUESO::BaseScalarFunction< V, M >::m_env, QUESO::BaseScalarFunction< V, M >::m_prefix, and QUESO::BaseEnvironment::subDisplayFile().
QUESO::GaussianJointPdf< V, M >::~GaussianJointPdf | ( | ) |
|
virtual |
Actual value of the Gaussian PDF:
This method calls lnValue() and applies the exponential to it.
Implements QUESO::BaseJointPdf< V, M >.
Definition at line 125 of file GaussianJointPdf.C.
References queso_require_equal_to_msg, and queso_require_msg.
|
virtual |
Computes the logarithm of the normalization factor.
This routine calls BaseJointPdf::commonComputeLogOfNormalizationFactor().
Implements QUESO::BaseJointPdf< V, M >.
Definition at line 237 of file GaussianJointPdf.C.
References QUESO::BaseJointPdf< V, M >::commonComputeLogOfNormalizationFactor().
const M & QUESO::GaussianJointPdf< V, M >::lawCovMatrix | ( | ) | const |
Returns the covariance matrix; access to protected attribute m_lawCovMatrix.
Definition at line 277 of file GaussianJointPdf.C.
Referenced by QUESO::ScaledCovMatrixTKGroup< V, M >::setPreComputingPosition().
const V & QUESO::GaussianJointPdf< V, M >::lawExpVector | ( | ) | const |
Access to the vector of mean values and private attribute: m_lawExpVector.
Definition at line 111 of file GaussianJointPdf.C.
Referenced by QUESO::GaussianJointPdf< V, M >::GaussianJointPdf().
const V & QUESO::GaussianJointPdf< V, M >::lawVarVector | ( | ) | const |
Access to the vector of variance values and private attribute: m_lawVarVector.
Definition at line 118 of file GaussianJointPdf.C.
Referenced by QUESO::GaussianJointPdf< V, M >::GaussianJointPdf().
|
virtual |
Logarithm of the value of the Gaussian PDF (scalar function).
The ln(value) comes from a summation of the Gaussian density:
where the may recovered via this->lawVarVector()
, in case of diagonal matrices or via this->m_lawCovMatrix
, otherwise.
Implements QUESO::BaseJointPdf< V, M >.
Definition at line 168 of file GaussianJointPdf.C.
References queso_require_msg.
void QUESO::GaussianJointPdf< V, M >::updateLawCovMatrix | ( | const M & | newLawCovMatrix | ) |
Updates the lower triangular matrix from Cholesky decomposition of the covariance matrix to the new value newLowerCholLawCovMatrix
.
This method deletes old expected values (allocated at construction or last call to this method).
Definition at line 267 of file GaussianJointPdf.C.
void QUESO::GaussianJointPdf< V, M >::updateLawExpVector | ( | const V & | newLawExpVector | ) |
Updates the mean with the new value newLawExpVector
.
This method deletes old expected values (allocated at construction or last call to this method).
Definition at line 257 of file GaussianJointPdf.C.
|
protected |
Definition at line 118 of file GaussianJointPdf.h.
|
protected |
Definition at line 119 of file GaussianJointPdf.h.
|
protected |
Definition at line 116 of file GaussianJointPdf.h.
|
protected |
Definition at line 117 of file GaussianJointPdf.h.