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
virtual void distributionMean(V &meanVector) const
Mean value of the underlying random variable.
A class for handling uniform joint PDFs.
double computeLogOfNormalizationFactor(unsigned int numSamples, bool updateFactorInternally) const
Computes the logarithm of the normalization factor.
~UniformJointPdf()
Destructor.
double actualValue(const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const
Actual value of the uniform PDF.
const BaseEnvironment & m_env
A templated (base) class for handling joint PDFs.
UniformJointPdf(const char *prefix, const VectorSet< V, M > &domainSet)
Constructor.
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...
virtual void distributionVariance(M &covMatrix) const
Covariance matrix of the underlying random variable.
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"))
std::ofstream * subDisplayFile() const
Access function for m_subDisplayFile (displays file on stream).
unsigned int displayVerbosity() const