# Why does Integrate not evaluate the integral?

I am following a caluclation in this paper, equation (7). There, it is stated that the integral $$\int_0^{2\pi}d\phi e^{-ik_rr\cos(v_{\phi}-\phi)}=J_0(k_rr)$$results in the zeroth-order Bessel function. Why, then, does Mathematica not provide the same result?

Assuming[r \[Element] Reals && vr \[Element] Reals && v\[Phi] \[Element] Reals
, Integrate[E^(-I r Subscript[v, r] Cos[v\[Phi] - \[Phi]]), {\[Phi], 0,
2 \[Pi]}] // FullSimplify]


As an output, I simply get the integral in LateX form as if I would have written it down by hand.

Edit: Even weirder, if I leave out the $$v_{\phi}$$ in the integrand, I get the result, even though both should be the same as they are related by a simple change of variables: $$v_{\phi} - \phi = \alpha$$

• Does this answer your question? Evaluate the defining Integral of the Bessel functions of the first kind Mar 25, 2022 at 11:05
• @Artes That indeed answers the first part, but not why Mathematica gives different results as I described in the edit Mar 25, 2022 at 11:10
• The accepted answer therein discusses related issues in details. If an expression is not evaluated it doesn't mean that the result is different. The system leaves a space for improvement though. Mar 25, 2022 at 11:20
• @Artes So what I get from the accepted answer there is that one might provide additional assumptions to the Ìntegrate function, e.g. input is real, integer-based, etc. However, for me, the expression still doesn't get calculated and stays purely symbolic Mar 25, 2022 at 13:06
• Although it doesn't change the outcome, note that in the integrand you used Subscript[v, r] whereas in the assumptions you used vr. These should be the same. Mar 25, 2022 at 13:22

As @Artes' answer begins, "As a rule-based, term-rewriting system...." Mathematica has a missing rule here, it seems.

If we reduce the number of parameters via substitution, which can be done without losing the original integral, Mathematica succeeds. (Here I used the periodicity of cosine to translate the interval.)

Integrate[E^(-I rr Cos[-tt]), {tt, 0, 2 π},
Assumptions -> rr ∈ Reals] /. {rr -> r*Subscript[v, r]}
(*  2 π BesselJ[0, Abs[r Subscript[v, r]]]  *)


Not translating the interval fails (an appropriate rule seems to be missing):

Integrate[E^(-I rr Cos[-tt]), {tt, 0 - vϕ, 2 π - vϕ},
Assumptions -> rr ∈ Reals && vϕ ∈ Reals]
(* ... input returned ... *)


A success:

Integrate[E^(-I rr Cos[-tt]), {tt, 0 - Pi/2, 2 π - Pi/2},
Assumptions -> rr ∈ Reals]
(*  2 π BesselJ[0, Abs[rr]]  *)


More failures. One might or might not excuse the interval that depended on the parameter vϕ, but given the success with translation by Pi/2, I wonder at the failures with translation by other values.

Integrate[E^(-I rr Cos[-tt]), {tt, 0 - 1, 2 π - 1},
Assumptions -> rr ∈ Reals]

Integrate[E^(-I rr Cos[-tt]), {tt, 0 - Pi/3, 2 π - Pi/3},
Assumptions -> rr ∈ Reals]


Aside & caveat: Note that symbolically, r and Subscript[v, r], which has the form f[v, r], both depend on r as expressions. This is probably not what was meant.

• Thanks. Regarding your last sentence: Does that mean that Mathematica interprets Subscript[v, r] as depending on r and not just as another declared variable like, e.g., z? Mar 26, 2022 at 12:14
• @LionCereals Usually, yes. For instance Solve[r == Subscript[v, r], r], Integrate[Subscript[v, r], r] and D[Subscript[v, r]^2, r] -- and compare with vr. I thought there was an instance Subscript was treated as not depending on its arguments, but I don't recall the circumstances. Mar 26, 2022 at 14:30