25 #ifndef UQ_JOINT_PROB_DENSITY_H 
   26 #define UQ_JOINT_PROB_DENSITY_H 
   30 #include <queso/Environment.h> 
   31 #include <queso/ScalarFunction.h> 
   32 #include <queso/BoxSubset.h> 
   33 #include <queso/math_macros.h> 
   54 template <
class V = GslVector, 
class M = GslMatrix>
 
   69   virtual double actualValue                    (
const V& domainVector, 
const V* domainDirection, V* gradVector, M* hessianMatrix, V* hessianEffect) 
const = 0;
 
   73   virtual double lnValue                        (
const V& domainVector, 
const V* domainDirection, V* gradVector, M* hessianMatrix, V* hessianEffect) 
const = 0;
 
   97   virtual void print(std::ostream & os) 
const;
 
  120 template <
class V, 
class M>
 
  121 std::ostream & operator<<(std::ostream & os, const BaseJointPdf<V, M> & obj)
 
  129 #endif // UQ_JOINT_PROB_DENSITY_H 
A templated (base) class for handling scalar functions. 
 
virtual void distributionMean(V &meanVector) const 
 
void setLogOfNormalizationFactor(double value) const 
Sets a logarithmic value to be used in the normalization factor (stored in the protected attribute m_...
 
virtual void print(std::ostream &os) const 
Print method. Non-pure for backwards compatibility. 
 
virtual ~BaseJointPdf()
Destructor. 
 
A templated (base) class for handling joint PDFs. 
 
BaseJointPdf(const char *prefix, const VectorSet< V, M > &domainSet)
Default constructor. 
 
virtual void distributionVariance(M &covMatrix) const 
 
A templated class for handling sets. 
 
unsigned int m_normalizationStyle
 
double commonComputeLogOfNormalizationFactor(unsigned int numSamples, bool updateFactorInternally) const 
Common method (to the derived classes) to compute the logarithm of the normalization factor...
 
double m_logOfNormalizationFactor
 
virtual double lnValue(const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const =0
Logarithm of the value of the function. 
 
virtual double actualValue(const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const =0
Actual value of the PDF (scalar function). 
 
const VectorSet< V, M > & domainSet() const 
Access to the protected attribute m_domainSet: domain set of the scalar function. ...
 
virtual void setNormalizationStyle(unsigned int value) const 
Sets a value to be used in the normalization style (stored in the protected attribute m_normalization...
 
virtual double computeLogOfNormalizationFactor(unsigned int numSamples, bool m_logOfNormalizationFactor) const =0
Computes the logarithm of the normalization factor. See template specialization.