Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

When I do some complicated 4-dimensional integral numerically, Mathematica tells me its estimate for the value of the integral, and its estimate for the value of the error in the calculation.

The integrand:

Integrand[x_, y_, z_, Ekb_] := Sqrt[-4.14195`*^-29 +1.38065`*^-29 Ekb + (1.7055100000000003`*^-29 2.71828`^(-((2.76817`*^8 ((0.986286` x + 0.165048` y)^2 + z^2))/(1.` + 4707.27` (-0.165048` x + 0.986286` y)^2))))/(1.` + 4707.27` (-0.165048` x +0.986286` y)^2) + (2.4364400000000005`*^-29 2.71828`^(-((2.76817`*^8 ((0.986286` x -0.165048` y)^2 + z^2))/(1.` + 4707.27` (0.165048` x + 0.986286` y)^2))))/(1.` + 4707.27`(0.165048` x + 0.986286` y)^2)]/(1.` + 2.71828`^(7.2429699999999995`*^28 (-2.7613`*^-29 + 1.38065`*^-29 Ekb)))

The Integration:

Re@NIntegrate[Integrand[x,y,z,Ekb],{x,-9.53853 10^(-5),9.53853 10^(-5)},{y,-57 10^(-5),57 10^(-5)},{z,-4.37824 10^(-5),4.37824 10^(-5)},{Ekb,0,7*3/17},Method ->     {"GlobalAdaptive", Method -> "MultiDimensionalRule", "MaxErrorIncreases" -> 100}]

It puts out the error message:

NIntegrate::eincr: The global error of the strategy GlobalAdaptive has increased more than 100 times. The global error is expected to decrease monotonically after a number of integrand evaluations. Suspect one of the following: the working precision is insufficient for the specified precision goal; the integrand is highly oscillatory or it is not a (piecewise) smooth function; or the true value of the integral is 0. Increasing the value of the GlobalAdaptive option MaxErrorIncreases might lead to a convergent numerical integration. NIntegrate obtained 1.51764*10^-27+7.31069*10^-26 I and 1.0039003041591675`*^-28 for the integral and error estimates. >>

Should this be interpreted as (1.51764*10^-27+7.31069*10^-26 I) ± 1.0039003041591675`*^-28,
(1.51764*10^-27+7.31069*10^-26 I) ± 5.0195*10^-29 ?

share|improve this question
I have never seen Mathematica output like that. Are you sure you are actually using that? If so, please provide the code you are using. – Sjoerd C. de Vries Feb 15 '13 at 11:41
Are you perhaps referring to error messages/warnings like this: NIntegrate::maxp: The integral failed to converge after 33 integrand evaluations. NIntegrate obtained 1.9558072180392028 and 0.06781302015519788 for the integral and error estimates.? – Sjoerd C. de Vries Feb 15 '13 at 11:47
Yes indeed! I'm sorry for being unclear. was Just trying to get that message in the typing box :) – Henk Spaan Feb 15 '13 at 11:50
@SjoerdC.deVries So in your example, should i interpret the answer as: 1.95581 ([PlusMinus]0.067813) or 1.95581 ([PlusMinus]0.0339065) Thanks again! – Henk Spaan Feb 15 '13 at 11:56
Boundary values? – Sjoerd C. de Vries Feb 15 '13 at 12:26

In the case of a complex-valued integrand, how to interpret "NIntegrate obtained a and b for the integral and error estimates":

The rough interpretation is: the disk in the complex plane centered on a with radius b, or alternatively (what is larger), the range (a - b - b*I) to (a + b + b*I).

Longer answer: b is the sum of "error estimates" on individual subintervals in the integration range you specified. Each "error estimate" is the absolute difference between an integral estimate using ~2*n sampling points and an integral estimate using ~n sampling points. Important: This absolute difference, called the "error estimate", can only be reliably interpreted as a bound on the error of the integration rule if the integration is actually converging. The message "The global error of the strategy GlobalAdaptive has increased more than 100 times" indicates this may not be the case for your integral.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.