NAG FL Interface
g01gbf (prob_​students_​t_​noncentral)

1 Purpose

g01gbf returns the lower tail probability for the noncentral Student's t-distribution.

2 Specification

Fortran Interface
Function g01gbf ( t, df, delta, tol, maxit, ifail)
Real (Kind=nag_wp) :: g01gbf
Integer, Intent (In) :: maxit
Integer, Intent (Inout) :: ifail
Real (Kind=nag_wp), Intent (In) :: t, df, delta, tol
C Header Interface
#include <nag.h>
double  g01gbf_ (const double *t, const double *df, const double *delta, const double *tol, const Integer *maxit, Integer *ifail)
The routine may be called by the names g01gbf or nagf_stat_prob_students_t_noncentral.

3 Description

The lower tail probability of the noncentral Student's t-distribution with ν degrees of freedom and noncentrality parameter δ, PTt:ν;δ, is defined by
PTt:ν;δ=Cν0 12π- αu-δe-x2/2dx uν-1e-u2/2du,  ν>0.0  
with
Cν=1Γ 12ν 2ν- 2/2 ,   α=tν.  
The probability is computed in one of two ways.
  1. (i)When t=0.0, the relationship to the normal is used:
    PTt:ν;δ=12πδe-u2/2du.  
  2. (ii)Otherwise the series expansion described in Equation 9 of Amos (1964) is used. This involves the sums of confluent hypergeometric functions, the terms of which are computed using recurrence relationships.

4 References

Amos D E (1964) Representations of the central and non-central t-distributions Biometrika 51 451–458

5 Arguments

1: t Real (Kind=nag_wp) Input
On entry: t, the deviate from the Student's t-distribution with ν degrees of freedom.
2: df Real (Kind=nag_wp) Input
On entry: ν, the degrees of freedom of the Student's t-distribution.
Constraint: df1.0.
3: delta Real (Kind=nag_wp) Input
On entry: δ, the noncentrality parameter of the Students t-distribution.
4: tol Real (Kind=nag_wp) Input
On entry: the absolute accuracy required by you in the results. If g01gbf is entered with tol greater than or equal to 1.0 or less than 10×machine precision (see x02ajf), the value of 10×machine precision is used instead.
5: maxit Integer Input
On entry: the maximum number of terms that are used in each of the summations.
Suggested value: 100. See Section 9 for further comments.
Constraint: maxit1.
6: ifail Integer Input/Output
On entry: ifail must be set to 0, -1 or 1 to set behaviour on detection of an error; these values have no effect when no error is detected.
A value of 0 causes the printing of an error message and program execution will be halted; otherwise program execution continues. A value of -1 means that an error message is printed while a value of 1 means that it is not.
If halting is not appropriate, the value -1 or 1 is recommended. If message printing is undesirable, then the value 1 is recommended. Otherwise, the value 0 is recommended. When the value -1 or 1 is used it is essential to test the value of ifail on exit.
On exit: ifail=0 unless the routine detects an error or a warning has been flagged (see Section 6).

6 Error Indicators and Warnings

If on entry ifail=0 or -1, explanatory error messages are output on the current error message unit (as defined by x04aaf).
Errors or warnings detected by the routine:
If on exit ifail0, then g01gbf returns 0.0.
ifail=1
On entry, df=value.
Constraint: df1.0.
ifail=2
On entry, maxit=value.
Constraint: maxit1.
ifail=3
One of the series has failed to converge with maxit=value and tol=value. Reconsider the requested tolerance and/or the maximum number of iterations.
ifail=4
The probability is too close to 0 or 1. The returned value should be a reasonable estimate of the true value.
Unable to calculate the probability as it is too close to zero or one.
ifail=-99
An unexpected error has been triggered by this routine. Please contact NAG.
See Section 7 in the Introduction to the NAG Library FL Interface for further information.
ifail=-399
Your licence key may have expired or may not have been installed correctly.
See Section 8 in the Introduction to the NAG Library FL Interface for further information.
ifail=-999
Dynamic memory allocation failed.
See Section 9 in the Introduction to the NAG Library FL Interface for further information.

7 Accuracy

The series described in Amos (1964) are summed until an estimated upper bound on the contribution of future terms to the probability is less than tol. There may also be some loss of accuracy due to calculation of gamma functions.

8 Parallelism and Performance

g01gbf is not threaded in any implementation.

9 Further Comments

The rate of convergence of the series depends, in part, on the quantity t2/t2+ν. The smaller this quantity the faster the convergence. Thus for large t and small ν the convergence may be slow. If ν is an integer then one of the series to be summed is of finite length.
If two tail probabilities are required then the relationship of the t-distribution to the F-distribution can be used:
F=T2,λ=δ2,ν1=1  and  ν2=ν,  
and a call made to g01gdf.
Note that g01gbf only allows degrees of freedom greater than or equal to 1 although values between 0 and 1 are theoretically possible.

10 Example

This example reads values from, and degrees of freedom for, and noncentrality parameters of the noncentral Student's t-distributions, calculates the lower tail probabilities and prints all these values until the end of data is reached.

10.1 Program Text

Program Text (g01gbfe.f90)

10.2 Program Data

Program Data (g01gbfe.d)

10.3 Program Results

Program Results (g01gbfe.r)