This page is about cubature formulae for numerical integration over the unit disk. In the first part we try to derive coefficients by direct approach, second is devoted to Gauss rules for 2D unit disk based on product of two 1D quadratures.
We offer C/C++ open source library which allows user to estimate integral over disk with center at where can be arbitrary. Algorithm is based on Gauss product rules and includes high-precision coefficients.
We would like to build approximation of the integral
by the weighted sum of integrand values
where are such that is exact on polynomials . Formulas of such type are called cubatures of algebraic degree .
After switching to polar coordinates we obtain
Let’s represent in the form of multivariate Maclaurin series as
This gives us approximation error conveniently expressed through function derivatives.
To unsure exactness on polynomials up to total degree of we have to find such that multipliers of all partial derivatives in are equal to zero. This leads to the system of nonlinear equations, which can be solved analytically for small and numerically for the higher degrees.
Additionally we set and to be symmetric, since such choice makes cubature exact on naturally, where at least one of or is odd.
Below we show several cubature formulas derived by the explained procedure.
Please leave comment on this page if you find these formulas useful.
Derivation of optimal cubatures with minimal function evaluations required to achieve given algebraic degree is not an easy task, they are known only for some (see ,).
However if we want to build cubatures for any desired approximation order we can use product of two 1D rules to estimate . Although this approach is not optimal in the sense of number of integrand evaluations it gives flexible and easy way of cubature derivation (see ,, for details) which we repeat here.
At first we use slightly different transformation to polar coordinates:
After substitution in the second integral we get
These integrals can be computed separately from each other by using 1D Gauss quadratures.
We use Gauss-Chebyshev formula of the first kind for approximation
where nodes and weights are known in the closed form
To compute second integral
we need to build Gauss quadrature with weight function . I have no access to  where it is considered in details, so I derived points and coefficients using standard procedure for constructing quadrature formulas :
- Find coefficients of two-term recursion relation for monic polynomials orthogonal on with weight :
- Find eigenvalues and first component of eigenvectors of principal leading minor of Jacobi matrix:
It is a symmetric tridiagonal matrix. Implicit QL algorithm can be applied to solve this task efficiently (
steinroutines in LAPACK). Then points are calculated eigenvalues. Weights where is the first component of corresponding eigenvector).
In our case , and can be calculated by analytical formula for any (send me e-mail if you are interested).
Combining both rules and we obtain Gauss-type cubature (or product rule) for the unit disk which has points and which is exact on polynomials of a total degree at most . Distribution of the points for some can be observed on these plots (click on image to zoom):
C/C++ library implementing Gauss product rule for the integration over the disk (2D sphere) is available for download:
- Gauss 2D Sphere Cubature.zip (400KB)
It uses high-precision points and coefficients of 1D rules and to approximate integral over 2D sphere with center at .
I have used Maple for all symbolic calculations and QuickLaTeX for rendering mathematical equations on the web page. Unfortunately Maple was too slow and unstable for derivation of 1D -quadrature with . I ended up writing my own C++ program specifically for that using ALGLIB and multi-precision arithmetic library MPFR. Let me know if your interested in this program.
The most complete and recent compendium of cubature formulas is Encyclopaedia of Cubature Formulas maintained by Ronald Cools . He wrote several surveys on cubature formulas, some of them are available online, check his publication page.
In particular his survey on cubatures for unit disk is available here A survey of known and new cubature formulas for the unit disk. Although it doesn’t contain numeric values for weights and points (exept for ) it has huge number of useful links to other topic-specific papers.
 A.H. Stroud, Approximate calculation of multiple integrals, 1971.
 R. Cools, K.J. Kim, A survey of known and new cubature formulas for the unit disk.
 A.H. Stroud, D. Secrest, Gaussian Quadrature Formulas, 1966.
 G.H. Golub, J.H. Welsch, Calculation of Gauss quadrature rules, Math. Соmр. 23 1969.
 W. Gautschi, Orthogonal Polynomials: Computation and Approximation, 2004.
 I.P. Mysovskikh. Interpolatory cubature formulas. Moskva: “Nauka”. 1981. (Russian).