Numerical integration of highly oscillating function

I want to Numerically integrate the following function

int[t_] := NIntegrate[A1[t - t3 - t2 - t1]*A2[t - t3 -t2]*A3[t - t3]*Exp[I*(h*(t1 + t2 +
t3) + h*(t1) + h*(t1 + t2))], {t1, 0, 500}, {t2, 0, 500}, {t3, 0, 500}, Method -> "AdaptiveMonteCarlo"]


Take h=5 (it doesn't matter in this case). A1, A2 and A3 are some interpolating function. So I want to use MonteCarlo method because A1, A2 and A3 are not converging properly in "Global Adaptive" method (or takes very long time to converge), but coverging quickly in MonteCarlo.

int[t_] := NIntegrate[A1[t - t3 - t2 - t1]*A2[t - t3 - t2]*A3[t - t3]
, {t1, 0, 500}, {t2, 0, 500}, {t3, 0, 500}, Method -> "AdaptiveMonteCarlo"]


This converges perfectly fine. However,

NIntegrate[Exp[I*(h*(t1 + t2 +
t3) +h*(t1) + h*(t1 + t2))], {t1, 0, 500}, {t2, 0, 500}, {t3, 0, 500},Method -> "AdaptiveMonteCarlo"]


this is not coverging at all (My deduction is that the exponential function is highly oscillating). Is it possible to somehow converge this function using some precursors?

• h = 5; Integrate[ Exp[I*(h*(t1 + t2 + t3) + h*(t1) + h*(t1 + t2))], {t1, 0, 500}, {t2, 0, 500}, {t3, 0, 500}] results in 1/750 I (-1 + E^(2500 I))^2 (1 + E^(2500 I)) (-1 + E^(7500 I). Its numerical value equals 0.00110115 + 0.00178614 I. The one is close to zero and this explains the problems with the numerical integration since the modulus of the integrand equals 1. Commented Apr 25, 2022 at 13:53
• Let NIntegrate choose method automaticaly, is very exact and causes no problems NIntegrate[ Exp[I*(h*(t1 + t2 + t3) + h*(t1) + h*(t1 + t2)) /. h -> 5], {t1, 0, 500}, {t2, 0, 500}, {t3, 0, 500}]  (* 0.00110115 + 0.00178614 I *) Commented Apr 25, 2022 at 14:15
• @Akku14 I know that, but the problem is I cannot choose Global Adaptive method for A1, A2 and A3. That's the problem. So, when you combine the two integrands, it won't converge. Commented Apr 25, 2022 at 14:17
• BTW, the integral Integrate[ Exp[I*(h*(t1 + t2 + t3) + h*(t1) + h*(t1 + t2))], {t1, 0, Infinity}, {t2, 0, Infinity}, {t3, 0, Infinity}] diverges for h>=0. Commented Apr 25, 2022 at 14:18
• Show us the A1 ,A2 ,A3 Commented Apr 25, 2022 at 14:20

int[t_] := NIntegrate[A1[t - t3 - t2 - t1]*A2[t - t3 -t2]*A3[t - t3]*Exp[I*(h*(t1 + t2 + t3) + h*(t1) + h*(t1 + t2))]

So if you have an integrand of the form $$f(x)*g(x)$$, where $$f(x)$$ is non-oscillating and $$g(x)$$ is highly oscillating, one can use the Levin rule. In my case, the integrand is exactly of the form. The efficiency is not as good as I would like, but this is the best I came up with.