QUADRULE
Quadrature Rules


QUADRULE is a FORTRAN90 library which sets up a variety of quadrature rules, used to approximate the integral of a function over various domains.

QUADRULE 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.

Related Programs:

CLENSHAW_CURTIS is a FORTRAN90 library which can set up a Clenshaw Curtis quadrature grid in multiple dimensions.

DUNAVANT is a FORTRAN90 library which define Dunavant rules for quadrature on a triangle.

FEKETE is a FORTRAN90 library which define a Fekete rule for quadrature or interpolation over a triangle.

FELIPPA is a MATHEMATICA library which defines quadrature rules for lines, triangles, quadrilaterals, pyramids, wedges, tetrahedrons and hexahedrons.

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

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

INTLIB is a FORTRAN90 library which contains a variety of routines for numerical estimation of integrals in 1D.

KEAST is a FORTRAN90 library which defines a number of quadrature rules for a tetrahedron.

NCC_TETRAHEDRON is a FORTRAN90 library which defines Newton-Cotes closed quadrature rules on a tetrahedron.

NCC_TRIANGLE is a FORTRAN90 library which defines Newton-Cotes closed quadrature rules on a triangle.

NCO_TETRAHEDRON is a FORTRAN90 library which defines Newton-Cotes open quadrature rules on a tetrahedron.

NCO_TRIANGLE is a FORTRAN90 library which defines Newton-Cotes open quadrature rules on a triangle.

NINT_EXACTNESS is an executable FORTRAN90 program which demonstrates how to measure the polynomial exactness of a multidimensional quadrature rule.

NINT_EXACTNESS_TET is an executable FORTRAN90 program which investigates the polynomial exactness of a quadrature rule for the tetrahedron.

NINT_EXACTNESS_TRI is an executable FORTRAN90 program which investigates the polynomial exactness of a quadrature rule for the triangle.

NINTLIB is a FORTRAN90 library which contains routines for numerical estimation of integrals in multiple dimensions.

PRODUCT_FACTOR is an executable FORTRAN90 program which constructs a product rule from distinct 1D factor rules.

PRODUCT_RULE is an executable FORTRAN90 program which constructs a product rule from identical 1D factor rules.

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

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

QUADRATURE_RULES_TET is a dataset directory which contains triples of files defining various quadrature rules on tetrahedrons.

QUADRATURE_RULES_TRI is a dataset directory which contains quadrature rules to be applied to triangular regions.

QUADRATURE_TEST is an executable 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.

QUADRULE is also available in a C++ version and a MATLAB version.

SIMPACK is a FORTRAN77 library which approximate the integral of a function or vector of functions over a multidimensional simplex, or a region which is the sum of multidimensional simplexes.

STROUD is a FORTRAN90 library which contains quadrature rules for a variety of unusual areas, surfaces and volumes in 2D, 3D and N-dimensions.

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

TEST_INT_HERMITE is a FORTRAN90 library which defines some test integration problems over infinite intervals.

TEST_INT_LAGUERRE is a FORTRAN90 library which defines test integrands for integration over [ALPHA,+Infinity).

TEST_NINT is a FORTRAN90 library which contains a number of functions that may be used as test integrands for quadrature rules in multiple dimensions.

TEST_TRI_INT is a FORTRAN90 library which can be used to test algorithms for quadrature over a triangle.

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

TOMS379 is a FORTRAN77 library which estimates an integral.

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

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

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

WANDZURA is a FORTRAN90 library of routines which define Wandzura rules for quadrature on a triangle.

Reference:

  1. Milton Abramowitz, Irene Stegun,
    Handbook of Mathematical Functions,
    National Bureau of Standards, 1964,
    ISBN: 0-486-61272-4,
    LC: QA47.A34.
  2. Donald Anderson,
    Gaussian Quadrature Formulae for the integral from 0 to 1 of -ln(X) f(X) dx,
    Mathematics of Computation,
    Volume 19, Number 91, July 1965, pages 477-481.
  3. Claudio Canuto, Yousuff Hussaini, Alfio Quarteroni, Thomas Zang,
    Spectral Methods in Fluid Dynamics,
    Springer, 1993,
    ISNB13: 978-3540522058,
    LC: QA377.S676.
  4. Charles Clenshaw, Alan Curtis,
    A Method for Numerical Integration on an Automatic Computer,
    Numerische Mathematik,
    Volume 2, Number 1, December 1960, pages 197-205.
  5. Philip Davis, Philip Rabinowitz,
    Methods of Numerical Integration,
    Second Edition,
    Dover, 2007,
    ISBN: 0486453391,
    LC: QA299.3.D28.
  6. Sylvan Elhay, Jaroslav Kautsky,
    Algorithm 655: IQPACK, FORTRAN Subroutines for the Weights of Interpolatory Quadrature,
    ACM Transactions on Mathematical Software,
    Volume 13, Number 4, December 1987, pages 399-415.
  7. Hermann Engels,
    Numerical Quadrature and Cubature,
    Academic Press, 1980,
    ISBN: 012238850X,
    LC: QA299.3E5.
  8. Gwynne Evans,
    Practical Numerical Integration,
    Wiley, 1993,
    ISBN: 047193898X,
    LC: QA299.3E93.
  9. Simeon Fatunla,
    Numerical Methods for Initial Value Problems in Ordinary Differential Equations,
    Academic Press, 1988,
    ISBN: 0122499301,
    LC: QA372.F35.
  10. Walter Gautschi,
    Numerical Quadrature in the Presence of a Singularity,
    SIAM Journal on Numerical Analysis,
    Volume 4, Number 3, September 1967, pages 357-362.
  11. Francis Hildebrand,
    Introduction to Numerical Analysis,
    Dover, 1987,
    ISBN13: 978-0486653631,
    LC: QA300.H5.
  12. Zdenek Kopal,
    Numerical Analysis,
    John Wiley, 1955,
    LC: QA297.K6.
  13. Vladimir Krylov,
    Approximate Calculation of Integrals,
    Dover, 2006,
    ISBN: 0486445798,
    LC: QA311.K713.
  14. Prem Kythe, Michael Schaeferkotter,
    Handbook of Computational Methods for Integration,
    Chapman and Hall, 2004,
    ISBN: 1-58488-428-2,
    LC: QA299.3.K98.
  15. Leon Lapidus, John Seinfeld,
    Numerical Solution of Ordinary Differential Equations,
    Mathematics in Science and Engineering, Volume 74,
    Academic Press, 1971,
    ISBN: 0124366503,
    LC: QA3.M32.v74
  16. Federico Paris, Jose Canas,
    Boundary Element Method: Fundamentals and Applications,
    Oxford, 1997,
    ISBN: 0-19-856543-7
    LC: TA347.B69.P34.
  17. Thomas Patterson,
    The Optimal Addition of Points to Quadrature Formulae,
    Mathematics of Computation,
    Volume 22, Number 104, October 1968, pages 847-856.
  18. Robert Piessens, Elise deDoncker-Kapenga, Christian Ueberhuber, David Kahaner,
    QUADPACK: A Subroutine Package for Automatic Integration,
    Springer, 1983,
    ISBN: 3540125531,
    LC: QA299.3.Q36.
  19. Arthur Stroud, Don Secrest,
    Gaussian Quadrature Formulas,
    Prentice Hall, 1966,
    LC: QA299.4G3S7.
  20. LLoyd Trefethen,
    Is Gauss Quadrature Better Than Clenshaw-Curtis?,
    SIAM Review,
    to appear.
  21. Joerg Waldvogel,
    Fast Construction of the Fejer and Clenshaw-Curtis Quadrature Rules,
    BIT Numerical Mathematics,
    Volume 43, Number 1, 2003, pages 1-18.
  22. Stephen Wolfram,
    The Mathematica Book,
    Fourth Edition,
    Cambridge University Press, 1999,
    ISBN: 0-521-64314-7,
    LC: QA76.95.W65.
  23. Daniel Zwillinger, editor,
    CRC Standard Mathematical Tables and Formulae,
    30th Edition,
    CRC Press, 1996,
    ISBN: 0-8493-2479-3,
    LC: QA47.M315.

Source Code:

Examples and Tests:

List of Routines:

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


Last revised on 04 March 2008.