hyperball_integrals


hyperball_integrals, a C++ code which returns the exact value of the integral of any monomial over the interior of the unit hyperball in M dimensions.

The interior of the unit hyperball in M dimensions is defined by

        sum ( 1 <= i <= m ) x(i)^2 <= 1
      

The integrands are all of the form

        f(x) = product ( 1 <= i <= m ) x(i)^e(i)
      
where the exponents are nonnegative integers. If any exponent is an odd integer, the integral will be zero. Thus, the "interesting" results occur when all exponents are even.

Licensing:

The information on this web page is distributed under the MIT license.

Languages:

hyperball_integrals is available in a C version and a C++ version and a Fortran90 version and a MATLAB version and an Octave version and a Python version.

Related Data and Programs:

hyperball_integrals_test

cpp_integrals, a C++ code which returns the exact value of the integral of any monomial over a line, square, cube, a polygon, a circle, a disk, a sphere, a ball, a triangle, a tetrahedron, a simplex, and various other geometric regions.

hyperball_monte_carlo, a C++ code which uses the Monte Carlo method to estimate the integral of a function over the interior of the unit hyperball in M dimensions.

Reference:

  1. Gerald Folland,
    How to Integrate a Polynomial Over a Sphere,
    American Mathematical Monthly,
    Volume 108, Number 5, May 2001, pages 446-448.

Source Code:


Last revised on 17 March 2020.