**f90_rule**,
a Fortran90 code which
computes a quadrature rule which
estimates the integral of a function f(x), which might be defined over
a one dimensional region (a line) or more complex shapes such as,
a circle, a triangle, a quadrilateral, a polygon, or a higher dimensional
region, and which might include an associated weight function w(x).

The information on this web page is distributed under the MIT license.

**f90_rule** is available in
a C version and
a C++ version and
a Fortran77 version and
a Fortran90 version and
a Python version.

alpert_rule, a Fortran90 code which sets up an Alpert quadrature rule for functions which are regular, log(x) singular, or 1/sqrt(x) singular.

annulus_rule, a Fortran90 code which computes a quadrature rule for estimating integrals of a function over the interior of a circular annulus in 2D.

ccn_rule, a Fortran90 code which defines a Clenshaw Curtis Nested (CCN) quadrature rule.

chebyshev1_rule, a Fortran90 code which computes a Gauss-Chebyshev type 1 quadrature rule.

chebyshev2_rule, a Fortran90 code which computes a Gauss-Chebyshev type 2 quadrature rule.

circle_rule, a Fortran90 code which computes a quadrature rule for the unit circle in 2D, to approximate integrals of f(x,y) over the circumference of the circle of radius 1 and center (0,0).

clenshaw_curtis_rule, a Fortran90 code which defines a Clenshaw Curtis quadrature rule.

cube_arbq_rule, a Fortran90 code which returns quadrature rules, with exactness up to total degree 15, over the interior of the symmetric cube in 3D, by Hong Xiao and Zydrunas Gimbutas.

cube_felippa_rule, a Fortran90 code which returns the points and weights of a Felippa quadrature rule over the interior of a cube in 3D.

disk_rule, a Fortran90 code which computes a quadrature rule over the interior of a disk of radius R centered at the origin.

disk01_rule, a Fortran90 code which computes quadrature rules over the interior of the unit disk in 2D, with radius 1 and center (0,0).

filon_rule, a Fortran90 code which uses Filon's method to approximate integrals including an oscillatory factor of sin(k*x) or cos(k*x).

gegenbauer_rule, a Fortran90 code which computes a Gauss-Gegenbauer quadrature rule.

gen_hermite_rule, a Fortran90 code which returns a generalized Gauss-Hermite quadrature rule.

gen_laguerre_rule, a Fortran90 code which returns a generalized Gauss-Laguerre quadrature rule.

gl_fast_rule, a Fortran90 code which carries out the rapid computation of the K-th value and weight of an N-point Gauss-Legendre quadrature rule, by Ignace Bogaert.

hermite_rule, a Fortran90 code which returns a Gauss-Hermite quadrature rule for estimating the integral of a function with density exp(-x^2) over the interval (-oo,+oo).

hexahedron_jaskowiec_rule, a Fortran90 code which returns a symmetric Jaskowiec quadrature rule for the hexahedron, with exactness up to total degree 21.

hexahedron_witherden_rule, a Fortran90 code which returns a symmetric Witherden quadrature rule for the hexahedron, with exactness up to total degree 11.

jacobi_rule, a Fortran90 code which returns a Gauss-Jacobi quadrature rule.

kronrod_rule, a Fortran90 code which computes a Gauss and Gauss-Kronrod pair of quadrature rules of arbitrary order, by Robert Piessens, Maria Branders.

laguerre_rule, a Fortran90 code which returns a Gauss-Laguerre quadrature rule for estimating the integral of a function with density exp(-x) over the interval [0,+oo).

lattice_rule, a Fortran90 code which approximates M-dimensional integrals using lattice rules.

legendre_fast_rule, a Fortran90 code which uses a fast algorithm to compute a Gauss-Legendre quadrature rule for estimating the integral of a function with density rho(x)=1 over the interval [-1,+1].

legendre_rule, a Fortran90 code which returns a Gauss-Legendre quadrature rule for estimating the integral of a function with density rho(x)=1 over the interval [-1,+1].

line_fekete_rule, a Fortran90 code which estimates the location of N Fekete points, for polynomial interpolation or quadrature, over the interior of a line segment in 1D.

line_felippa_rule, a Fortran90 code which returns a Felippa quadrature rule over the interior of a line segment in 1D.

line_ncc_rule, a Fortran90 code which computes a Newton Cotes Closed (NCC) quadrature rule, using equally spaced points, over the interior of a line segment in 1D.

line_nco_rule, a Fortran90 code 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 Fortran90 code which returns a Gauss-Patterson quadrature rule of order 1, 3, 7, 15, 31, 63, 127, 255 or 511.

power_rule, a Fortran90 code which constructs a power rule, that is, a product quadrature rule from identical 1D factor rules.

prism_jaskowiec_rule, a Fortran90 code which returns symmetric quadrature rules, with exactness up to total degree 20, over the interior of a prism with triangular base, by Jan Jaskowiec, Natarajan Sukumar.

prism_witherden_rule, a Fortran90 code which returns a symmetric Witherden quadrature rule for a prism with triangular base, with exactness up to total degree 10.

product_rule, a Fortran90 code which constructs a product quadrature rule from distinct 1D factor rules.

pyramid_felippa_rule, a Fortran90 code which returns a Felippa quadrature rule for approximating integrals over the interior of a pyramid in 3D.

pyramid_jaskowiec_rule, a Fortran90 code which returns symmetric quadrature rules, with exactness up to total degree 20, over the interior of a pyramid in 3D, by Jan Jaskowiec, Natarajan Sukumar.

pyramid_rule, a Fortran90 code which computes a conical product quadrature rule over the interior of the unit pyramid in 3D;

pyramid_witherden_rule, a Fortran90 code which returns a Witherden quadrature rule, with exactness up to total degree 10, over the interior of a pyramid.

quad_rule, a Fortran90 code which defines 1-dimensional quadrature rules.

quadrilateral_witherden_rule, a Fortran90 code which returns a symmetric Witherden quadrature rule for the quadrilateral, with exactness up to total degree 21.

simplex_gm_rule, a Fortran90 code which defines Grundmann-Moeller quadrature rules over the interior of a triangle in 2D, a tetrahedron in 3D, or a simplex in M dimensions.

sphere_lebedev_rule, a Fortran90 code which computes Lebedev quadrature rules on the surface of the unit sphere in 3D.

square_arbq_rule, a Fortran90 code which returns quadrature rules, with exactness up to total degree 20, over the interior of the symmetric square in 2D, by Hong Xiao and Zydrunas Gimbutas.

square_felippa_rule, a Fortran90 code which returns a Felippa quadrature rule over the interior of a square in 2D.

square_minimal_rule, a Fortran90 code which returns almost minimal quadrature rules, with exactness up to total degree 55, over the interior of the symmetric square in 2D, by Mattia Festa and Alvise Sommariva.

square_symq_rule, a Fortran90 code which returns symmetric quadrature rules, with exactness up to total degree 20, over the interior of the square in 2D, by Hong Xiao and Zydrunas Gimbutas.

tetrahedron_arbq_rule, a Fortran90 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_felippa_rule, a Fortran90 code which returns a Felippa quadrature rule for approximating integrals over the interior of a tetrahedron in 3D.

tetrahedron_jaskowiec_rule, a Fortran90 code which returns quadrature rules, with exactness up to total degree 20, over the interior of a tetrahedron in 3D, by Jan Jaskowiec, Natarajan Sukumar.

tetrahedron_keast_rule, a Fortran90 code which defines a Keast quadrature rule, with exactness degrees 0 through 8, over the interior of a tetrahedron in 3D.

tetrahedron_ncc_rule, a Fortran90 code which defines Newton-Cotes closed (NCC) quadrature rules over the interior of a tetrahedron in 3D.

tetrahedron_nco_rule, a Fortran90 code which defines Newton-Cotes open (NCO) quadrature rules over the interior of a tetrahedron in 3D.

tetrahedron_witherden_rule, a Fortran90 code which returns a symmetric Witherden quadrature rule for the tetrahedron, with exactness up to total degree 10.

triangle_dunavant_rule, a Fortran90 code which defines Dunavant rules for quadrature over the interior of a triangle in 2D.

triangle_fekete_rule, a Fortran90 code which defines a Fekete rule for interpolation or quadrature over the interior of a triangle in 2D.

triangle_felippa_rule, a Fortran90 code which returns a Felippa quadrature rule for approximating integrals over the interior of a triangle in 2D.

triangle_lyness_rule, a Fortran90 code which returns a Lyness-Jespersen quadrature rule over the interior of a triangle in 2D.

triangle_ncc_rule, a Fortran90 code which defines a Newton-Cotes Closed (NCC) quadrature rule over the interior of a triangle in 2D.

triangle_nco_rule, a Fortran90 code which defines a Newton-Cotes Open (NCO) quadrature rule over the interior of a triangle in 2D.

triangle_symq_rule, a Fortran90 code which returns symmetric quadrature rules, with precision up to 50, over the interior of a triangle in 2D, by Hong Xiao and Zydrunas Gimbutas.

triangle_twb_rule, a Fortran90 code which generates a quadrature rule over the interior of a triangle in 2D, determined by Taylor, Wingate, and Bos.

triangle_wandzura_rule, a Fortran90 code which defines a Wandzura rule for quadrature over the interior of a triangle in 2D.

triangle_witherden_rule, a Fortran90 code which returns a symmetric Witherden quadrature rule for the triangle, with exactness up to total degree 20.

truncated_normal_rule, a Fortran90 code which computes a quadrature rule for a normal probability density function (PDF), also called a Gaussian distribution, that has been truncated to [A,+oo), (-oo,B] or [A,B].

wedge_felippa_rule, a Fortran90 code which returns a Felippa quadrature rule for approximating integrals over the interior of the unit wedge in 3D.