# DISK01_RULE Quadrature Rules for the Unit Disk

DISK01_RULE is a FORTRAN77 library which computes a quadrature rule over the interior of the unit disk in 2D.

The user specifies values NT and NR, where NT is the number of equally spaced angles, and NR controls the number of radial points. The program returns vectors T(1:NT), R(1:NR) and W(1:NR), which define the rule Q(f).

To use a rule that is equally powerful in R and T, typically, set NT = 2 * NR.

Given NT and NR, and the vectors T, R and W, the integral I(f) of a function f(x,y) is estimated by Q(f) as follows:

```        s = 0.0
for j = 1, nr
for i = 1, nt
x = r(j) * cos ( t(i) )
y = r(j) * sin ( t(i) )
s = s + w(j) * f ( x, y )
end
end
area = pi;
q = area * s;
```

To approximate an integral over a circle with center (XC,YC) and radius RC:

```        s = 0.0
for j = 1, nr
for i = 1, nt
x = xc + rc * r(j) * cos ( t(i) )
y = yc + rc * r(j) * sin ( t(i) )
s = s + w(j) * f ( x, y )
end
end
area = rc * rc * pi;
q = area * s;
```

### Languages:

DISK01_RULE is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version and a MATLAB version and a Python version.

### Related Data and Programs:

CUBE_FELIPPA_RULE, a FORTRAN77 library which returns the points and weights of a Felippa quadrature rule over the interior of a cube in 3D.

DISK_GRID, a FORTRAN77 library which computes grid points that lie in the interior of a disk in 2D with user specified radius and center, using GNUPLOT to create an image of the grid.

DISK_INTEGRALS, a FORTRAN77 library which returns the exact value of the integral of any monomial over the interior of the unit disk in 2D.

DISK_MONTE_CARLO, a FORTRAN77 library which applies a Monte Carlo method to estimate the integral of a function over the interior of the unit disk in 2D;

PYRAMID_FELIPPA_RULE, a FORTRAN77 library which returns Felippa's quadratures rules for approximating integrals over the interior of a pyramid in 3D.

PYRAMID_RULE, a FORTRAN77 program which computes a quadrature rule over the interior of the unit pyramid in 3D;

SPHERE_LEBEDEV_RULE, a FORTRAN77 library which computes Lebedev quadrature rules on the surface of the unit sphere in 3D.

SQUARE_FELIPPA_RULE, a FORTRAN77 library which returns the points and weights of a Felippa quadrature rule over the interior of a square in 2D.

STROUD, a FORTRAN77 library which defines quadrature rules for a variety of M-dimensional regions, including the interior of the square, cube and hypercube, the pyramid, cone and ellipse, the hexagon, the M-dimensional octahedron, the circle, sphere and hypersphere, the triangle, tetrahedron and simplex, and the surface of the circle, sphere and hypersphere.

TETRAHEDRON_FELIPPA_RULE, a FORTRAN77 library which returns Felippa's quadratures rules for approximating integrals over the interior of a tetrahedron in 3D.

TRIANGLE_FELIPPA_RULE, a FORTRAN77 library which returns Felippa's quadratures rules for approximating integrals over the interior of a triangle in 2D.

WEDGE_FELIPPA_RULE, a FORTRAN77 library which returns quadratures rules for approximating integrals over the interior of the unit wedge in 3D.

### Reference:

1. Philip Davis, Philip Rabinowitz,
Methods of Numerical Integration,
Second Edition,
Dover, 2007,
ISBN: 0486453391,
LC: QA299.3.D28.
2. 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.

### List of Routines:

• DISK01_RULE computes a quadrature rule for the unit disk.
• DISK01_MONOMIAL_INTEGRAL returns monomial integrals in the unit disk in 2D.
• IMTQLX diagonalizes a symmetric tridiagonal matrix.
• LEGENDRE_EK_COMPUTE: Legendre quadrature rule by the Elhay-Kautsky method.
• R8_EPSILON returns the R8 roundoff unit.
• R8_GAMMA evaluates Gamma(X) for a real argument.
• R8VEC_PRINT prints an R8VEC.
• TIMESTAMP prints the current YMDHMS date as a time stamp.

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

Last revised on 13 March 2014.