I have a double integral involving a double exponential oscillatory function:

\begin{equation} \int_{-\infty}^{\infty}\int_{-\infty}^{\infty} e^{-iq^3} e^{-q^2}(q+b)\text{sign(q-b)}e^{ib^3} e^{-b^2}dq db \end{equation}

i just used the following code

NIntegrate[$e^{-iq^3}$ $e^{-q^2}$ (q+b) $\text{sign(q-b)}$ $e^{ib^3}$ $e^{-b^2}$,{q,-$\infty$,$\infty$},{b,$-\infty$,$\infty$},Method -> {"DoubleExponentialOscillatory", "SymbolicProcessing" -> 0}]

and it gives the following message

Numerical integration converging too slowly; suspect one of the \
following: singularity, value of the integration is 0, highly \
oscillatory integrand, or WorkingPrecision too small. 

I tried using Method -> {"DoubleExponentialOscillatory", "SymbolicProcessing" -> 0} in NIntegrate and it gives the following message

"Method \!\(\"DoubleExponentialOscillatory\"\) works only for \
one-dimensional integrals with infinite ranges. \
\!\(\*ButtonBox[\">>\", Appearance->{Automatic, None}, \
BaseStyle->\"Link\", ButtonData:>\"paclet:ref/NIntegrate\", \

How do I use NIntegrate? Thanks in advance

  • $\begingroup$ Please show the actual code you used. $\endgroup$
    – bbgodfrey
    Aug 26, 2016 at 3:58
  • $\begingroup$ sorry about that. i just added it $\endgroup$
    – anonymous
    Aug 26, 2016 at 4:11
  • $\begingroup$ People here generally like users to post code as Mathematica code instead of images or TeX, so they can copy-paste it. It makes it convenient for them and more likely you will get someone to help you. You may find this this meta Q&A helpful $\endgroup$
    – Michael E2
    Aug 26, 2016 at 11:10
  • $\begingroup$ sorry about that but i dont know how to do it $\endgroup$
    – anonymous
    Aug 26, 2016 at 12:57

1 Answer 1


For every point {q, b} in the integrand, there is another point with the values of q and b interchanged, and the value of the integrand is the negative of the first point. So, the integral must be zero, and that is why Mathematica gives the first error message in the question.

This can be seen explicitly as follows. Define variables x and y as follows.

Solve[{q - b == x, q + b == y}, {q, b}] // First

(* {q -> (x + y)/2, b -> 1/2 (-x + y)} *)

Then, the integrand becomes

Simplify[Exp[-q^2 - I q^3 - b^2 - I b^3] (q + b) Sign[q - b] /. %]

(* E^(-(1/4) I (y^2 (-2 I + y) + x^2 (-2 I + 3 y))) y Sign[x] *)


Integrate[%, {x, -Infinity, Infinity}]

(* 0 *)

as expected.

  • $\begingroup$ sorry about that. i had a typo. $\endgroup$
    – anonymous
    Aug 26, 2016 at 4:21
  • $\begingroup$ Answer still is zero, for the same reason. $\endgroup$
    – bbgodfrey
    Aug 26, 2016 at 4:27
  • 1
    $\begingroup$ Another way to show your point: int[q_, b_] := Exp[-q^2 - I q^3 - b^2 - I b^3] (q + b) Sign[q - b]; int[q, b] + int[b, q] // Simplify, since the integrals of $f(x,y)$ and $f(y,x)$ over the plane are the same for any integrable function. (+1) $\endgroup$
    – Michael E2
    Aug 26, 2016 at 11:26

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.