SSJ
3.3.1
Stochastic Simulation in Java
|
This class implements random variate generators for the hypergeometric distribution. More...
Public Member Functions | |
HypergeometricGen (RandomStream s, int m, int l, int k) | |
Creates a hypergeometric generator with parameters \(m = \) m , \(l = \) l and \(k = \) k , using stream s . | |
HypergeometricGen (RandomStream s, HypergeometricDist dist) | |
Creates a new generator for distribution dist , using stream s . | |
int | getM () |
Returns the \(m\) associated with this object. | |
int | getL () |
Returns the \(l\) associated with this object. | |
int | getK () |
Returns the \(k\) associated with this object. | |
Public Member Functions inherited from RandomVariateGenInt | |
RandomVariateGenInt (RandomStream s, DiscreteDistributionInt dist) | |
Creates a new random variate generator for the discrete distribution dist , using stream s . More... | |
int | nextInt () |
Generates a random number (an integer) from the discrete distribution contained in this object. More... | |
void | nextArrayOfInt (int[] v, int start, int n) |
Generates n random numbers from the discrete distribution contained in this object. More... | |
int [] | nextArrayOfInt (int n) |
Generates n random numbers from the discrete distribution contained in this object, and returns them in a new array of size n . More... | |
DiscreteDistributionInt | getDistribution () |
Returns the umontreal.ssj.probdist.DiscreteDistributionInt used by this generator. More... | |
Public Member Functions inherited from RandomVariateGen | |
RandomVariateGen (RandomStream s, Distribution dist) | |
Creates a new random variate generator from the distribution dist , using stream s . More... | |
double | nextDouble () |
Generates a random number from the continuous distribution contained in this object. More... | |
void | nextArrayOfDouble (double[] v, int start, int n) |
Generates n random numbers from the continuous distribution contained in this object. More... | |
double [] | nextArrayOfDouble (int n) |
Generates n random numbers from the continuous distribution contained in this object, and returns them in a new array of size n . More... | |
RandomStream | getStream () |
Returns the umontreal.ssj.rng.RandomStream used by this generator. More... | |
void | setStream (RandomStream stream) |
Sets the umontreal.ssj.rng.RandomStream used by this generator to stream . | |
Distribution | getDistribution () |
Returns the umontreal.ssj.probdist.Distribution used by this generator. More... | |
String | toString () |
Returns a String containing information about the current generator. | |
Static Public Member Functions | |
static int | nextInt (RandomStream s, int m, int l, int k) |
Generates a new variate from the hypergeometric distribution with parameters \(m = \) m , \(l = \) l and \(k = \) k , using stream s . | |
Protected Member Functions | |
void | setParams (int m, int l, int k) |
Sets the parameter \(n\) and \(p\) of this object. | |
Additional Inherited Members | |
Protected Attributes inherited from RandomVariateGen | |
RandomStream | stream |
Distribution | dist |
This class implements random variate generators for the hypergeometric distribution.
Its mass function is (see, e.g., [66] (page 101))
\[ p(x) = \frac{ {m \choose x} {l - m\choose k-x}}{{l \choose k}} \qquad\mbox{for } x=\max(0,k-l+m), …, \min(k, m), \tag{fheperg} \]
where \(m\), \(l\) and \(k\) are integers that satisfy \(0< m\le l\) and \(0 < k\le l\).
The generation method is inversion using the chop-down algorithm [102]