D01FBF approximates a multidimensional integral by evaluating the summation
given the weights
wj,ij and abscissae
xj,ij for a multidimensional product integration rule (see
Davis and Rabinowitz (1975)). The number of dimensions may be anything from
1 to
20.
The weights and abscissae for each dimension must have been placed in successive segments of the arrays
WEIGHT and
ABSCIS; for example, by calling
D01BCF or
D01TBF
once for each dimension using a quadrature formula and number of abscissae appropriate to the range of each
xj and to the functional dependence of
f on
xj.
If normal weights are used, the summation will approximate the integral
where
wjx is the weight function associated with the quadrature formula chosen for the
jth dimension; while if adjusted weights are used, the summation will approximate the integral
You must supply a subroutine to evaluate
at any values of
x1,x2,…,xn within the range of integration.
Davis P J and Rabinowitz P (1975)
Methods of Numerical Integration Academic Press
If on entry
IFAIL=0 or
-1, explanatory error messages are output on the current error message unit (as defined by
X04AAF).
The accuracy of the computed multidimensional sum depends on the weights and the integrand values at the abscissae. If these numbers vary significantly in size and sign then considerable accuracy could be lost. If these numbers are all positive, then little accuracy will be lost in computing the sum.
The total time taken by D01FBF will be proportional to
where
T is the time taken for one evaluation of
FUN.
This example evaluates the integral
using adjusted weights. The quadrature formulae chosen are:
- x1: Gauss–Legendre, a=1.0, b=2.0,
- x2: Gauss–Laguerre, a=0.0, b=2.0,
- x3: Gauss–Hermite, a=0.0, b=0.5,
- x4: rational Gauss, a=1.0, b=2.0.
Four points are sufficient in each dimension, as this integral is in fact a product of four one-dimensional integrals, for each of which the chosen four-point formula is exact.
None.