Evaluate Multivariate Normal Integrals

TOMS725 is a FORTRAN77 library which evaluates multivariate normal integrals associated with the computation of cumulative probabilities associated with a multidimensional variable governed by a normal probability density function with a known correlation matrix, by Zvi Drezner.

In particular, we wish to compute the probability P(H,R) that a sample vector X will satisfy

        x(i) <= h(i) for 1 <= i <= m
which is
        1/sqrt(2^m*pi^m*det(R)) * 
        integral (-oo < x(m) < h(m) ) * 
        integral (-oo < x(2) < h(2) ) *
        integral (-oo < x(1) < h(1) )
        exp ( -0.5 * x' * inverse(R) * x ) dx1 dx2 ... dxm


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


TOMS725 is available in a FORTRAN77 version.

Related Data and Programs:

HERMITE_POLYNOMIAL, a FORTRAN77 library which evaluates the physicist's Hermite polynomial, the probabilist's Hermite polynomial, the Hermite function, and related functions.

PROB, a FORTRAN77 library which evaluates, samples, inverts, and characterizes a number of Probability Density Functions (PDF's) and Cumulative Density Functions (CDF's), including anglit, arcsin, benford, birthday, bernoulli, beta_binomial, beta, binomial, bradford, burr, cardiod, cauchy, chi, chi squared, circular, cosine, deranged, dipole, dirichlet mixture, discrete, empirical, english sentence and word length, error, exponential, extreme values, f, fisk, folded normal, frechet, gamma, generalized logistic, geometric, gompertz, gumbel, half normal, hypergeometric, inverse gaussian, laplace, levy, logistic, log normal, log series, log uniform, lorentz, maxwell, multinomial, nakagami, negative binomial, normal, pareto, planck, poisson, power, quasigeometric, rayleigh, reciprocal, runs, sech, semicircular, student t, triangle, uniform, von mises, weibull, zipf.


  1. Zvi Drezner,
    Algorithm 725: Computation of the Multivariate Normal Integral,
    Transactions on Mathematical Software,
    Volume 18, Number 4, December 1992, pages 470-480.

Source Code:

Examples and Tests:

List of Routines:

You can go up one level to the FORTRAN77 source codes.

Last revised on 24 May 2014.