SSJ API Documentation
Stochastic Simulation in Java
Loading...
Searching...
No Matches
umontreal.ssj.randvar.HypergeometricGen Class Reference

This class implements random variate generators for the hypergeometric distribution. More...

Inheritance diagram for umontreal.ssj.randvar.HypergeometricGen:
umontreal.ssj.randvar.RandomVariateGenInt umontreal.ssj.randvar.RandomVariateGen

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.

Detailed Description

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.

Constructor & Destructor Documentation

◆ HypergeometricGen() [1/2]

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.

◆ HypergeometricGen() [2/2]

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.

Member Function Documentation

◆ getK()

int umontreal.ssj.randvar.HypergeometricGen.getK ( )

Returns the \(k\) associated with this object.

Definition at line 99 of file HypergeometricGen.java.

◆ getL()

int umontreal.ssj.randvar.HypergeometricGen.getL ( )

Returns the \(l\) associated with this object.

Definition at line 92 of file HypergeometricGen.java.

◆ getM()

int umontreal.ssj.randvar.HypergeometricGen.getM ( )

Returns the \(m\) associated with this object.

Definition at line 85 of file HypergeometricGen.java.

◆ nextInt()

int umontreal.ssj.randvar.HypergeometricGen.nextInt ( RandomStream s,
int m,
int l,
int k )
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.

◆ setParams()

void umontreal.ssj.randvar.HypergeometricGen.setParams ( int m,
int l,
int k )
protected

Sets the parameter \(n\) and \(p\) of this object.

Definition at line 106 of file HypergeometricGen.java.


The documentation for this class was generated from the following file: