Introduction

Adaptive algorithms are now used widely for the numerical calculation of multiple integrals. These algorithms have been developed for a variety of integration regions, including hyper-rectangles, spheres and simplicies. In this paper we describe an algorithm for groups of integrals over a common n-dimensional hyper-rectangular region. The integrals have the form
displaymath776
where tex2html_wrap_inline778 is an n-vector, and tex2html_wrap_inline780 is an s-vector of integrands. The algorithm input is n, tex2html_wrap_inline782, tex2html_wrap_inline784, s, tex2html_wrap_inline780, an error tolerance tol and a limit tex2html_wrap_inline790, on the allowed number of evaluations of tex2html_wrap_inline780. The output is an s-vector of integral estimates tex2html_wrap_inline794 and an s-vector of error estimates tex2html_wrap_inline796. If possible, the algorithm computes tex2html_wrap_inline794 with tex2html_wrap_inline800 using at most tex2html_wrap_inline790 values of tex2html_wrap_inline780.

The basic algorithm that we present is similar to a globally adaptive algorithm for single integrands first described by van Dooren and de Ridder [25], and improved by Genz and Malik [17], and Berntsen [2]. Implementations of the Genz and Malik modified algorithm have appeared in the NAG [1] library. Test results (Genz [15], Berntsen [3]) have shown that this algorithm may often be significantly more efficient than other algorithms for a variety of integrands when n is in the range 2-8, but the algorithm is sometimes unreliable. However, Berntsen [2, 5, 6] and Berntsen and Espelid [8] and Espelid [13] have shown how the use of problem specific rules and a more sophisticated error estimation method can increase the reliability of the original algorithm, and these ideas are incorporated into the new algorithm.

A second problem with the original algorithm is a serial organization that prevents its efficient implementation on parallel computers. Modifications to the algorithm structure at the subregion selection level that allow for good parallelization on a number of parallel computers have recently been described by Genz [16] and Berntsen [4]. By allowing for a vector integrand instead of a single integrand the performance pf the new algorithm may also be better for some large scale calculations where a large number of similar integrals, possibly differing only by the value(s) of some parameter(s), are needed over a common integration region. In this case it often happens that a significant part of the computation required for each integrand is the same for all of the integrands. These common calculations need be done only once for each integrand evaluation point, and it may often be possible to do the remaining calculations with some parallelism. Thus, the new algorithm allows for user controlled parallelism at the lowest level during the integrand evaluations and, also at the subregion level. An additional saving with the new algorithm may occur because all of the integral calculations use the same subdivision of the integration region, and so the work for finding a good subdivision is shared among all of the integral calculations.

For a vector of integrals, where the components vary continuously as functions of some parameter, the estimates produced by our algorithm will also vary continuously when the same subdivision is applied to all components. This will generally not be the case when different components are given separate treatment (see Lyness and Kaganove [20]).

In the next three sections we describe in detail the new algorithm which incorporates these improvements. In Section 2 the adaptive subdivision strategy is described, including modifications that facilitate parallelization at the subregion level and allow for more than one integrand. In Section 3 we describe several different integration rules that can be selected for use with the algorithm, and in Section 4 we describe the new error estimation method. A FORTRAN implementation of the algorithm, called DCUHRE [10], was used for the test results described in Section 5. Some concluding remarks are given in Section 6.


Alan C Genz
Tue May 11 09:59:26 PDT 1999