class for adaptive quadrature integration in multi-dimensions using rectangular regions.
Algorithm from A.C. Genz, A.A. Malik, An adaptive algorithm for numerical integration over
an N-dimensional rectangular region, J. Comput. Appl. Math. 6 (1980) 295-302.
Converted/adapted by R.Brun to C++ from Fortran CERNLIB routine RADMUL (D120)
The new code features many changes compared to the Fortran version.
Control parameters are:
minpts: Minimum number of function evaluations requested. Must not exceed maxpts.
if minpts < 1 minpts is set to 2^n +2*n*(n+1) +1 where n is the function dimension
maxpts: Maximum number of function evaluations to be allowed.
maxpts >= 2^n +2*n*(n+1) +1
if maxpts<minpts, maxpts is set to 10*minpts
epstol, epsrel : Specified relative and absolute accuracy.
The integral will stop if the relative error is less than relative tolerance OR the
absolute error is less than the absolute tolerance
The class computes in addition to the integral of the function is the desired interval:
an estimation of the relative accuracy of the result.
number of function evaluations performed.
status code :
0 Normal exit. . At least minpts and at most maxpts calls to the function were performed.
1 maxpts is too small for the specified accuracy eps.
The result and relerr contain the values obtainable for the
specified value of maxpts.
3 n<2 or n>15
Method:
An integration rule of degree seven is used together with a certain
strategy of subdivision.
For a more detailed description of the method see References.
Notes:
1.Multi-dimensional integration is time-consuming. For each rectangular
subregion, the routine requires function evaluations.
Careful programming of the integrand might result in substantial saving
of time.
2.Numerical integration usually works best for smooth functions.
Some analysis or suitable transformations of the integral prior to
numerical work may contribute to numerical efficiency.
References:
1.A.C. Genz and A.A. Malik, Remarks on algorithm 006:
An adaptive algorithm for numerical integration over
an N-dimensional rectangular region, J. Comput. Appl. Math. 6 (1980) 295-302.
2.A. van Doren and L. de Ridder, An adaptive algorithm for numerical
integration over an n-dimensional cube, J.Comput. Appl. Math. 2 (1976) 207-217.
@ingroup Integration