queso-0.57.1
|
A class for handling sampling from (transformed) Gaussian probability density distributions with bounds. More...
#include <InvLogitGaussianVectorRealizer.h>
Public Member Functions | |
Constructor/Destructor methods | |
InvLogitGaussianVectorRealizer (const char *prefix, const BoxSubset< V, M > &unifiedImageBoxSubset, const V &lawExpVector, const M &lowerCholLawCovMatrix) | |
Constructor. More... | |
InvLogitGaussianVectorRealizer (const char *prefix, const BoxSubset< V, M > &unifiedImageBoxSubset, const V &lawExpVector, const M &matU, const V &vecSsqrt, const M &matVt) | |
Constructor. More... | |
~InvLogitGaussianVectorRealizer () | |
Destructor. More... | |
Realization-related methods | |
const V & | unifiedLawExpVector () const |
Access to the vector of mean values of the Gaussian and private attribute: m_unifiedLawExpVector. More... | |
const V & | unifiedLawVarVector () const |
Access to the vector of variance values and private attribute: m_unifiedLawVarVector. More... | |
void | realization (V &nextValues) const |
Draws a realization. More... | |
void | updateLawExpVector (const V &newLawExpVector) |
Updates the mean of the Gaussian with the new value newLawExpVector . More... | |
void | updateLowerCholLawCovMatrix (const M &newLowerCholLawCovMatrix) |
Updates the lower triangular matrix from Cholesky decomposition of the covariance matrix to the new value newLowerCholLawCovMatrix . More... | |
void | updateLowerCholLawCovMatrix (const M &matU, const V &vecSsqrt, const M &matVt) |
Updates the SVD matrices from SVD decomposition of the covariance matrix to the new values: matU , vecSsqrt , and matVt . More... | |
Public Member Functions inherited from QUESO::BaseVectorRealizer< V, M > | |
BaseVectorRealizer (const char *prefix, const VectorSet< V, M > &unifiedImageSet, unsigned int subPeriod) | |
Default constructor. More... | |
virtual | ~BaseVectorRealizer () |
Virtual destructor. More... | |
const VectorSet< V, M > & | unifiedImageSet () const |
Image set where the realizations lie. Access to protected attribute m_unifiedImageSet. More... | |
unsigned int | subPeriod () const |
Sub-period of the realization. Access to protected attribute m_subPeriod. More... | |
Private Attributes | |
V * | m_unifiedLawExpVector |
V * | m_unifiedLawVarVector |
M * | m_lowerCholLawCovMatrix |
M * | m_matU |
V * | m_vecSsqrt |
M * | m_matVt |
const BoxSubset< V, M > & | m_unifiedImageBoxSubset |
Additional Inherited Members | |
Protected Attributes inherited from QUESO::BaseVectorRealizer< V, M > | |
const BaseEnvironment & | m_env |
std::string | m_prefix |
const VectorSet< V, M > & | m_unifiedImageSet |
unsigned int | m_subPeriod |
A class for handling sampling from (transformed) Gaussian probability density distributions with bounds.
To get a realization from a transformed Gaussian (i.e. with bounds), an inverse logit
transform is applied. I.e., samples are \( f(X) \) where \( X \) is drawn from a Gaussian and where
\[ f(x) = \frac{b \exp(x) + a}{1 + \exp(x)}. \]
This will produce a sample in the closed interval [a, b].
Definition at line 51 of file InvLogitGaussianVectorRealizer.h.
QUESO::InvLogitGaussianVectorRealizer< V, M >::InvLogitGaussianVectorRealizer | ( | const char * | prefix, |
const BoxSubset< V, M > & | unifiedImageBoxSubset, | ||
const V & | lawExpVector, | ||
const M & | lowerCholLawCovMatrix | ||
) |
Constructor.
Constructs a new object, given a prefix and the image set of the vector realizer, a vector of mean values, lawExpVector
(of the Gaussian, not the transformed Gaussian), and a lower triangular matrix resulting from Cholesky decomposition of the covariance matrix, lowerCholLawCovMatrix
.
Definition at line 35 of file InvLogitGaussianVectorRealizer.C.
References QUESO::InvLogitGaussianVectorRealizer< V, M >::m_unifiedLawExpVector.
QUESO::InvLogitGaussianVectorRealizer< V, M >::InvLogitGaussianVectorRealizer | ( | const char * | prefix, |
const BoxSubset< V, M > & | unifiedImageBoxSubset, | ||
const V & | lawExpVector, | ||
const M & | matU, | ||
const V & | vecSsqrt, | ||
const M & | matVt | ||
) |
Constructor.
Constructs a new object, given a prefix and the image set of the vector realizer, a vector of mean values, lawExpVector
(of the Gaussian, not the transformed Gaussian), and a set of two matrices and one vector resulting from the Single Value Decomposition of the covariance matrix, matU
, vecSsqrt
and matVt
.
Definition at line 55 of file InvLogitGaussianVectorRealizer.C.
References QUESO::InvLogitGaussianVectorRealizer< V, M >::m_unifiedLawExpVector.
QUESO::InvLogitGaussianVectorRealizer< V, M >::~InvLogitGaussianVectorRealizer | ( | ) |
Destructor.
Definition at line 77 of file InvLogitGaussianVectorRealizer.C.
|
virtual |
Draws a realization.
This function draws a realization of a (transformed) Gaussian distribution with mean m_unifiedLawExpVector
and variance m_unifiedLawVarVector
and saves it in nextValues
.
Implements QUESO::BaseVectorRealizer< V, M >.
Definition at line 103 of file InvLogitGaussianVectorRealizer.C.
References QUESO::queso_isfinite().
const V & QUESO::InvLogitGaussianVectorRealizer< V, M >::unifiedLawExpVector | ( | ) | const |
Access to the vector of mean values of the Gaussian and private attribute: m_unifiedLawExpVector.
Definition at line 89 of file InvLogitGaussianVectorRealizer.C.
const V & QUESO::InvLogitGaussianVectorRealizer< V, M >::unifiedLawVarVector | ( | ) | const |
Access to the vector of variance values and private attribute: m_unifiedLawVarVector.
Definition at line 96 of file InvLogitGaussianVectorRealizer.C.
void QUESO::InvLogitGaussianVectorRealizer< V, M >::updateLawExpVector | ( | const V & | newLawExpVector | ) |
Updates the mean of the Gaussian with the new value newLawExpVector
.
Definition at line 151 of file InvLogitGaussianVectorRealizer.C.
void QUESO::InvLogitGaussianVectorRealizer< V, M >::updateLowerCholLawCovMatrix | ( | const M & | newLowerCholLawCovMatrix | ) |
Updates the lower triangular matrix from Cholesky decomposition of the covariance matrix to the new value newLowerCholLawCovMatrix
.
The lower triangular matrix results resulting from a Cholesky decomposition of the covariance matrix. This routine deletes old expected values: m_lowerCholLawCovMatrix; m_matU, m_vecSsqrt, m_matVt.
Definition at line 162 of file InvLogitGaussianVectorRealizer.C.
void QUESO::InvLogitGaussianVectorRealizer< V, M >::updateLowerCholLawCovMatrix | ( | const M & | matU, |
const V & | vecSsqrt, | ||
const M & | matVt | ||
) |
Updates the SVD matrices from SVD decomposition of the covariance matrix to the new values: matU
, vecSsqrt
, and matVt
.
The lower triangular matrix results resulting from a Cholesky decomposition of the covariance matrix. This routine deletes old expected values: m_lowerCholLawCovMatrix; m_matU, m_vecSsqrt, m_matVt.
Definition at line 179 of file InvLogitGaussianVectorRealizer.C.
|
private |
Definition at line 121 of file InvLogitGaussianVectorRealizer.h.
|
private |
Definition at line 122 of file InvLogitGaussianVectorRealizer.h.
|
private |
Definition at line 124 of file InvLogitGaussianVectorRealizer.h.
|
private |
Definition at line 132 of file InvLogitGaussianVectorRealizer.h.
|
private |
Definition at line 119 of file InvLogitGaussianVectorRealizer.h.
Referenced by QUESO::InvLogitGaussianVectorRealizer< V, M >::InvLogitGaussianVectorRealizer().
|
private |
Definition at line 120 of file InvLogitGaussianVectorRealizer.h.
|
private |
Definition at line 123 of file InvLogitGaussianVectorRealizer.h.