6
$\begingroup$

Here I want to compute this integral using the Mathematica $$\int_0^\infty \int_{-\pi}^{\pi}s^{\frac{1}{2}+2} \exp (-s) \cos \left(\frac{f}{2}\right) \exp (-i k s) \exp \left(-\frac{\sqrt{8 s u}}{\cos \left(\frac{f}{2}\right)}\right)\; df\, ds$$

For simplicity, I use $w$ as the upper limit of the integral with respect to $s$.

Thus, we have the following code by Mathematica:

Gamm[k_, u_] :=2/(15*Sqrt[Pi])* NIntegrate[Exp[-I*k*s]*s^(1/2+2)* Exp[-s]*Cos[f/2]*Exp[-Sqrt[8*s*u]/Cos[f/2]], {f, -Pi, Pi}, {s, 0, w}]; Table[Gamm[0, u], {u, 0, 0.1, 0.001}] 

IF I choose w = 10, Mathematica gives:

Table[Gamm[0, u], {u, 0, 0.1, 0.001}] (* {0.99443, 0.789459, 0.722113, 0.675455, 0.639067, 0.609022, 0.58335, 0.560903, 0.540948, 0.522983, 0.506647} *) 

When I choose w = 10^6, the above integral yields

Table[Gamm[0, u], {u, 0, 0.1, 0.001}] (* {0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.} *) 

Clearly, the integral is not zero. How to solve this problem? It seems that there is something wrong.

Any suggestion is helpful! Thanks!

$\endgroup$
11
  • $\begingroup$ If the question is no clear, please give me a comment. $\endgroup$ Commented Jul 12, 2020 at 9:28
  • $\begingroup$ Your code dosen't work for me ? $\endgroup$ Commented Jul 12, 2020 at 9:38
  • 1
    $\begingroup$ You need spaces between variables: su should be s u and Iks should be I k s etc. $\endgroup$ Commented Jul 12, 2020 at 9:38
  • 2
    $\begingroup$ Don't you get error messages for w = 10^6? How did you address them? Why are they mentioned in the question? $\endgroup$ Commented Jul 12, 2020 at 13:26
  • 1
    $\begingroup$ I am not sure whether it is a Riemann integral or not. But our work is related to fractional derivatives. @niloderoock $\endgroup$ Commented Jul 12, 2020 at 13:45

1 Answer 1

5
$\begingroup$

The following problem is hidden by NIntegrate, but which is one of the common sources of the NIntegrate::izero message you get from the OP's code.

Exp[-I*k*s]*s^(1/2 + 2)*Exp[-s]*Cos[f/2]* Exp[-Sqrt[8*s*u]/Cos[f/2]] /. {k -> 0, u -> 0.1} /. {f -> 1., s -> 1000.} 

General::munfl: Exp[-1032.23] is too small to represent as a normalized machine number; precision may be lost.

(* 0. *) 

Tip: You should make some sort of exploration of the integrand when a numerical integral misbehaves. The two first things would be to evaluate it at a typical point in the integration region and to plot it (if possible, i.e., if it's a single- or two-variable function).

Gamm[k_, u_] := 2/(15*Sqrt[Pi])* NIntegrate[ Exp[-I*k*s]*s^(1/2 + 2)*Exp[-s]*Cos[f/2]* Exp[-Sqrt[8*s*u]/Cos[f/2]], {f, -Pi, Pi}, {s, 0, w}, PrecisionGoal -> 8, WorkingPrecision -> 32]; Block[{w = 10^6}, Table[Gamm[0, u], {u, 0, 1/10, 1/100}] ] 

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

NIntegrate::slwcon: ....

(* {1.0000000000626411805661509309408, 0.50827294088807703485723248346197, ... 0.16444683406465457205578964022320, 0.15112873347891652231157354357054} *) 

The message is just a warning.

I'm not sure why the integral in TeX in the OP is not the integral being coded:

Block[{w = Infinity}, Table[Gamm[0, u], {u, 0, 1/10, 1/100}] ] (* {0.99999999998679967008116173695908, 0.50827294069524647486336322647360, ... 0.16444683409559630424360181571660, 0.15112873348047743265847037936301} *) 
$\endgroup$

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.