g01 Chapter Contents
g01 Chapter Introduction
NAG C Library Manual

NAG Library Function Documentnag_gamma_dist (g01efc)

1  Purpose

nag_gamma_dist (g01efc) returns the lower or upper tail probability of the gamma distribution, with parameters $\alpha$ and $\beta$.

2  Specification

 #include #include
 double nag_gamma_dist (Nag_TailProbability tail, double g, double a, double b, NagError *fail)

3  Description

The lower tail probability for the gamma distribution with parameters $\alpha$ and $\beta$, $P\left(G\le g\right)$, is defined by:
 $P G≤g ; α,β = 1 βα Γα ∫0g Gα-1 e-G/β dG , α>0.0 , ​ β>0.0 .$
The mean of the distribution is $\alpha \beta$ and its variance is $\alpha {\beta }^{2}$. The transformation $Z=\frac{G}{\beta }$ is applied to yield the following incomplete gamma function in normalized form,
 $P G≤g ; α ,β = P Z≤g/β : α,1.0 = 1 Γα ∫0g/β Zα-1 e-Z dZ .$
This is then evaluated using nag_incomplete_gamma (s14bac).

4  References

Hastings N A J and Peacock J B (1975) Statistical Distributions Butterworth

5  Arguments

1:     tailNag_TailProbabilityInput
On entry: indicates whether an upper or lower tail probability is required.
${\mathbf{tail}}=\mathrm{Nag_LowerTail}$
The lower tail probability is returned, that is $P\left(G\le g:\alpha ,\beta \right)$.
${\mathbf{tail}}=\mathrm{Nag_UpperTail}$
The upper tail probability is returned, that is $P\left(G\ge g:\alpha ,\beta \right)$.
Constraint: ${\mathbf{tail}}=\mathrm{Nag_LowerTail}$ or $\mathrm{Nag_UpperTail}$.
2:     gdoubleInput
On entry: $g$, the value of the gamma variate.
Constraint: ${\mathbf{g}}\ge 0.0$.
On entry: the parameter $\alpha$ of the gamma distribution.
Constraint: ${\mathbf{a}}>0.0$.
4:     bdoubleInput
On entry: the parameter $\beta$ of the gamma distribution.
Constraint: ${\mathbf{b}}>0.0$.
5:     failNagError *Input/Output
The NAG error argument (see Section 3.6 in the Essential Introduction).

6  Error Indicators and Warnings

On any of the error conditions listed below except NE_ALG_NOT_CONV nag_gamma_dist (g01efc) returns $0.0$.
NE_ALG_NOT_CONV
The algorithm has failed to converge in $〈\mathit{\text{value}}〉$ iterations. The probability returned should be a reasonable approximation to the solution.
On entry, argument $〈\mathit{\text{value}}〉$ had an illegal value.
NE_INTERNAL_ERROR
An internal error has occurred in this function. Check the function call and any array sizes. If the call is correct then please contact NAG for assistance.
NE_REAL_ARG_LE
On entry, ${\mathbf{a}}=〈\mathit{\text{value}}〉$ and ${\mathbf{b}}=〈\mathit{\text{value}}〉$.
Constraint: ${\mathbf{a}}>0.0$ and ${\mathbf{b}}>0.0$.
NE_REAL_ARG_LT
On entry, ${\mathbf{g}}=〈\mathit{\text{value}}〉$.
Constraint: ${\mathbf{g}}\ge 0.0$.

7  Accuracy

The result should have a relative accuracy of machine precision. There are rare occasions when the relative accuracy attained is somewhat less than machine precision but the error should not exceed more than $1$ or $2$ decimal places. Note also that there is a limit of $18$ decimal places on the achievable accuracy, because constants in nag_incomplete_gamma (s14bac) are given to this precision.

The time taken by nag_gamma_dist (g01efc) varies slightly with the input arguments g, a and b.

9  Example

This example reads in values from a number of gamma distributions and computes the associated lower tail probabilities.

9.1  Program Text

Program Text (g01efce.c)

9.2  Program Data

Program Data (g01efce.d)

9.3  Program Results

Program Results (g01efce.r)