STROUD
Numerical Integration
in M Dimensions


STROUD is a MATLAB library, using double precision arithmetic, which implements multidimensional quadrature rules of Arthur Stroud.

A few other rules have been collected as well, particularly for quadrature over the interior of a triangle, which is useful in finite element calculations.

Arthur Stroud published his vast collection of quadrature formulas for multidimensional regions in 1971. In a few cases, he printed sample FORTRAN77 programs to compute these integrals. Integration regions included:

Licensing:

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

Related Data and Programs:

CLENSHAW_CURTIS is a MATLAB library which defines a Clenshaw Curtis quadrature grid in multiple dimensions.

DUNAVANT is a MATLAB library which defines Dunavant rules for quadrature on a triangle.

FEKETE is a MATLAB library which defines Fekete rules for quadrature or interpolation on a triangle.

FELIPPA is a MATHEMATICA library which defines some quadrature rules for regions of interest in finite element calculations.

GM_RULES is a MATLAB library which defines a Grundmann-Moeller rule for quadrature over a triangle, tetrahedron, or general M-dimensional simplex.

INTLIB is a FORTRAN90 library which numerically estimates integrals in one dimension.

KEAST is a MATLAB library which defines quadrature rules for a tetrahedron.

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

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

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

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

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

NINT_EXACTBESS_TRI is a MATLAB program which investigates the polynomial exactness of a quadrature rule for the triangle.

NINTLIB is a MATLAB library which numerically estimates integrals in multiple dimensions.

PRODUCT_FACTOR is a MATLAB program which constructs a product rule from distinct 1D factor rules.

PRODUCT_RULE is a MATLAB program which can create a multidimensional quadrature rule as a product of one dimensional rules.

QUADPACK is a FORTRAN90 library which estimates integrals in one dimension.

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 defines various quadrature rules on tetrahedrons.

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

QUADRATURE_TEST is a MATLAB 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 a MATLAB library which defines quadrature rules on a variety of intervals with different weight functions.

QUADRULE_FAST is a MATLAB library which defines efficient versions of a few 1D quadrature rules.

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 also available in a C++ version and a FORTRAN90 version.

TEST_NINT is a MATLAB library which contains functions that can be used to test N-dimensional quadrature routines.

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

TESTPACK is a FORTRAN90 library which tests multidimensional quadrature.

TRIANGULATION is a MATLAB library which works with triangulations and includes some quadrature rules on triangles.

WANDZURA is a MATLAB library which defines 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. Jarle Berntsen, Terje Espelid,
    Algorithm 706: DCUTRI: an algorithm for adaptive cubature over a collection of triangles,
    ACM Transactions on Mathematical Software,
    Volume 18, Number 3, September 1992, pages 329-342.
  3. SF Bockman,
    Generalizing the Formula for Areas of Polygons to Moments,
    American Mathematical Society Monthly,
    Volume 96, Number 2, February 1989, pages 131-132.
  4. Paul Bratley, Bennett Fox, Linus Schrage,
    A Guide to Simulation,
    Second Edition,
    Springer, 1987,
    ISBN: 0387964673,
    LC: QA76.9.C65.B73.
  5. William Cody, Kenneth Hillstrom,
    Chebyshev Approximations for the Natural Logarithm of the Gamma Function, Mathematics of Computation,
    Volume 21, Number 98, April 1967, pages 198-203.
  6. Philip Davis, Philip Rabinowitz,
    Methods of Numerical Integration,
    Second Edition,
    Dover, 2007,
    ISBN: 0486453391,
    LC: QA299.3.D28.
  7. Elise deDoncker, Ian Robinson,
    Algorithm 612: Integration over a Triangle Using Nonlinear Extrapolation,
    ACM Transactions on Mathematical Software,
    Volume 10, Number 1, March 1984, pages 17-22.
  8. Hermann Engels,
    Numerical Quadrature and Cubature,
    Academic Press, 1980,
    ISBN: 012238850X,
    LC: QA299.3E5.
  9. Thomas Ericson, Victor Zinoviev,
    Codes on Euclidean Spheres,
    Elsevier, 2001,
    ISBN: 0444503293,
    LC: QA166.7E75
  10. Carlos Felippa,
    A compendium of FEM integration formulas for symbolic work,
    Engineering Computation,
    Volume 21, Number 8, 2004, pages 867-890.
  11. Gerald Folland,
    How to Integrate a Polynomial Over a Sphere,
    American Mathematical Monthly,
    Volume 108, Number 5, May 2001, pages 446-448.
  12. Bennett Fox,
    Algorithm 647: Implementation and Relative Efficiency of Quasirandom Sequence Generators,
    ACM Transactions on Mathematical Software,
    Volume 12, Number 4, December 1986, pages 362-376.
  13. Axel Grundmann, Michael Moeller,
    Invariant Integration Formulas for the N-Simplex by Combinatorial Methods,
    SIAM Journal on Numerical Analysis,
    Volume 15, Number 2, April 1978, pages 282-290.
  14. John Harris, Horst Stocker,
    Handbook of Mathematics and Computational Science,
    Springer, 1998,
    ISBN: 0-387-94746-9,
    LC: QA40.S76.
  15. Patrick Keast,
    Moderate Degree Tetrahedral Quadrature Formulas,
    Computer Methods in Applied Mechanics and Engineering,
    Volume 55, Number 3, May 1986, pages 339-348.
  16. Vladimir Krylov,
    Approximate Calculation of Integrals,
    Dover, 2006,
    ISBN: 0486445798,
    LC: QA311.K713.
  17. Dirk Laurie,
    Algorithm 584: CUBTRI, Automatic Cubature Over a Triangle,
    ACM Transactions on Mathematical Software,
    Volume 8, Number 2, 1982, pages 210-218.
  18. Frank Lether,
    A Generalized Product Rule for the Circle,
    SIAM Journal on Numerical Analysis,
    Volume 8, Number 2, June 1971, pages 249-253.
  19. James Lyness, Dennis Jespersen,
    Moderate Degree Symmetric Quadrature Rules for the Triangle,
    Journal of the Institute of Mathematics and its Applications,
    Volume 15, Number 1, February 1975, pages 19-32.
  20. James Lyness, BJJ McHugh,
    Integration Over Multidimensional Hypercubes, A Progressive Procedure,
    The Computer Journal,
    Volume 6, 1963, pages 264-270.
  21. AD McLaren,
    Optimal Numerical Integration on a Sphere,
    Mathematics of Computation,
    Volume 17, Number 84, October 1963, pages 361-383.
  22. Albert Nijenhuis, Herbert Wilf,
    Combinatorial Algorithms for Computers and Calculators,
    Second Edition,
    Academic Press, 1978,
    ISBN: 0-12-519260-6,
    LC: QA164.N54.
  23. William Peirce,
    Numerical Integration Over the Planar Annulus,
    Journal of the Society for Industrial and Applied Mathematics,
    Volume 5, Number 2, June 1957, pages 66-73.
  24. Hans Rudolf Schwarz,
    Finite Element Methods,
    Academic Press, 1988,
    ISBN: 0126330107,
    LC: TA347.F5.S3313.
  25. Gilbert Strang, George Fix,
    An Analysis of the Finite Element Method,
    Cambridge, 1973,
    ISBN: 096140888X,
    LC: TA335.S77.
  26. Arthur Stroud,
    Approximate Calculation of Multiple Integrals,
    Prentice Hall, 1971,
    ISBN: 0130438936,
    LC: QA311.S85.
  27. Arthur Stroud, Don Secrest,
    Gaussian Quadrature Formulas,
    Prentice Hall, 1966,
    LC: QA299.4G3S7.
  28. Stephen Wandzura, Hong Xiao,
    Symmetric Quadrature Rules on a Triangle,
    Computers and Mathematics with Applications,
    Volume 45, 2003, pages 1829-1840.
  29. Stephen Wolfram,
    The Mathematica Book,
    Fourth Edition,
    Cambridge University Press, 1999,
    ISBN: 0-521-64314-7,
    LC: QA76.95.W65.
  30. Olgierd Zienkiewicz,
    The Finite Element Method,
    Sixth Edition,
    Butterworth-Heinemann, 2005,
    ISBN: 0750663200,
    LC: TA640.2.Z54
  31. Daniel Zwillinger, editor,
    CRC Standard Mathematical Tables and Formulae,
    30th Edition,
    CRC Press, 1996,
    ISBN: 0-8493-2479-3,
    LC: QA47.M315.

Tar File:

A GZIP'ed TAR file of the contents of this directory is available. This is only done as a convenience for users who want ALL the files, and don't want to download them individually. This is not a convenience for me, so don't be surprised if the tar file is somewhat out of date.

Source Code:

Examples and Tests:

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


Last revised on 07 April 2008.