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
double actualValue(const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const
Actual value of the uniform PDF.
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.
#define UQ_FATAL_TEST_MACRO(test, givenRank, where, what)
A templated class for handling sets.
UniformJointPdf(const char *prefix, const VectorSet< V, M > &domainSet)
Constructor.
A class for handling uniform joint PDFs.
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
const BaseEnvironment & m_env
A templated (base) class for handling joint PDFs.