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
 
UniformJointPdf(const char *prefix, const VectorSet< V, M > &domainSet)
Constructor. 
 
A templated class for handling sets. 
 
std::ofstream * subDisplayFile() const 
Access function for m_subDisplayFile (displays file on stream). 
 
A class for handling uniform joint PDFs. 
 
#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. 
 
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...
 
~UniformJointPdf()
Destructor. 
 
double computeLogOfNormalizationFactor(unsigned int numSamples, bool updateFactorInternally) const 
Computes the logarithm of the normalization factor. 
 
unsigned int displayVerbosity() const 
 
double lnValue(const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const 
Logarithm of the value of the uniform PDF. 
 
const BaseEnvironment & m_env