I have some problem with two dimensional integral. I want to calculate such integral.

G[x_]=(1+2/π ArcSin[x/Sqrt[x^2+4]]-4/π ArcSin[x/Sqrt[x^2+1]]-(12x)/(π(4+x^2)(1+x^2)));

Expr[η_,a_,ρ_,y_]:= BesselJ[0,ρ ](ρ/2)^(-2 I η)  Exp[-2 I η BesselK[0,ρ /a]]BesselJ[0,y]G[(y a)/ρ]

int[a_, η_] := NIntegrate[Expr[η, a, ρ, y], {ρ, 0,∞}, {y,0, ∞}]

But This integral high oscillated and converge very slowly.

int[1., 0.7]

SystemException[MemoryAllocationFailure,{NIntegrate[Expr[0.7,1.,[Rho],y],{[Rho],0,[Infinity]},{y,0,[Infinity]}],Block[{Compile$6,Compile$7,Compile`$8,Compile`$9 .....

I tried to calculate this integral with big but finite limit of integration. But in this case the answer depends on limit of integration, and not good satisfy known asymptotics for small and big parameter $a$. How to do it correctly?


1 Answer 1


The integral above can be split into two integrals,

first[z_?NumericQ] := NIntegrate[BesselJ[0, y] G[y z], {y, 0, \[Infinity}];
second[a_, \[Eta]_] := NIntegrate[  BesselJ[0, \[Rho]] (\[Rho]/2)^(-2 I \[Eta]) Exp[-2 I \[Eta] 
  BesselK[0, \[Rho]/a]] first[a/\[Rho]], {\[Rho], 0, \[Infinity]}];

first evaluates quickly, and can be plotted

first integral

It approaches infinity at the origin and decreases (much) more rapidly than z^-2 for large z. In fact, first can be redefined as

first[z_?NumericQ] := NIntegrate[BesselJ[0, y] G[y z], {y, 0, 100}];

with no noticeable loss of accuracy. Likewise the argument of second can be plotted, in this case for the choice {1.,.7} made in the Question.

second integral

Although it decreases slowly at large z, it does go to zero, as can be seen by plotting it against 1/z.

second integral vs 1/z

With this formulation, second[1.,0.7] now produces an answer without error messages, -0.0892243+0.291903 I, although slowly (Twelve seconds on my computer). If first could be represented by an approximate analytical expression or by an InterpolatingFunction, the calculation would run much more rapidly.

  • $\begingroup$ Thanks for helpful answer. Now all work and match with asymptotics. $\endgroup$
    – Peter
    Dec 25, 2014 at 2:31

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.