nag_bivariate_normal_dist (g01hac) (PDF version)
g01 Chapter Contents
g01 Chapter Introduction
NAG Library Manual

NAG Library Function Document

nag_bivariate_normal_dist (g01hac)

+ Contents

    1  Purpose
    7  Accuracy

1  Purpose

nag_bivariate_normal_dist (g01hac) returns the lower tail probability for the bivariate Normal distribution.

2  Specification

#include <nag.h>
#include <nagg01.h>
double  nag_bivariate_normal_dist (double x, double y, double rho, NagError *fail)

3  Description

For the two random variables X,Y following a bivariate Normal distribution with
EX=0,  EY=0,  EX2=1,  EY2=1  and  EXY=ρ,
the lower tail probability is defined by:
PXx,Yy:ρ=12π1-ρ2 -y -x exp- X2- 2ρ XY+Y2 21-ρ2 dXdY.
For a more detailed description of the bivariate Normal distribution and its properties see Abramowitz and Stegun (1972) and Kendall and Stuart (1969). The method used is described by Genz (2004).

4  References

Abramowitz M and Stegun I A (1972) Handbook of Mathematical Functions (3rd Edition) Dover Publications
Genz A (2004) Numerical computation of rectangular bivariate and trivariate Normal and t probabilities Statistics and Computing 14 151–160
Kendall M G and Stuart A (1969) The Advanced Theory of Statistics (Volume 1) (3rd Edition) Griffin

5  Arguments

1:     xdoubleInput
On entry: x, the first argument for which the bivariate Normal distribution function is to be evaluated.
2:     ydoubleInput
On entry: y, the second argument for which the bivariate Normal distribution function is to be evaluated.
3:     rhodoubleInput
On entry: ρ, the correlation coefficient.
Constraint: -1.0rho1.0.
4:     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 nag_bivariate_normal_dist (g01hac) returns 0.0 .
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_GT
On entry, rho=value.
Constraint: rho1.0.
NE_REAL_ARG_LT
On entry, rho=value.
Constraint: rho-1.0.

7  Accuracy

Accuracy of the hybrid algorithm implemented here is discussed in Genz (2004). This algorithm should give a maximum absolute error of less than 5×10-16.

8  Parallelism and Performance

Not applicable.

9  Further Comments

The probabilities for the univariate Normal distribution can be computed using nag_cumul_normal (s15abc) and nag_cumul_normal_complem (s15acc).

10  Example

This example reads values of x and y for a bivariate Normal distribution along with the value of ρ and computes the lower tail probabilities.

10.1  Program Text

Program Text (g01hace.c)

10.2  Program Data

Program Data (g01hace.d)

10.3  Program Results

Program Results (g01hace.r)


nag_bivariate_normal_dist (g01hac) (PDF version)
g01 Chapter Contents
g01 Chapter Introduction
NAG Library Manual

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