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 umontreal.ssj.randvar.RandomVariateGenInt | |
| RandomVariateGenInt (RandomStream s, DiscreteDistributionInt dist) | |
| Creates a new random variate generator for the discrete distribution dist, using stream s. | |
| int | nextInt () |
| Generates a random number (an integer) from the discrete distribution contained in this object. | |
| void | nextArrayOfInt (int[] v, int start, int n) |
| Generates n random numbers from the discrete distribution contained in this object. | |
| 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. | |
| DiscreteDistributionInt | getDistribution () |
| Returns the umontreal.ssj.probdist.DiscreteDistributionInt used by this generator. | |
| Public Member Functions inherited from umontreal.ssj.randvar.RandomVariateGen | |
| RandomVariateGen (RandomStream s, Distribution dist) | |
| Creates a new random variate generator from the distribution dist, using stream s. | |
| double | nextDouble () |
| Generates a random number from the continuous distribution contained in this object. | |
| void | nextArrayOfDouble (double[] v, int start, int n) |
| Generates n random numbers from the continuous distribution contained in this object. | |
| 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. | |
| RandomStream | getStream () |
| Returns the umontreal.ssj.rng.RandomStream used by this generator. | |
| void | setStream (RandomStream stream) |
| Sets the umontreal.ssj.rng.RandomStream used by this generator to stream. | |
| 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. | |
This class implements random variate generators for the hypergeometric distribution.
Its mass function is (see, e.g., [64] (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 [98]
<div class="SSJ-bigskip"></div>
Definition at line 48 of file HypergeometricGen.java.
| umontreal.ssj.randvar.HypergeometricGen.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.
Definition at line 58 of file HypergeometricGen.java.
| umontreal.ssj.randvar.HypergeometricGen.HypergeometricGen | ( | RandomStream | s, |
| HypergeometricDist | dist ) |
Creates a new generator for distribution dist, using stream s.
Definition at line 66 of file HypergeometricGen.java.
| int umontreal.ssj.randvar.HypergeometricGen.getK | ( | ) |
Returns the \(k\) associated with this object.
Definition at line 99 of file HypergeometricGen.java.
| int umontreal.ssj.randvar.HypergeometricGen.getL | ( | ) |
Returns the \(l\) associated with this object.
Definition at line 92 of file HypergeometricGen.java.
| int umontreal.ssj.randvar.HypergeometricGen.getM | ( | ) |
Returns the \(m\) associated with this object.
Definition at line 85 of file HypergeometricGen.java.
|
static |
Generates a new variate from the hypergeometric distribution with parameters \(m = \) m, \(l = \) l and \(k = \) k, using stream s.
Definition at line 78 of file HypergeometricGen.java.
|
protected |
Sets the parameter \(n\) and \(p\) of this object.
Definition at line 106 of file HypergeometricGen.java.