25 #include <queso/InverseGammaVectorRV.h>
26 #include <queso/InverseGammaVectorRealizer.h>
27 #include <queso/InverseGammaJointPdf.h>
28 #include <queso/GslVector.h>
29 #include <queso/GslMatrix.h>
34 template<
class V,
class M>
41 BaseVectorRV<V,M>(((std::string)(prefix)+
"uni").c_str(),imageSet)
52 double smallerOfMaxValues = imageBox->
maxValues().getMinValue();
53 double smallerOfMinValues = imageBox->
minValues().getMinValue();
55 if( smallerOfMinValues < 0 )
57 std::cerr <<
"In InverseGammaVectorRV<V,M>::constructor()\n"
58 <<
"Inverse Gamma distribution is only defined in (0, infinity).\n"
59 <<
"The data provided is: \n"
61 <<
"Sampling will not cover all interval.\n"
64 queso_require_greater_equal_msg(smallerOfMaxValues, 0,
"invalid input: Inverse Gamma distribution is only defined in (0, infinity), and min(m_maxValues)<0");
87 template<
class V,
class M>
97 template <
class V,
class M>
101 os <<
"InverseGammaVectorRV<V,M>::print() says, 'Please implement me.'" << std::endl;
unsigned int displayVerbosity() const
A templated class for handling sets.
A class for handling sampling from an Inverse Gamma probability density distribution.
const VectorSet< V, M > & m_imageSet
A templated base class for handling vector RV.
A class for handling Inverse Gamma joint PDFs.
BaseJointPdf< V, M > * m_pdf
void print(std::ostream &os) const
TODO: Prints the vector RV.
const V & maxValues() const
Vector of the maximum values of the box subset.
std::ofstream * subDisplayFile() const
Access function for m_subDisplayFile (displays file on stream).
const V & minValues() const
Vector of the minimum values of the box subset.
const BaseVectorCdf< V, M > * m_unifiedCdf
InverseGammaVectorRV(const char *prefix, const VectorSet< V, M > &imageSet, const V &alpha, const V &beta)
Default Constructor.
Class representing a subset of a vector space shaped like a hypercube.
const BaseEnvironment & m_env
const VectorSet< V, M > & imageSet() const
Image set of the vector RV; access to private attribute m_imageSet.
A class representing a vector RV constructed via Inverse Gamma distribution.
const BaseVectorMdf< V, M > * m_mdf
#define queso_require_greater_equal_msg(expr1, expr2, msg)
virtual ~InverseGammaVectorRV()
Virtual destructor.
const BaseVectorCdf< V, M > * m_subCdf
BaseVectorRealizer< V, M > * m_realizer