kronrod_rule


kronrod_rule, a Fortran90 code which computes both a Gauss-Legendre quadrature rule of order N, and the Gauss-Kronrod rule of order 2*N+1.

A pair of Gauss and Gauss-Kronrod quadrature rules are typically used to provide an error estimate for an integral. The integral is estimated using the Gauss rule, and then the Gauss-Kronrod rule provides a higher precision estimate. The difference between the two estimates is taken as an approximation to the level of error.

The advantage of using a Gauss and Gauss-Kronrod pair is that the second rule, which uses 2*N+1 points, actually includes the N points in the previous Gauss rule. This means that the function values from that computation can be reused. This efficiency comes at the cost of a mild reduction in the degree of polynomial precision of the Gauss-Kronrod rule.

Licensing:

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

Languages:

kronrod_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:

kronrod_rule_test

f90_rule, a Fortran90 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. Robert Piessens, Maria Branders,
    A Note on the Optimal Addition of Abscissas to Quadrature Formulas of Gauss and Lobatto,
    Mathematics of Computation,
    Volume 28, Number 125, January 1974, pages 135-139.

Source Code:


Last revised on 22 July 2020.