Multi-dimensional quadrature

NINTLIB is a C library which estimates integrals over multi-dimensional regions.

Please note that these routines are simple and academic. A good program for computing an integral in multiple dimensions must include error estimation and adaptivity. Simple straightforward approaches to reducing the error will cause a ruinous explosion in the number of function evaluations required.


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


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

Related Data and Programs:

FEKETE, a C++ library which defines a Fekete rule for quadrature or interpolation over a triangle.

INTEGRAL_TEST, a FORTRAN90 program which tests the suitability of a set of N points for use in an equal-weight quadrature rule over the multi-dimensional unit hypercube.

INTLIB, a FORTRAN90 library which estimates the integral of a function over a one-dimensional interval.

NINT_EXACTNESS, a C++ program which demonstrates how to measure the polynomial exactness of a multidimensional quadrature rule.

PRODUCT_RULE, a C++ program which can create a multidimensional quadrature rule as a product of one dimensional rules.

QUADRULE, a C library which defines a variety of (mostly 1-dimensional) quadrature rules.

STROUD, a C library which defines a variety of quadrature rules over various "interesting" geometric shapes.

TEST_INT_2D, a C library which defines test integrands for 2D quadrature rules.

TEST_NINT, a C++ library which tests multi-dimensional quadrature routines.


  1. Philip Davis, Philip Rabinowitz,
    Methods of Numerical Integration,
    Second Edition,
    Dover, 2007,
    ISBN: 0486453391,
    LC: QA299.3.D28.

Source Code:

Examples and Tests:

List of Routines:

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

Last revised on 02 December 2012.