Gauss-Kronrod Quadrature Rules

KRONROD is a FORTRAN90 library which computes both a Gauss 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.


The computer code and data files made available on this web page are distributed under the GNU LGPL license.


KRONROD is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version and a MATLAB version and a PYTHON version.

Related Data and Programs:

INT_EXACTNESS, a FORTRAN90 program which checks the polynomial exactness of a 1-dimensional quadrature rule for a finite interval.

PATTERSON_RULE, a FORTRAN90 program which returns the points and weights of a 1D Gauss-Patterson quadrature rule of order 1, 3, 7, 15, 31, 63, 127, 255 or 511.

PATTERSON_RULE_COMPUTE, a FORTRAN90 program which computes the points and weights of a 1D Gauss-Patterson quadrature rule of order 1, 3, 7, 15, 31, 63, 127, 255 or 511.

QUADPACK, a FORTRAN90 library which contains a variety of routines for numerical estimation of integrals in 1D.

QUADRATURE_RULES_PATTERSON, a dataset directory which contains Gauss-Patterson quadrature rules for the interval [-1,+1].

QUADRULE, a FORTRAN90 library which defines quadrature rules for 1D domains.

TEST_INT, a FORTRAN90 library which contains a number of functions that may be used as test integrands for quadrature rules in 1D.

TOMS672, a FORTRAN90 library which generates an interpolatory quadrature rule of highest possible order, given a set of preassigned abscissas;
this library is commonly called EXTEND;
this is ACM TOMS algorithm 672.

TOMS699, a FORTRAN77 library which implements a new representation of Patterson's quadrature formula;
this is ACM TOMS algorithm 699.


  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:

Examples and Tests:

List of Routines:

You can go up one level to the FORTRAN90 source codes.

Last revised on 03 August 2010.