stroud
stroud,
a C++ code which
defines quadrature rules for a variety of Mdimensional regions,
including the interior of the square, cube and hypercube, the pyramid,
cone and ellipse, the hexagon, the Mdimensional octahedron,
the circle, sphere and hypersphere, the triangle, tetrahedron and simplex,
and the surface of the circle, sphere and hypersphere.
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:

C2, the interior of the square;

C3, the interior of the cube;

CN, the interior of the Ndimensional hypercube;

CN:C2, a 3dimensional pyramid;

CN:S2, a 3dimensional cone;

CN_SHELL, the region contained between two concentric
Ndimensional hypercubes;

ELP, the interior of the 2dimensional ellipse with
weight function 1/sqrt((xc)^2+y^2)/(sqrt((x+c)^2+y^2);

EN_R, all of Ndimensional space, with the weight function:
w(x) = exp (  sqrt ( sum ( 1 <= i < n ) x(i)^2 ) );

EN_R2, all of Ndimensional space, with the Hermite weight function:
w(x) = product ( 1 <= i <= n ) exp (  x(i)^2 );

GN, the interior of the Ndimensional octahedron;

H2, the interior of the 2dimensional hexagon;

PAR, the first parabolic region;

PAR2, the second parabolic region;

PAR3, the third parabolic region;

S2, the interior of the circle;

S3, the interior of the sphere;

SN, the interior of the Ndimensional hypersphere;

SN_SHELL, the region contained between two concentric Ndimensional hyperspheres;

T2, the interior of the triangle;

T3, the interior of the tetrahedron;

TN, the interior of the Ndimensional simplex;

TOR3:S2, the interior of a 3dimensional torus with circular crosssection;

TOR3:C2, the interior of a 3dimensional torus with square crosssection;

U2, the "surface" of the circle;

U3, the surface of the sphere;

UN, the surface of the Ndimensional sphere;
We have added a few new terms for regions:

CN_GEG, the N dimensional hypercube [1,+1]^N, with the Gegenbauer
weight function:
w(alpha;x) = product ( 1 <= i <= n ) ( 1  x(i)^2 )^alpha;

CN_JAC, the N dimensional hypercube [1,+1]^N, with the Beta or
Jacobi weight function:
w(alpha,beta;x) = product ( 1 <= i <= n ) ( 1  x(i) )^alpha * ( 1 + x(i) )^beta;

CN_LEG, the N dimensional hypercube [1,+1]^N, with the Legendre
weight function:
w(x) = 1;

EPN_GLG, the positive space [0,+oo)^N, with the generalized
Laguerre weight function:
w(alpha;x) = product ( 1 <= i <= n ) x(i)^alpha exp (  x(i) );

EPN_LAG, the positive space [0,+oo)^N, with the exponential or
Laguerre weight function:
w(x) = product ( 1 <= i <= n ) exp (  x(i) );
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the MIT license
Languages:
stroud is available in
a C version and
a C++ version and
a FORTRAN90 version and
a MATLAB version.
Related Data and Programs:
DISK_RULE,
a C++ code which
computes quadrature rules for the unit disk in 2D, that is,
the interior of the circle of radius 1 and center (0,0).
FELIPPA,
a C++ code which
defines quadrature rules for lines, triangles, quadrilaterals,
pyramids, wedges, tetrahedrons and hexahedrons.
PYRAMID_RULE,
a C++ code which
computes a quadrature rule for a pyramid.
SIMPLEX_GM_RULE,
a C++ code which
defines GrundmannMoeller quadrature rules
over the interior of a triangle in 2D, a tetrahedron in 3D, or
over the interior of the simplex in M dimensions.
SPHERE_LEBEDEV_RULE,
a C++ code which
computes Lebedev quadrature rules
on the surface of the unit sphere in 3D.
stroud_test
TETRAHEDRON_ARBQ_RULE,
a C++ code which
returns quadrature rules,
with exactness up to total degree 15,
over the interior of a tetrahedron in 3D,
by Hong Xiao and Zydrunas Gimbutas.
TETRAHEDRON_KEAST_RULE,
a C++ code which
defines ten quadrature rules, with exactness degrees 0 through 8,
over the interior of a tetrahedron in 3D.
TETRAHEDRON_NCC_RULE,
a C++ code which
defines NewtonCotes Closed (NCC) quadrature rules
over the interior of a tetrahedron in 3D.
TETRAHEDRON_NCO_RULE,
a C++ code which
defines NewtonCotes Open (NCO) quadrature rules
over the interior of a tetrahedron in 3D.
TRIANGLE_DUNAVANT_RULE,
a C++ code which
defines Dunavant rules for quadrature
over the interior of a triangle in 2D.
TRIANGLE_FEKETE,
a C++ code which
defines Fekete rules for interpolation or quadrature
over the interior of a triangle in 2D.
TRIANGLE_LYNESS_RULE,
a C++ code which
returns LynessJespersen quadrature rules
over the interior of a triangle in 2D.
TRIANGLE_NCC_RULE,
a C++ code which
defines NewtonCotes Closed (NCC) quadrature rules
over the interior of a triangle in 2D.
TRIANGLE_NCO_RULE,
a C++ code which
defines NewtonCotes Open (NCO) quadrature rules
over the interior of a triangle in 2D.
TRIANGLE_WANDZURA_RULE,
a C++ code which
returns quadrature rules of exactness 5, 10, 15, 20, 25 and 30
over the interior of the triangle in 2D.
Reference:

Milton Abramowitz, Irene Stegun,
Handbook of Mathematical Functions,
National Bureau of Standards, 1964,
ISBN: 0486612724,
LC: QA47.A34.

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

SF Bockman,
Generalizing the Formula for Areas of Polygons to Moments,
American Mathematical Society Monthly,
Volume 96, Number 2, February 1989, pages 131132.

Paul Bratley, Bennett Fox, Linus Schrage,
A Guide to Simulation,
Second Edition,
Springer, 1987,
ISBN: 0387964673,
LC: QA76.9.C65.B73.

William Cody, Kenneth Hillstrom,
Chebyshev Approximations for the Natural Logarithm of the
Gamma Function,
Mathematics of Computation,
Volume 21, Number 98, April 1967, pages 198203.

Philip Davis, Philip Rabinowitz,
Methods of Numerical Integration,
Second Edition,
Dover, 2007,
ISBN: 0486453391,
LC: QA299.3.D28.

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

Hermann Engels,
Numerical Quadrature and Cubature,
Academic Press, 1980,
ISBN: 012238850X,
LC: QA299.3E5.

Thomas Ericson, Victor Zinoviev,
Codes on Euclidean Spheres,
Elsevier, 2001,
ISBN: 0444503293,
LC: QA166.7E75

Carlos Felippa,
A compendium of FEM integration formulas for symbolic work,
Engineering Computation,
Volume 21, Number 8, 2004, pages 867890.

Gerald Folland,
How to Integrate a Polynomial Over a Sphere,
American Mathematical Monthly,
Volume 108, Number 5, May 2001, pages 446448.

Bennett Fox,
Algorithm 647:
Implementation and Relative Efficiency of Quasirandom
Sequence Generators,
ACM Transactions on Mathematical Software,
Volume 12, Number 4, December 1986, pages 362376.

Axel Grundmann, Michael Moeller,
Invariant Integration Formulas for the NSimplex
by Combinatorial Methods,
SIAM Journal on Numerical Analysis,
Volume 15, Number 2, April 1978, pages 282290.

John Harris, Horst Stocker,
Handbook of Mathematics and Computational Science,
Springer, 1998,
ISBN: 0387947469,
LC: QA40.S76.

Patrick Keast,
Moderate Degree Tetrahedral Quadrature Formulas,
Computer Methods in Applied Mechanics and Engineering,
Volume 55, Number 3, May 1986, pages 339348.

Vladimir Krylov,
Approximate Calculation of Integrals,
Dover, 2006,
ISBN: 0486445798,
LC: QA311.K713.

Dirk Laurie,
Algorithm 584:
CUBTRI, Automatic Cubature Over a Triangle,
ACM Transactions on Mathematical Software,
Volume 8, Number 2, 1982, pages 210218.

Frank Lether,
A Generalized Product Rule for the Circle,
SIAM Journal on Numerical Analysis,
Volume 8, Number 2, June 1971, pages 249253.

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

James Lyness, BJJ McHugh,
Integration Over Multidimensional Hypercubes,
A Progressive Procedure,
The Computer Journal,
Volume 6, 1963, pages 264270.

AD McLaren,
Optimal Numerical Integration on a Sphere,
Mathematics of Computation,
Volume 17, Number 84, October 1963, pages 361383.

Albert Nijenhuis, Herbert Wilf,
Combinatorial Algorithms for Computers and Calculators,
Second Edition,
Academic Press, 1978,
ISBN: 0125192606,
LC: QA164.N54.

William Peirce,
Numerical Integration Over the Planar Annulus,
Journal of the Society for Industrial and Applied Mathematics,
Volume 5, Number 2, June 1957, pages 6673.

Hans Rudolf Schwarz,
Finite Element Methods,
Academic Press, 1988,
ISBN: 0126330107,
LC: TA347.F5.S3313.

Gilbert Strang, George Fix,
An Analysis of the Finite Element Method,
Cambridge, 1973,
ISBN: 096140888X,
LC: TA335.S77.

Arthur Stroud,
Approximate Calculation of Multiple Integrals,
Prentice Hall, 1971,
ISBN: 0130438936,
LC: QA311.S85.

Arthur Stroud, Don Secrest,
Gaussian Quadrature Formulas,
Prentice Hall, 1966,
LC: QA299.4G3S7.

Stephen Wandzura, Hong Xiao,
Symmetric Quadrature Rules on a Triangle,
Computers and Mathematics with Applications,
Volume 45, 2003, pages 18291840.

Stephen Wolfram,
The Mathematica Book,
Fourth Edition,
Cambridge University Press, 1999,
ISBN: 0521643147,
LC: QA76.95.W65.

Dongbin Xiu,
Numerical integration formulas of degree two,
Applied Numerical Mathematics,
Volume 58, 2008, pages 15151520.

Olgierd Zienkiewicz,
The Finite Element Method,
Sixth Edition,
ButterworthHeinemann, 2005,
ISBN: 0750663200,
LC: TA640.2.Z54

Daniel Zwillinger, editor,
CRC Standard Mathematical Tables and Formulae,
30th Edition,
CRC Press, 1996,
ISBN: 0849324793,
LC: QA47.M315.
Source Code:
Last revised on 20 April 2020.