


The Hypergeometric Distribution
===============================

.. function:: gsl_ran_hypergeometric(p, n1, n2, t)

 This function returns a random integer from the :index:`hypergeometric
 distribution`. The probability distribution for hypergeometric
 random variates is,

 .. math::
   p(k) =  C(n_1, k) C(n_2, t - k) / C(n_1 + n_2, t)

 where :math:`C(a,b) = a!/(b!(a-b)!)` and :math:`t \leq n_1 + n_2`. The domain
 of :math:`k` is :math:`\max(0,t-n_2), ..., \min(t,n_1)`.

 If a population contains :math:`n_1` elements of "type 1" and :math:`n_2`
 elements of "type 2" then the hypergeometric distribution gives
 the probability of obtaining :math:`k` elements of "type 1" in :math:`t`
 samples from the population without replacement.

.. function:: gsl_ran_hypergeometric_pdf(k, n1, n2, t)

 This function computes the probability :math:`p(k)` of obtaining :math:`k` from
 a hypergeometric distribution with parameters ``n1``, ``n2``, ``t``,
 using the formula given above.

.. function:: gsl_cdf_hypergeometric_P(k, n1, n2, t)

.. function:: gsl_cdf_hypergeometric_Q(k, n1, n2, t)

 These functions compute the cumulative distribution functions
 :math:`P(k), Q(k)` for the hypergeometric distribution with parameters
 ``n1``, ``n2`` and ``t``.
