IMSL C Math Library
normal_inverse_cdf
Evaluates the inverse of the standard normal (Gaussian) distribution function.
Synopsis
#include <imsl.h>
float imsl_f_normal_inverse_cdf (float p)
The type double procedure is imsl_d_normal_inverse_cdf.
Required Arguments
float p (Input)
Probability for which the inverse of the normal distribution function is to be evaluated. The argument p must be in the open interval (0.0, 1.0).
Return Value
The inverse of the normal distribution function evaluated at p. The probability that a standard normal random variable takes a value less than or equal to imsl_f_normal_inverse_cdf is p.
Description
The function imsl_f_normal_inverse_cdf evaluates the inverse of the distribution function, Φ, of a standard normal (Gaussian) random variable; that is, imsl_f_normal_inverse_cdf(p= Φ-1 (p) where
The value of the distribution function at the point x is the probability that the random variable takes a value less than or equal to x. The standard normal distribution has a mean of 0 and a variance of 1.
The function imsl_f_normal_inverse_cdf(p) is evaluated by use of minimax rational-function approximations for the inverse of the error function. General descriptions of these approximations are given in Hart et al. (1968) and Strecok (1968). The rational functions used in imsl_f_normal_inverse_cdf are described by Kinnucan and Kuki (1968).
Example
This example computes the point such that the probability is 0.9 that a standard normal random variable is less than or equal to this point.
 
#include <imsl.h>
 
int main()
{
float x;
float p = 0.9;
 
x = imsl_f_normal_inverse_cdf(p);
printf("The 90th percentile of a standard normal is %6.4f.\n", x);
}
Output
 
The 90th percentile of a standard normal is 1.2816.