queso-0.57.1
|
A class for handling concatenated PDFs. More...
#include <ConcatenatedJointPdf.h>
Public Member Functions | |
Constructor/Destructor methods | |
ConcatenatedJointPdf (const char *prefix, const BaseJointPdf< V, M > &density1, const BaseJointPdf< V, M > &density2, const VectorSet< V, M > &concatenatedDomain) | |
Constructor. More... | |
ConcatenatedJointPdf (const char *prefix, const std::vector< const BaseJointPdf< V, M > * > &densities, const VectorSet< V, M > &concatenatedDomain) | |
Constructor. More... | |
~ConcatenatedJointPdf () | |
Destructor. More... | |
Math methods | |
double | actualValue (const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const |
Calculates the actual values of each density. More... | |
double | lnValue (const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const |
Calculates the logarithm of the values of each density. 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... | |
void | setNormalizationStyle (unsigned int value) const |
Sets the normalization style of all densities to value . 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... | |
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 | |
std::vector< const BaseJointPdf< V, M > * > | m_densities |
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 concatenated PDFs.
This class allows the user to defines concatenated probability density distributions, i.e, two or more distinct PDFs can be concatenated into one single PDF. This class used, for instance, to concatenate priors from two or more RVs, where one of them has a uniform distribution whereas the other one(s) has a Gaussian distribution.
Definition at line 53 of file ConcatenatedJointPdf.h.
QUESO::ConcatenatedJointPdf< V, M >::ConcatenatedJointPdf | ( | const char * | prefix, |
const BaseJointPdf< V, M > & | density1, | ||
const BaseJointPdf< V, M > & | density2, | ||
const VectorSet< V, M > & | concatenatedDomain | ||
) |
Constructor.
Concatenates two PDFs: density1
and density2
into one vector PDF, given a prefix and the concatenated domain of such PDFs.
Definition at line 33 of file ConcatenatedJointPdf.C.
References QUESO::ConcatenatedJointPdf< V, M >::m_densities, QUESO::queso_require_equal_to_msg, QUESO::size, and QUESO::VectorSet< V, M >::vectorSpace().
QUESO::ConcatenatedJointPdf< V, M >::ConcatenatedJointPdf | ( | const char * | prefix, |
const std::vector< const BaseJointPdf< V, M > * > & | densities, | ||
const VectorSet< V, M > & | concatenatedDomain | ||
) |
Constructor.
Concatenates a sequence of PDFs, given by: std::vector<const BaseJointPdf<V,M>* >& densities
into one single PDF, given a prefix and the concatenated domain of such PDFs.
Definition at line 53 of file ConcatenatedJointPdf.C.
References QUESO::ConcatenatedJointPdf< V, M >::m_densities, QUESO::queso_require_equal_to_msg, QUESO::size, and QUESO::VectorSet< V, M >::vectorSpace().
QUESO::ConcatenatedJointPdf< V, M >::~ConcatenatedJointPdf | ( | ) |
|
virtual |
Calculates the actual values of each density.
The final actual value is the multiplication of all values calculated.
Implements QUESO::BaseJointPdf< V, M >.
Definition at line 89 of file ConcatenatedJointPdf.C.
References QUESO::queso_require_equal_to_msg.
|
virtual |
Computes the logarithm of the normalization factor.
This method calls the computeLogOfNormalizationFactor() for each one of the densities that have been concatenated.
Implements QUESO::BaseJointPdf< V, M >.
Definition at line 216 of file ConcatenatedJointPdf.C.
References QUESO::queso_isnan().
|
virtual |
Mean value of the underlying random variable.
Reimplemented from QUESO::BaseJointPdf< V, M >.
Definition at line 202 of file ConcatenatedJointPdf.C.
|
virtual |
Covariance matrix of the underlying random variable.
Reimplemented from QUESO::BaseJointPdf< V, M >.
Definition at line 181 of file ConcatenatedJointPdf.C.
References QUESO::Map::NumGlobalElements().
|
virtual |
Calculates the logarithm of the values of each density.
The final logarithm value is the addition of all values calculated.
Reimplemented from QUESO::BaseScalarFunction< V, M >.
Definition at line 136 of file ConcatenatedJointPdf.C.
|
virtual |
Sets the normalization style of all densities to value
.
Reimplemented from QUESO::BaseJointPdf< V, M >.
Definition at line 79 of file ConcatenatedJointPdf.C.
|
protected |
Definition at line 107 of file ConcatenatedJointPdf.h.
Referenced by QUESO::ConcatenatedJointPdf< V, M >::ConcatenatedJointPdf().