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$

  • 4
    $\begingroup$ Does this answer your question? Evaluate the defining Integral of the Bessel functions of the first kind $\endgroup$
    – Artes
    Mar 25, 2022 at 11:05
  • $\begingroup$ @Artes That indeed answers the first part, but not why Mathematica gives different results as I described in the edit $\endgroup$ Mar 25, 2022 at 11:10
  • 1
    $\begingroup$ 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. $\endgroup$
    – Artes
    Mar 25, 2022 at 11:20
  • $\begingroup$ @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 $\endgroup$ Mar 25, 2022 at 13:06
  • $\begingroup$ 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. $\endgroup$
    – Bob Hanlon
    Mar 25, 2022 at 13:22

1 Answer 1


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 , 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.

  • $\begingroup$ 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? $\endgroup$ Mar 26, 2022 at 12:14
  • $\begingroup$ @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. $\endgroup$
    – Michael E2
    Mar 26, 2022 at 14:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.