nintlib, a C++ code 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 MIT license


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

Related Data and Programs:


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

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

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

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

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

triangle_fekete_rule, a C++ code which defines a Fekete rule for quadrature or interpolation over a triangle.


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

Source Code:

Last revised on 29 March 2020.