nag_gamma_dist (g01efc) (PDF version)
g01 Chapter Contents
g01 Chapter Introduction
NAG C Library Manual

NAG Library Function Document

nag_gamma_dist (g01efc)

+ Contents

    1  Purpose
    7  Accuracy

1  Purpose

nag_gamma_dist (g01efc) returns the lower or upper tail probability of the gamma distribution, with parameters α and β.

2  Specification

#include <nag.h>
#include <nagg01.h>
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 α and β, PGg, is defined by:
P Gg ; α,β = 1 βα Γα 0g Gα-1 e-G/β dG ,   α>0.0 , ​ β>0.0 .
The mean of the distribution is αβ and its variance is αβ2. The transformation Z=Gβ is applied to yield the following incomplete gamma function in normalized form,
P Gg ; α ,β = P Zg/β : α,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.
tail=Nag_LowerTail
The lower tail probability is returned, that is PGg:α,β.
tail=Nag_UpperTail
The upper tail probability is returned, that is PGg:α,β.
Constraint: tail=Nag_LowerTail or Nag_UpperTail.
2:     gdoubleInput
On entry: g, the value of the gamma variate.
Constraint: g0.0.
3:     adoubleInput
On entry: the parameter α of the gamma distribution.
Constraint: a>0.0.
4:     bdoubleInput
On entry: the parameter β of the gamma distribution.
Constraint: 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 value iterations. The probability returned should be a reasonable approximation to the solution.
NE_BAD_PARAM
On entry, argument 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, a=value and b=value.
Constraint: a>0.0 and b>0.0.
NE_REAL_ARG_LT
On entry, g=value.
Constraint: g0.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.

8  Further Comments

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)


nag_gamma_dist (g01efc) (PDF version)
g01 Chapter Contents
g01 Chapter Introduction
NAG C Library Manual

© The Numerical Algorithms Group Ltd, Oxford, UK. 2012