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 updateLawExpVector(const V &newLawExpVector)
Updates the mean with the new value newLawExpVector. 
 
A templated (base) class for handling scalar functions. 
 
virtual void distributionMean(V &meanVector) const 
Mean value of the underlying random variable. 
 
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). 
 
const V & lawExpVector() const 
Access to the vector of mean values and private attribute: m_lawExpVector. 
 
A templated (base) class for handling joint PDFs. 
 
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. 
 
virtual void distributionVariance(M &covMatrix) const 
Covariance matrix of the underlying random variable. 
 
A class for handling Gaussian joint PDFs. 
 
~GaussianJointPdf()
Destructor. 
 
GaussianJointPdf(const char *prefix, const VectorSet< V, M > &domainSet, const V &lawExpVector, const V &lawVarVector)
Constructor. 
 
const V & lawVarVector() const 
Access to the vector of variance values and private attribute: m_lawVarVector. 
 
const VectorSet< V, M > & domainSet() const 
Access to the protected attribute m_domainSet: domain set of the scalar function. ...
 
double actualValue(const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const 
Actual value of the Gaussian PDF: 
 
void updateLawCovMatrix(const M &newLawCovMatrix)
Updates the lower triangular matrix from Cholesky decomposition of the covariance matrix to the new v...
 
const M & lawCovMatrix() const 
Returns the covariance matrix; access to protected attribute m_lawCovMatrix.