IMSL C# Numerical Library

Cdf.Hypergeometric Method 

Evaluates the hypergeometric cumulative probability distribution function.

public static double Hypergeometric(
   int k,
   int sampleSize,
   int defectivesInLot,
   int lotSize
);

Parameters

k
An int specifying the argument at which the function is to be evaluated.
sampleSize
An int specifying the sample size, n.
defectivesInLot
An int specifying the number of defectives in the lot, m.
lotSize
An int specifying the lot size, l.

Return Value

A double specifying the probability that a hypergeometric random variable takes a value less than or equal to k.

Remarks

Method Hypergeometric evaluates the distribution function of a hypergeometric random variable with parameters n, l, and m. The hypergeometric random variable X can be thought of as the number of items of a given type in a random sample of size n that is drawn without replacement from a population of size l containing m items of this type. The probability function is

\Pr \left( {X = j} \right) = \frac{{\left( 
            {_j^m } \right)\left( {_{n - j}^{l - m} } \right)}}{{\left( {_n^l } 
            \right)}}{\rm{for }}\,\,j = i,\;i + 1,\,\,i + 2,\; \ldots ,\;\min \left( 
            {n,m} \right)

where i = {\rm max}(0, n - l + m).

If k is greater than or equal to i and less than or equal to \min (n, m), Hypergeometric sums the terms in this expression for j going from i up to k. Otherwise, 0 or 1 is returned, as appropriate. So, as to avoid rounding in the accumulation, Hypergeometric performs the summation differently depending on whether or not k is greater than the mode of the distribution, which is the greatest integer less than or equal to (m + 1)(n + 1)/(l + 2).

See Also

Cdf Class | Imsl.Stat Namespace | Example