# Integrating over Bessel Function erroneous? (Hankel Transform)

Bug introduced in 8.0.4 or earlier and persists through 11.0.1 or later

The Hankel Transform is given by

Integrate[f[x] x BesselJ[0, x t], {x, 0, Infinity}]


It is self-inverse, so

Integrate[F[t] t BesselJ[0, x t], {t, 0, Infinity}]


gives the back-transformation.

I tried out a simple case:

Integrate[UnitBox[x/2] x BesselJ[0, x t], {x, 0, Infinity}]


which promptly results in

BesselJ[1, t]/t


This is correct. However, if I do the back-transformation:

Integrate[BesselJ[1, t]/t t BesselJ[0, x t], {t, 0, Infinity}]


the integration takes noticeably longer (which is expected since the function oscillates) and the result is

ConditionalExpression[0, x>1]


While that single condition would be correct - UnitBox[x/2] == 0 for x > 1 - the rest of the function won't show up.

Is there any way to make the obviously missing parts show up?

Related but not quite what I'm asking:
Hankel Transform integrals won't work in Mathematica
Strange result when integrating BesselJ functions

• Integrate[BesselJ[1, t]/t t BesselJ[0, x t], {t, 0, Infinity}] in 11.3, returns this int doesn't coverage, and returns back origin formula. Commented Feb 7, 2021 at 19:33

## 1 Answer

Try :

Integrate[BesselJ[1, t]/t t BesselJ[0, x t], {t, 0, Infinity},
Assumptions -> { x > 0}]

• Why not Integrate[BesselJ[1, t] BesselJ[0, x t], {t, 0, Infinity}, Assumptions -> {x > 0}]? Commented Feb 2, 2013 at 14:45
• That apparently works. Weird. I think I previously had a case where it didn't. Commented Feb 2, 2013 at 14:55
• @m_goldberg of course, that bit of simplifying would make it a bit faster but it's less general. I had this problem with more complex functions as input as well. Ones that wouldn't simplify so readily. Commented Feb 2, 2013 at 14:56
• Integrate[(Sin[t]-t Cos[t])/t^2 BesselJ[0,t x],{t,0,Infinity},Assumptions->x>0] should return something equivalent to UnitBox[x/2]Sqrt[1-x^2] (at least for x>0) but doesn't get evaluated at all. Without assumptions, it returns ConditionalExpression[0,x>1 || x<-1] - basically the same problem but not fixable with that simple assumption. Commented Feb 2, 2013 at 15:05