NAG CL Interface
g01gbc (prob_​students_​t_​noncentral)

Settings help

CL Name Style:


1 Purpose

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

2 Specification

#include <nag.h>
double  g01gbc (double t, double df, double delta, double tol, Integer max_iter, NagError *fail)
The function may be called by the names: g01gbc, nag_stat_prob_students_t_noncentral or nag_prob_non_central_students_t.

3 Description

The lower tail probability of the noncentral Student's t-distribution with ν degrees of freedom and noncentrality parameter δ, P(Tt:ν;δ), is defined by
P(Tt:ν;δ)=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:
    P(Tt:ν;δ)=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 double Input
On entry: t, the deviate from the Student's t-distribution with ν degrees of freedom.
2: df double Input
On entry: ν, the degrees of freedom of the Student's t-distribution.
Constraint: df1.0.
3: delta double Input
On entry: δ, the noncentrality parameter of the Students t-distribution.
4: tol double Input
On entry: the absolute accuracy required by you in the results. If g01gbc is entered with tol greater than or equal to 1.0 or less than 10×machine precision (see X02AJC), the value of 10×machine precision is used instead.
5: max_iter 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: max_iter1.
6: fail NagError * Input/Output
The NAG error argument (see Section 7 in the Introduction to the NAG Library CL Interface).

6 Error Indicators and Warnings

If on exit fail.code= NE_NOERROR, then g01gbc returns 0.0.
NE_ALLOC_FAIL
Dynamic memory allocation failed.
See Section 3.1.2 in the Introduction to the NAG Library CL Interface for further information.
NE_INT_ARG_LT
On entry, max_iter=value.
Constraint: max_iter1.
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.
See Section 7.5 in the Introduction to the NAG Library CL Interface for further information.
NE_NO_LICENCE
Your licence key may have expired or may not have been installed correctly.
See Section 8 in the Introduction to the NAG Library CL Interface for further information.
NE_PROB_LIMIT
The probability is too close to 0 or 1. The returned value should be a reasonable estimate of the true value.
NE_PROBABILITY
Unable to calculate the probability as it is too close to zero or one.
NE_REAL_ARG_LT
On entry, df=value.
Constraint: df1.0.
NE_SERIES
One of the series has failed to converge with max_iter=value and tol=value. Reconsider the requested tolerance and/or the maximum number of iterations.

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

Background information to multithreading can be found in the Multithreading documentation.
g01gbc 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 g01gdc.
Note that g01gbc 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 (g01gbce.c)

10.2 Program Data

Program Data (g01gbce.d)

10.3 Program Results

Program Results (g01gbce.r)