25 #include <queso/JointPdf.h>
26 #include <queso/GslVector.h>
27 #include <queso/GslMatrix.h>
32 template<
class V,
class M>
38 m_normalizationStyle(0),
39 m_logOfNormalizationFactor(0.)
54 template<
class V,
class M>
59 template<
class V,
class M>
63 m_normalizationStyle = value;
67 template<
class V,
class M>
71 m_logOfNormalizationFactor = value;
75 template<
class V,
class M>
81 double volume = m_domainSet.volume();
82 if (((boost::math::isnan)(volume)) ||
83 (volume == -INFINITY ) ||
84 (volume == INFINITY ) ||
90 if (boxSubset == NULL) {
94 V tmpVec(m_domainSet.vectorSpace().zeroVector());
96 for (
unsigned int i = 0; i < numSamples; ++i) {
98 sum += this->actualValue(tmpVec,NULL,NULL,NULL,NULL);
100 double avgValue = sum/((double) numSamples);
101 value = -( log(avgValue) + log(volume) );
102 if (updateFactorInternally) {
103 m_logOfNormalizationFactor = value;
112 template <
class V,
class M>
116 if (componentId > m_components.size())
return m_dummyComponent;
117 if (m_components[componentId] == NULL)
return m_dummyComponent;
118 return *(m_components[componentId]);
virtual ~BaseJointPdf()
Destructor.
const V & maxValues() const
Vector of the maximum values of the box subset.
A templated class for handling sets.
std::ofstream * subDisplayFile() const
Access function for m_subDisplayFile (displays file on stream).
virtual void setNormalizationStyle(unsigned int value) const
Sets a value to be used in the normalization style (stored in the protected attribute m_normalization...
void setLogOfNormalizationFactor(double value) const
Sets a logarithmic value to be used in the normalization factor (stored in the protected attribute m_...
const V & minValues() const
Vector of the minimum values of the box subset.
Class representing a subset of a vector space shaped like a hypercube.
A templated (base) class for handling scalar functions.
A templated (base) class for handling joint PDFs.
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
BaseJointPdf(const char *prefix, const VectorSet< V, M > &domainSet)
Default constructor.