0
$\begingroup$

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,
or
(1.51764*10^-27+7.31069*10^-26 I) ± 5.0195*10^-29 ?

$\endgroup$
13
  • $\begingroup$ 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. $\endgroup$ Commented Feb 15, 2013 at 11:41
  • $\begingroup$ 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.? $\endgroup$ Commented Feb 15, 2013 at 11:47
  • $\begingroup$ Yes indeed! I'm sorry for being unclear. was Just trying to get that message in the typing box :) $\endgroup$
    – Henk Spaan
    Commented Feb 15, 2013 at 11:50
  • $\begingroup$ @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! $\endgroup$
    – Henk Spaan
    Commented Feb 15, 2013 at 11:56
  • 1
    $\begingroup$ Boundary values? $\endgroup$ Commented Feb 15, 2013 at 12:26

1 Answer 1

5
$\begingroup$

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.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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