TOMS462
Bivariate Normal Distribution


TOMS462, a C++ code which evaluates the upper right tail of the bivariate normal distribution; that is, the probability that normal variables X and Y with correlation R will satisfy H <= X and K <= Y.

The text of many ACM TOMS algorithms is available online through ACM: http://calgo.acm.org/ or NETLIB: http://www.netlib.org/toms/index.html.

Usage:

value = bivnor ( ah, ak, r )
computes VALUE, the probability that two variables, X and Y related by a bivariate normal distribution with correlation R, satisfy AH <= X and AK <= Y.

Licensing:

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

Languages:

TOMS462 is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

OWEN, a C++ library which evaluates Owen's T function.

PROB, a C++ library which contains a number of routines for evaluating cumulative distribution functions.

TEST_VALUES, a C++ library which supplies test values of various mathematical functions.

toms462_test

Reference:

  1. Thomas Donnelly,
    Algorithm 462: Bivariate Normal Distribution,
    Communications of the ACM,
    October 1973, Volume 16, Number 10, page 638.
  2. Donald Owen,
    Tables for Computing Bivariate Normal Probabilities,
    Annals of Mathematical Statistics,
    Volume 27, Number 4, pages 1075-1090, December 1956.

Source Code:


Last revised on 01 May 2020.