|
queso-0.57.1
|
A class for handling Gaussian joint PDFs. More...
#include <GaussianJointPdf.h>
Public Member Functions | |
| virtual void | print (std::ostream &os) const |
| Print method for informational and logging purposes. More... | |
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... | |
| 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... | |
| 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 |
| 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 > | |
| 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_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 50 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 152 of file GaussianJointPdf.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 329 of file GaussianJointPdf.C.
References QUESO::BaseJointPdf< V, M >::commonComputeLogOfNormalizationFactor().
|
virtual |
Mean value of the underlying random variable.
Reimplemented from QUESO::BaseJointPdf< V, M >.
Definition at line 301 of file GaussianJointPdf.C.
|
virtual |
Covariance matrix of the underlying random variable.
Reimplemented from QUESO::BaseJointPdf< V, M >.
Definition at line 308 of file GaussianJointPdf.C.
| const M & QUESO::GaussianJointPdf< V, M >::lawCovMatrix | ( | ) | const |
Returns the covariance matrix; access to protected attribute m_lawCovMatrix.
Definition at line 369 of file GaussianJointPdf.C.
Referenced by QUESO::ScaledCovMatrixTKGroup< V, M >::setPreComputingPosition(), and QUESO::MetropolisAdjustedLangevinTK< 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:
\[ lnValue =- \sum_i \frac{1}{\sqrt{|covMatrix|} \sqrt{2 \pi}} exp(-\frac{(domainVector_i - lawExpVector_i)* covMatrix^{-1}* (domainVector_i - lawExpVector_i) }{2}, \]
where the \( covMatrix \) may recovered via this->lawVarVector(), in case of diagonal matrices or via this->m_lawCovMatrix, otherwise.
Reimplemented from QUESO::BaseScalarFunction< V, M >.
Definition at line 201 of file GaussianJointPdf.C.
|
virtual |
Print method for informational and logging purposes.
Reimplemented from QUESO::BaseJointPdf< V, M >.
Definition at line 125 of file GaussianJointPdf.C.
| 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 359 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 349 of file GaussianJointPdf.C.
|
protected |
Definition at line 126 of file GaussianJointPdf.h.
|
protected |
Definition at line 127 of file GaussianJointPdf.h.
|
protected |
Definition at line 124 of file GaussianJointPdf.h.
|
protected |
Definition at line 125 of file GaussianJointPdf.h.