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 if (gradVector ) *gradVector = m_domainSet.vectorSpace().zeroVector();
70 if (hessianMatrix) *hessianMatrix *= 0.;
71 if (hessianEffect) *hessianEffect = m_domainSet.vectorSpace().zeroVector();
73 if (domainDirection) {};
75 double volume = m_domainSet.volume();
77 (volume == -INFINITY ) ||
78 (volume == INFINITY ) ||
80 (m_normalizationStyle != 0 )) {
87 template<
class V,
class M>
90 const V& domainVector,
91 const V* domainDirection,
94 V* hessianEffect)
const
96 if (gradVector ) *gradVector = m_domainSet.vectorSpace().zeroVector();
97 if (hessianMatrix) *hessianMatrix *= 0.;
98 if (hessianEffect) *hessianEffect = m_domainSet.vectorSpace().zeroVector();
100 if (domainVector[0]) {};
101 if (domainDirection) {};
103 double volume = m_domainSet.volume();
105 (volume == -INFINITY ) ||
106 (volume == INFINITY ) ||
108 (m_normalizationStyle != 0 )) {
115 template<
class V,
class M>
119 m_domainSet.centroid(meanVector);
122 template<
class V,
class M>
126 m_domainSet.moments(covMatrix);
129 template<
class V,
class M>
135 if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 2)) {
136 *m_env.subDisplayFile() <<
"Entering UniformJointPdf<V,M>::computeLogOfNormalizationFactor()"
140 if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 2)) {
141 *m_env.subDisplayFile() <<
"Leaving UniformJointPdf<V,M>::computeLogOfNormalizationFactor()"
142 <<
", m_logOfNormalizationFactor = " << m_logOfNormalizationFactor
UniformJointPdf(const char *prefix, const VectorSet< V, M > &domainSet)
Constructor.
virtual void distributionMean(V &meanVector) const
Mean value of the underlying random variable.
A templated class for handling sets.
double lnValue(const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const
Logarithm of the value of the uniform PDF.
double commonComputeLogOfNormalizationFactor(unsigned int numSamples, bool updateFactorInternally) const
Common method (to the derived classes) to compute the logarithm of the normalization factor...
~UniformJointPdf()
Destructor.
virtual void distributionVariance(M &covMatrix) const
Covariance matrix of the underlying random variable.
const BaseEnvironment & m_env
A templated (base) class for handling joint PDFs.
double actualValue(const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const
Actual value of the uniform PDF.
MonteCarloSGOptions::MonteCarloSGOptions(const BaseEnvironment &env, const char *prefix, const McOptionsValues &alternativeOptionsValues queso_require_equal_to_msg)(m_env.optionsInputFileName(), std::string(""), std::string("this constructor is incompatible with the existence of an options input file"))
A class for handling uniform joint PDFs.
unsigned int displayVerbosity() const
double computeLogOfNormalizationFactor(unsigned int numSamples, bool updateFactorInternally) const
Computes the logarithm of the normalization factor.
std::ofstream * subDisplayFile() const
Access function for m_subDisplayFile (displays file on stream).