# Finding a root of a parameterized integral

I have a function given as a parameterized definite integral:

f[a_] := Integrate[BesselJ[0, x - a] BesselJ[0, x + a], {x, -∞, ∞}]


I suspect it has a root near a = 0.8. How can I evaluate this root to an arbitrary precision?

Unfortunately, Mathematica cannot evaluate this integral symbolically, and I don't know if it's possible at all, but I would be glad if anybody could suggest how to do it.

Update: It seems that the integral is actually divergent except some isolated values of a (when a is an odd multiple of π/2, see https://math.stackexchange.com/a/878420/19661), and it's never zero when it converges.

• f[a_?NumericQ] := Integrate[ BesselJ[0, x - a] BesselJ[0, x + a], {x, -[Infinity], [Infinity]}] and then FindRoot[f[a], {a, 0.5}] ? – b.gates.you.know.what Jul 24 '14 at 10:11
• In V10, NIntegrate[BesselJ[0, x - 1] BesselJ[0, x + 1], {x, 0, Infinity}, Method -> "ExtrapolatingOscillatory"] throws a First::normal message, which I reported. They responded that it was a bug and that the integral is divergent. They said to consider the asymptotic behavior of the Bessel functions at infinity. But it seems to me that ignores the oscillatory behavior. I might have time to investigate later, but I thought you probably had thought about it already. – Michael E2 Jul 30 '14 at 0:12
• The integral under consideration diverges for each $a>0$ since the integrand has the asymptotics $$2\,{\frac {\cos \left( -x+a+\pi/4 \right) \sin \left( x+a+\pi/4 \right) }{\pi\,x}}+O \left( {x}^{-2} \right)$$ at infinity.. – user64494 Jun 5 '18 at 15:29
• I deleted my answer. I had tried a series expansion ser5[x_, a_] = Series[BesselJ[0, x - a] BesselJ[0, x + a], {x, Infinity, 5}] // Normal // FullSimplify  , and integration intser[a_] = Integrate[ser5[x, a], {x, 1000, Infinity}]  gave result, which was wrong. Integrate didn't take into accout, that integral does only converge for a - values beeing odd multiplles of Pi/4. – Akku14 Jun 6 '18 at 12:46

Vladimir, there is one simple solution:

lst = Table[{a, NIntegrate[BesselJ[0, x - a] BesselJ[0,x + a], {x, -\[Infinity], \[Infinity]},
PrecisionGoal -> 5, Compiled -> True]}, {a, 0.84, 0.85, 0.0001}]


This visualizes the result:

 ListPlot[lst, Frame -> True, FrameLabel -> {Style["a", 16], Style["Integral", 16]},
GridLines -> Automatic]


and should look as follows:

To vary the precision one may play with the a step and the PrecisionGoal option decreasing the former and simultaneously increasing the latter.

There is, however, a question, to what extent this estimate of the integral is correct. I tried also Method -> "ExtrapolatingOscillatory"and it gave a very different result from the one shown above. I hope, my comment is useful.