square_exactness_test, a FORTRAN90 code which calls square_exactness(), which investigates the polynomial exactness of quadrature rules for f(x,y) over the interior of a square (rectangle, quadrilateral) in 2D.
We assume that the integral to be approximated is of a Legendre type, over a rectangular region:
I(f) = integral ( c <= y <= d ) integral ( a <= x <= b ) f(x,y) dx dyand that such integrals are to be approximated by:
Q(f) = sum ( 1 <= i <= N ) w(i) * f(x(i),y(i))
To determine the exactness of a given quadrature rule, we simply compare the exact integral I(f) to the estimated integral Q(f) for a sequence of monomials of increasing total degree D. This sequence begins with:
D = 0: 1 D = 1: x y D = 2: x^2 xy x^2 D = 3: x^3 x^2y xy^2 y^3and the exactness of a quadrature rule is defined as the largest value of D such that I(f) and Q(f) are equal for all monomials up to and including those of total degree D.
Note that if the 2D quadrature rule is formed as a product of two 1D rules, then knowledge of the 1D exactness of the individual factors gives sufficient information to determine the exactness of the product rule, which will simply be the minimum of the exactnesses of the two factor rules.
The computer code and data files described and made available on this web page are distributed under the MIT license
square_exactness, a FORTRAN90 code which investigates the polynomial exactness of quadrature rules for f(x,y) over the interior of a square (rectangle/quadrilateral) in 2D.