# circle_rule

circle_rule, a Python code which computes quadrature rules 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).

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 and a Python version.

### Related Data and Programs:

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

annulus_rule, a MATLAB 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 MATLAB code which computes points equally spaced along a circular arc;

circle_integrals, a MATLAB 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 MATLAB code which applies a monte carlo method to estimate the integral of a function on the circumference of the unit circle in 2d;

disk_rule, a MATLAB code which computes quadrature rules over the interior of a disk in 2d.

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

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

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

quadrule, a Python code which defines quadrature rules for approximating an integral over a 1D domain.

simplex_gm_rule, a Python 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.

triangle_twb_rule, a Python code which generates the points and weights of quadrature rules over the interior of a triangle in 2D, determined by Taylor, Wingate, and Bos.

truncated_normal_rule, a Python 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].

### 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 13 October 2022.