quadrature_golub_welsch, a C++ code which illustrates the use of the Golub Welsch technique for computing the points and weights of a Gaussian quadrature rule.


The computer code and data files described and made available on this web page are distributed under the MIT license


quadrature_golub_welsch is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

CLENSHAW_CURTIS_RULE, a C++ code which defines a Clenshaw Curtis quadrature rule.


QUADRATURE_LEAST_SQUARES, a C++ code which computes weights for "sub-interpolatory" quadrature rules, that is, it estimates integrals by integrating a polynomial that approximates the function data in a least squares sense.

QUADRATURE_WEIGHTS_VANDERMONDE, a C++ code which determines the weights of a quadrature rule using the Vandermonde matrix.

QUADRULE, a C++ code which defines quadrature rules for 1-dimensional domains.

TOMS655, a C++ code which computes the weights for interpolatory quadrature rule;
this library is commonly called IQPACK;
this is a C version of ACM TOMS algorithm 655.


  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.
  3. Jaroslav Kautsky, Sylvan Elhay,
    Calculation of the Weights of Interpolatory Quadratures,
    Numerische Mathematik,
    Volume 40, 1982, pages 407-422.

Source Code:

Last revised on 04 April 2020.