TRUNCATED_NORMAL_RULE
Quadrature Rule for Truncated Normal Distribution


TRUNCATED_NORMAL_RULE, a FORTRAN90 program which computes a quadrature rule for a normal probability density function (PDF), sometimes called a Gaussian distribution, that has been truncated to [A,+oo), (-oo,B] or [A,B].

Licensing:

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

Languages:

TRUNCATED_NORMAL_RULE is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.

Related Data and Programs:

ALPERT_RULE, a FORTRAN90 library which can set up an Alpert quadrature rule for functions which are regular, log(x) singular, or 1/sqrt(x) singular.

CHEBYSHEV1_RULE, a FORTRAN90 program which can compute and print a Gauss-Chebyshev type 1 quadrature rule.

CHEBYSHEV2_RULE, a FORTRAN90 program which can compute and print a Gauss-Chebyshev type 2 quadrature rule.

CLENSHAW_CURTIS_RULE, a FORTRAN90 program which defines a Clenshaw Curtis quadrature rule.

GEGENBAUER_RULE, a FORTRAN90 program which can compute and print a Gauss-Gegenbauer quadrature rule.

GEN_HERMITE_RULE, a FORTRAN90 program which can compute and print a generalized Gauss-Hermite quadrature rule.

GEN_LAGUERRE_RULE, a FORTRAN90 program which can compute and print a generalized Gauss-Laguerre quadrature rule.

HERMITE_RULE, a FORTRAN90 program which can compute and print a Gauss-Hermite quadrature rule.

JACOBI_RULE, a FORTRAN90 program which can compute and print a Gauss-Jacobi quadrature rule.

LAGUERRE_RULE, a FORTRAN90 program which can compute and print a Gauss-Laguerre quadrature rule.

LEGENDRE_RULE, a FORTRAN90 program which can compute and print a Gauss-Legendre quadrature rule.

PATTERSON_RULE, a FORTRAN90 program which returns the points and weights of a 1D Gauss-Patterson quadrature rule of order 1, 3, 7, 15, 31, 63, 127, 255 or 511.

PATTERSON_RULE_COMPUTE, a FORTRAN90 program which computes the points and weights of a 1D Gauss-Patterson quadrature rule of order 1, 3, 7, 15, 31, 63, 127, 255 or 511.

QUADRULE, a FORTRAN90 library which defines 1-dimensional quadrature rules.

TRUNCATED_NORMAL, a FORTRAN90 library which works with the truncated normal distribution over [A,B], or [A,+oo) or (-oo,B], returning the probability density function (PDF), the cumulative density function (CDF), the inverse CDF, the mean, the variance, and sample values.

Reference:

  1. Gene Golub, John Welsch,
    Calculation of Gaussian Quadrature Rules,
    Mathematics of Computation,
    Volume 23, Number 106, April 1969, pages 221-230.
  2. Norman Johnson, Samuel Kotz, Narayanaswamy Balakrishnan,
    Continuous Univariate Distributions,
    Second edition,
    Wiley, 1994,
    ISBN: 0471584940,
    LC: QA273.6.J6.

Source Code:

Examples and Tests:

"OPTION0" computes a quadrature rule for the normal distribution, n = 5, mu = 1.0, sigma = 2.0;

"OPTION1" computes a quadrature rule for the lower truncated normal distribution, n = 9, mu = 2.0, sigma = 0.5, a = 0.0;

"OPTION2" computes a quadrature rule for the upper truncated normal distribution, n = 9, mu = 2.0, sigma = 0.5, b = 3.0;

"OPTION3" computes a quadrature rule for the doubly truncated normal distribution, n = 5, mu = 100.0, sigma = 25.0, a = 50.0, b = 100.0;

List of Routines:

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


Last revised on 20 September 2013.