KRONROD is a C++ 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 described and 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.
INT_EXACTNESS, a C++ program which checks the polynomial exactness of a 1-dimensional quadrature rule for a finite interval.
PATTERSON_RULE, a C++ program which computes a Gauss-Patterson quadrature rule.
QUADRATURE_RULES_PATTERSON, a dataset directory which contains Gauss-Patterson quadrature rules for the interval [-1,+1].
QUADRULE, a C++ library which defines quadrature rules for 1D domains.
You can go up one level to the C++ source codes.