25 #include <queso/UniformJointPdf.h>
26 #include <queso/GslVector.h>
27 #include <queso/GslMatrix.h>
32 template<
class V,
class M>
53 template<
class V,
class M>
58 template<
class V,
class M>
61 const V& domainVector,
62 const V* domainDirection,
65 V* hessianEffect)
const
69 "UniformJointPdf<V,M>::actualValue()",
72 if (gradVector ) *gradVector = m_domainSet.vectorSpace().zeroVector();
73 if (hessianMatrix) *hessianMatrix *= 0.;
74 if (hessianEffect) *hessianEffect = m_domainSet.vectorSpace().zeroVector();
76 if (domainDirection) {};
78 double volume = m_domainSet.volume();
79 if (((boost::math::isnan)(volume)) ||
80 (volume == -INFINITY ) ||
81 (volume == INFINITY ) ||
83 (m_normalizationStyle != 0 )) {
90 template<
class V,
class M>
93 const V& domainVector,
94 const V* domainDirection,
97 V* hessianEffect)
const
99 if (gradVector ) *gradVector = m_domainSet.vectorSpace().zeroVector();
100 if (hessianMatrix) *hessianMatrix *= 0.;
101 if (hessianEffect) *hessianEffect = m_domainSet.vectorSpace().zeroVector();
103 if (domainVector[0]) {};
104 if (domainDirection) {};
106 double volume = m_domainSet.volume();
107 if (((boost::math::isnan)(volume)) ||
108 (volume == -INFINITY ) ||
109 (volume == INFINITY ) ||
111 (m_normalizationStyle != 0 )) {
118 template<
class V,
class M>
124 if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 2)) {
125 *m_env.subDisplayFile() <<
"Entering UniformJointPdf<V,M>::computeLogOfNormalizationFactor()"
129 if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 2)) {
130 *m_env.subDisplayFile() <<
"Leaving UniformJointPdf<V,M>::computeLogOfNormalizationFactor()"
131 <<
", m_logOfNormalizationFactor = " << m_logOfNormalizationFactor
A templated class for handling sets.
A class for handling uniform joint PDFs.
std::ofstream * subDisplayFile() const
Access function for m_subDisplayFile (displays file on stream).
double lnValue(const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const
Logarithm of the value of the uniform PDF.
~UniformJointPdf()
Destructor.
const BaseEnvironment & m_env
double computeLogOfNormalizationFactor(unsigned int numSamples, bool updateFactorInternally) const
Computes the logarithm of the normalization factor.
double commonComputeLogOfNormalizationFactor(unsigned int numSamples, bool updateFactorInternally) const
Common method (to the derived classes) to compute the logarithm of the normalization factor...
unsigned int displayVerbosity() const
#define UQ_FATAL_TEST_MACRO(test, givenRank, where, what)
double actualValue(const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const
Actual value of the uniform PDF.
UniformJointPdf(const char *prefix, const VectorSet< V, M > &domainSet)
Constructor.
A templated (base) class for handling joint PDFs.