quad_rule


quad_rule, a FORTRAN77 code which sets up a variety of quadrature rules, used to approximate the integral of a function over various domains.

The code returns the abscissas and weights for a variety of one dimensional quadrature rules for approximating the integral of a function. The best rule is generally Gauss-Legendre quadrature, but other rules offer special features, including the ability to handle certain weight functions, to approximate an integral on an infinite integration region, or to estimate the approximation error.

Licensing:

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

Languages:

quad_rule is available in a C version and a C++ version and a Fortran90 version and a MATLAB version and an Octave version and a Python version.

Related Programs:

quad_rule_test

clenshaw_curtis_rule, a FORTRAN77 program which defines a Clenshaw Curtis quadrature rule.

INT_EXACTNESS, a FORTRAN90 program which checks the polynomial exactness of a 1-dimensional quadrature rule for a finite interval.

INT_EXACTNESS_LAGUERRE, a FORTRAN90 program which checks the polynomial exactness of a 1-dimensional quadrature rule for a semi-infinite interval.

INT_EXACTNESS_LEGENDRE, a FORTRAN90 program which tests the polynomial exactness of Gauss-Legendre quadrature rules.

KRONROD, a FORTRAN77 library which can compute a Gauss and Gauss-Kronrod pair of quadrature rules of arbitrary order, by Robert Piessens, Maria Branders.

LAGUERRE_RULE, a FORTRAN77 program which can compute and print a Gauss-Laguerre quadrature rule for estimating the integral of a function with density exp(-x) over the interval [0,+oo).

LINE_FELIPPA_RULE, a FORTRAN77 library which returns the points and weights of a Felippa quadrature rule over the interior of a line segment in 1D.

LINE_NCO_RULE, a FORTRAN77 library which computes a Newton Cotes Open (NCO) quadrature rule, using equally spaced points, over the interior of a line segment in 1D.

PATTERSON_RULE, a FORTRAN77 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.

QUADMOM, a FORTRAN77 library which computes a Gaussian quadrature rule for a weight function rho(x) based on the Golub-Welsch procedure that only requires knowledge of the moments of rho(x).

QUADPACK, a FORTRAN77 library which contains a variety of routines for numerical estimation of integrals in 1D.

QUADRATURE_RULES, a dataset directory which contains sets of files that define quadrature rules over various 1D intervals or multidimensional hypercubes.

QUADRATURE_TEST, a FORTRAN90 program which reads the definition of a multidimensional quadrature rule from three files, applies the rule to a number of test integrals, and prints the results.

TEST_INT, a FORTRAN77 library which contains a number of functions that may be used as test integrands for quadrature rules in 1D.

TEST_INT_HERMITE, a FORTRAN77 library which defines some test integration problems over infinite intervals.

TEST_INT_LAGUERRE, a FORTRAN77 library which defines test integrands for the interval [a,+oo) and weight exp(-x);

TOMS351, a FORTRAN77 library which estimates an integral using Romberg integration.

TOMS379, a FORTRAN77 library which estimates an integral.

TOMS418, a FORTRAN77 library which estimates the integral of a function with a sine or cosine factor.

TOMS424, a FORTRAN77 library which estimates the integral of a function using Clenshaw-Curtis quadrature.

TOMS468, a FORTRAN77 library which carries out the "automatic" integration of a function.

TOMS655, a FORTRAN77 library which computes the weights for interpolatory quadrature rule; this library is commonly called IQPACK; this is a version of ACM TOMS algorithm 655.

TOMS793, a FORTRAN77 library which carries out Gauss quadrature for rational functions, by Walter Gautschi; this is ACM TOMS algorithm 793.

Reference:

  1. Milton Abramowitz, Irene Stegun,
    Handbook of Mathematical Functions,
    National Bureau of Standards, 1964,
    ISBN: 0-486-61272-4,
    LC: QA47.A34.
  2. Philip Davis, Philip Rabinowitz,
    Methods of Numerical Integration,
    Second Edition,
    Dover, 2007,
    ISBN: 0486453391,
    LC: QA299.3.D28.
  3. Arthur Stroud, Don Secrest,
    Gaussian Quadrature Formulas,
    Prentice Hall, 1966,
    LC: QA299.4G3S7.

Source Code:


Last revised on 08 June 2023.