# Two dimensional high oscillated numerical integral

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?

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

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.

Although it decreases slowly at large z, it does go to zero, as can be seen by plotting it against 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.

• Thanks for helpful answer. Now all work and match with asymptotics. Commented Dec 25, 2014 at 2:31