g01bk returns the lower tail, upper tail and point probabilities associated with a Poisson distribution.

Syntax

C#
public static void g01bk(
	double rlamda,
	int k,
	out double plek,
	out double pgtk,
	out double peqk,
	out int ifail
)
Visual Basic
Public Shared Sub g01bk ( _
	rlamda As Double, _
	k As Integer, _
	<OutAttribute> ByRef plek As Double, _
	<OutAttribute> ByRef pgtk As Double, _
	<OutAttribute> ByRef peqk As Double, _
	<OutAttribute> ByRef ifail As Integer _
)
Visual C++
public:
static void g01bk(
	double rlamda, 
	int k, 
	[OutAttribute] double% plek, 
	[OutAttribute] double% pgtk, 
	[OutAttribute] double% peqk, 
	[OutAttribute] int% ifail
)
F#
static member g01bk : 
        rlamda : float * 
        k : int * 
        plek : float byref * 
        pgtk : float byref * 
        peqk : float byref * 
        ifail : int byref -> unit 

Parameters

rlamda
Type: System..::..Double
On entry: the parameter λ of the Poisson distribution.
Constraint: 0.0<rlamda106.
k
Type: System..::..Int32
On entry: the integer k which defines the required probabilities.
Constraint: k0.
plek
Type: System..::..Double%
On exit: the lower tail probability, ProbXk.
pgtk
Type: System..::..Double%
On exit: the upper tail probability, ProbX>k.
peqk
Type: System..::..Double%
On exit: the point probability, ProbX=k.
ifail
Type: System..::..Int32%
On exit: ifail=0 unless the method detects an error or a warning has been flagged (see [Error Indicators and Warnings]).

Description

Let X denote a random variable having a Poisson distribution with parameter λ >0. Then
ProbX=k=e-λλkk!,  k=0,1,2,
The mean and variance of the distribution are both equal to λ.
g01bk computes for given λ and k the probabilities:
plek=ProbXkpgtk=ProbX>kpeqk=ProbX=k.
The method is described in Knüsel (1986).

References

Knüsel L (1986) Computation of the chi-square and Poisson distribution SIAM J. Sci. Statist. Comput. 7 1022–1036

Error Indicators and Warnings

Errors or warnings detected by the method:
ifail=1
On entry,rlamda0.0.
ifail=2
On entry,k<0.
ifail=3
On entry,rlamda>106.
ifail=-9000
An error occured, see message report.

Accuracy

Results are correct to a relative accuracy of at least 10-6 on machines with a precision of 9 or more decimal digits, and to a relative accuracy of at least 10-3 on machines of lower precision (provided that the results do not underflow to zero).

Parallelism and Performance

None.

Further Comments

The time taken by g01bk depends on λ and k. For given λ, the time is greatest when kλ, and is then approximately proportional to λ.

Example

This example reads values of λ and k from a data file until end-of-file is reached, and prints the corresponding probabilities.

Example program (C#): g01bke.cs

Example program data: g01bke.d

Example program results: g01bke.r

See Also