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;
103 virtual void print(std::ostream & os)
const;
128 template <
class V,
class M>
129 std::ostream & operator<<(std::ostream & os, const BaseJointPdf<V, M> & obj)
137 #endif // UQ_JOINT_PROB_DENSITY_H
A templated (base) class for handling scalar functions.
void setLogOfNormalizationFactor(double value) const
Sets a logarithmic value to be used in the normalization factor (stored in the protected attribute m_...
virtual void setNormalizationStyle(unsigned int value) const
virtual ~BaseJointPdf()
Destructor.
double m_logOfNormalizationFactor
A templated class for handling sets.
BaseJointPdf(const char *prefix, const VectorSet< V, M > &domainSet)
Default constructor.
const VectorSet< V, M > & domainSet() const
Access to the protected attribute m_domainSet: domain set of the scalar function. ...
double commonComputeLogOfNormalizationFactor(unsigned int numSamples, bool updateFactorInternally) const
Common method (to the derived classes) to compute the logarithm of the normalization factor...
A templated (base) class for handling joint PDFs.
virtual double actualValue(const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const =0
Actual value of the PDF (scalar function).
virtual void print(std::ostream &os) const
Print method. Non-pure for backwards compatibility.
virtual void distributionVariance(M &covMatrix) const
virtual double computeLogOfNormalizationFactor(unsigned int numSamples, bool m_logOfNormalizationFactor) const =0
Computes the logarithm of the normalization factor. See template specialization.
unsigned int m_normalizationStyle
virtual void distributionMean(V &meanVector) const