Chapter 9: Special Functions

hypergeometric_cdf

Evaluates the hypergeometric distribution function.

Synopsis

#include <imsl.h>

float imsl_f_hypergeometric_cdf (int k, int n, int m, int l)

The type double procedure is imsl_d_hypergeometric_cdf.

Required Arguments

int k   (Input)
Argument for which the hypergeometric distribution function is to be evaluated.

int n   (Input)
Sample size n must be greater than or equal to k.

int m   (Input)
Number of defectives in the lot.

int l   (Input)
Lot size l must be greater than or equal to n and m.

Return Value

The probability that k or fewer defectives occur in a sample of size n drawn from a lot of size l that contains m defectives.

Description

The function imsl_f_hypergeometric_cdf 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

where i = max (0, n  l + m).

If k is greater than or equal to i and less than or equal to min (n, m), imsl_f_hypergeometric_cdf sums the terms in this expression for j going from
i up to k. Otherwise, 0 or 1 is returned, as appropriate.

To avoid rounding in the accumulation, imsl_f_hypergeometric_cdf performs the summation differently, depending on whether k is greater than the mode of the distribution, which is the greatest integer in
(m + 1) (n + 1)/(l + 2).

Example

Suppose X is a hypergeometric random variable with n = 100, l = 1000, and m = 70. This example evaluates the distribution function at 7.

#include <imsl.h>

void main()
{
    int         k = 7;
    int         l = 1000;
    int         m = 70;
    int         n = 100;
    float       p;

    p = imsl_f_hypergeometric_cdf(k,n,m,l);
    printf("\nPr (x <= 7) = %6.4f", p);
}

Output

Pr (x <= 7) = 0.599

Informational Errors

IMSL_LESS_THAN_ZERO                            The input argument, k, is less than zero.

IMSL_K_GREATER_THAN_N                       The input argument, k, is greater than the sample size.

Fatal Errors

IMSL_LOT_SIZE_TOO_SMALL                  Lot size must be greater than or equal to n and m.


Visual Numerics, Inc.
Visual Numerics - Developers of IMSL and PV-WAVE
http://www.vni.com/
PHONE: 713.784.3131
FAX:713.781.9260