25 #ifndef UQ_GAUSSIAN_JOINT_PROB_DENSITY_H
26 #define UQ_GAUSSIAN_JOINT_PROB_DENSITY_H
30 #include <queso/JointPdf.h>
31 #include <queso/Environment.h>
32 #include <queso/ScalarFunction.h>
33 #include <queso/BoxSubset.h>
49 template <
class V = GslVector,
class M = GslMatrix>
67 const V& lawExpVector,
78 double actualValue (
const V& domainVector,
const V* domainDirection, V* gradVector, M* hessianMatrix, V* hessianEffect)
const;
85 double lnValue (
const V& domainVector,
const V* domainDirection, V* gradVector, M* hessianMatrix, V* hessianEffect)
const;
116 virtual void print(std::ostream & os)
const;
132 #endif // UQ_GAUSSIAN_JOINT_PROB_DENSITY_H
void updateLawCovMatrix(const M &newLawCovMatrix)
Updates the lower triangular matrix from Cholesky decomposition of the covariance matrix to the new v...
GaussianJointPdf(const char *prefix, const VectorSet< V, M > &domainSet, const V &lawExpVector, const V &lawVarVector)
Constructor.
const M & lawCovMatrix() const
Returns the covariance matrix; access to protected attribute m_lawCovMatrix.
const V & lawExpVector() const
Access to the vector of mean values and private attribute: m_lawExpVector.
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).
A templated (base) class for handling joint PDFs.
const VectorSet< V, M > & domainSet() const
Access to the protected attribute m_domainSet: domain set of the scalar function. ...
double computeLogOfNormalizationFactor(unsigned int numSamples, bool updateFactorInternally) const
Computes the logarithm of the normalization factor.
virtual void print(std::ostream &os) const
Print method for informational and logging purposes.
A templated class for handling sets.
double actualValue(const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const
Actual value of the Gaussian PDF:
virtual void distributionMean(V &meanVector) const
Mean value of the underlying random variable.
const V & lawVarVector() const
Access to the vector of variance values and private attribute: m_lawVarVector.
virtual void distributionVariance(M &covMatrix) const
Covariance matrix of the underlying random variable.
A templated (base) class for handling scalar functions.
void updateLawExpVector(const V &newLawExpVector)
Updates the mean with the new value newLawExpVector.
~GaussianJointPdf()
Destructor.
A class for handling Gaussian joint PDFs.