NINTLIB, a MATLAB 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.

Languages:

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

Related Data and Programs:

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 MATLAB program which demonstrates how to measure the polynomial exactness of a multidimensional quadrature rule.

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

QUADRATURE_TEST, a MATLAB program which reads the definition of a multidimensional quadrature rule from three files, applies the rule to a number of test integrals, and prints the results.

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

QUADRULE_FAST, a MATLAB library which defines efficient versions of a few 1D quadrature rules.

STROUD, a MATLAB library which defines quadrature rules over various "interesting" geometric shapes.

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

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

TESTPACK, a MATLAB library which defines a set of integrands used to test multidimensional quadrature.

Reference:

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

Source Code:

• box_nd.m, computes the integral of F(X) over a product box.
• i4_huge.m, returns a huge I4.
• monte_carlo_nd.m, computes a Monte Carlo estimate of an integral in a box.
• p5_nd.m, approximates the integral of F(X) over a product region.
• r8vec_uniform_01.m, returns a unit pseudorandom R8VEC.
• romberg_nd.m, approximates the integral of a F(X) over a product region.
• sample_nd.m, estimates the integral of F(X) over the multi-dimensional unit box.
• sum2_nd.m, computes the integral of F(X) over a multi-dimensional product region.
• timestamp.m, prints the current YMDHMS date as a time stamp.
• tuple_next.m, computes the next element of a tuple space.

Last revised on 15 February 2019.