# circle_rule

circle_rule, a C++ code which computes quadrature rules over the circumference of the unit circle in 2D.

The user specifies the value NT, the number of equally spaced angles. The program returns vectors T(1:NT) and W(1:NT), which define the rule Q(f).

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

```        q = 0.0
for i = 1, nt
x = cos ( t(i) )
y = sin ( t(i) )
q = q + w(j) * f ( x, y )
end
```

### Languages:

circle_rule is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version.

### Related Data and Programs:

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

CIRCLE_ARC_GRID, a C++ code which computes points equally spaced along a circular arc;

CIRCLE_INTEGRALS, a C++ code which returns the exact value of the integral of any monomial over the circumference of the unit circle in 2D.

CIRCLE_MONTE_CARLO, a C++ code which applies a Monte Carlo method to estimate the integral of a function on the circumference of the unit circle in 2D;

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

DISK_RULE, a C++ code which computes quadrature rules over the interior of the unit disk in 2D.

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

PYRAMID_RULE, a C++ code which computes a quadrature rule over the interior of the unit pyramid in 3D.

SPHERE_LEBEDEV_RULE, a C++ code which computes Lebedev quadrature rules on the surface of the unit sphere in 3D.

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

STROUD, a C++ code 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 C++ code which returns Felippa's quadratures rules for approximating integrals over the interior of a tetrahedron in 3D.

TRIANGLE_FEKETE_RULE, a C++ code which defines Fekete rules for interpolation or quadrature over the interior of a triangle in 2D.

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

WEDGE_FELIPPA_RULE, a C++ code 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.

### Source Code:

Last revised on 19 February 2020.