disk_rule


disk_rule, a Fortran77 code 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:

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

Licensing:

The information on this web page is distributed under the MIT license.

Languages:

disk_rule is available in a C version and a C++ version and a Fortran90 version and a MATLAB version and an Octave version and a Python version.

Related Data and Programs:

disk_rule_test

f77_rule, a Fortran77 code which computes a quadrature rule which estimates the integral of a function f(x), which might be defined over a one dimensional region (a line) or more complex shapes such as a circle, a triangle, a quadrilateral, a polygon, or a higher dimensional region, and which might include an associated weight function w(x).

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.

Source Code:


Last revised on 01 October 2023.