Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

The following series expression holds:

BesselJ[1,a x]BesselJ[1,b x]==a b (x^2)/4*Sum[(-1)^n*(a x/2)^(2n)*Hypergeometric2F1[-n,-1-n,2,b^2/a^2]/(n!Pochhammer[2,n]),{n,0,Infinity}]

Where BesselJ[1,x] is the Bessel function of the first kind of order 1. Hypergeometric2F1[a1,a2,b1,x] is Gauss hypergeometric function. Pochhammer[2,n] is the Pochhammer Symbol. This series expression can be found in e.g. Bateman Manuscript Project, Higher Transcendental Functions, Vol.2, and it holds without any constraints.

For this series expression, if the relatively small parameters are chosen, e.g. a=1, b=2.5, x=3, and just replace the sum index Infinite with 100, the product of Bessel functions gives 0.045857190997445 and the series gives 0.045857190997469. They coincide well. However, for a relatively large x, the product of Bessel functions must be decreasing, e.g. a=1, b=2.5, x=100, the product of Bessel functions gives 0.003338005199477126, but the series gives 6.410492282570008*10^131 which is apparently divergent. The reason of this divergence is unknown for me. It can't be better to increase the terms of the series expression or improve the precision of the Gauss hypergeometric function.

Could anyone help? Thanks!

share|improve this question
abx^2/4 is strange here and I think it doesn't affect your convergence.After putting values its a constant which does nothing to convergence or divergence of series. If I take it as a b (x^2)/4..for all value of x I get 0.045857190997445 –  Rorschach Aug 25 '13 at 9:00
@Blackbird: Thanks! The coefficient a*b*(x^2)/4 is surely irrelevant. The decisive factor of the convergence is inside the sum[...]. " If I take it as a b (x^2)/4..for all value of x I get 0.045857190997445", this is incorrect please check whether the factor (ax/2)^(2n) is missed. –  Karl Eichenhaus Aug 26 '13 at 4:20
Hypergeometric2F1[-n,-1-n,2,b^2/a^2] has independent a,b but actually they are not independent in your supplied parameters, parameter is ax,bx it should be a x,b x.Formation of series is faulty, I suppose. –  Rorschach Aug 26 '13 at 6:24
so did u get what I got ? I have tried the same already. –  Rorschach Aug 26 '13 at 13:06
BesselJ[1,a x]BesselJ[1,b x]==a b (x^2)/4*Sum[(-1)^n*(a x/2)^(2n)*Hypergeometric2F1[-n,-1-n,2,b^2/a^2]/(n!Pochhammer[2,n]),{n,0,Infinity‌​}]. Yes, this is the correct expression which is just evaluated by me. I thought the omitting space between the parameters would not lead to the misunderstanding of the expression. Now you can observe the above-mentioned phenomenon. The expression has no problem. The problem is the numerical evaluation of it. –  Karl Eichenhaus Aug 26 '13 at 13:20
show 1 more comment

1 Answer

It's not obvious to me what exactly you did. When I do what you describe I do not get divergent values.

func = BesselJ[1, a x] BesselJ[1, b x];
ss = Series[func, {x, Infinity, 2}, Assumptions -> {a > 0, b > 0}]

(* Out[328]= Cos[\[Pi]/4 + a x] Cos[\[Pi]/4 + b x] (
DirectedInfinity[1], {2 a^Rational[-1, 2] b^Rational[-1, 2]/Pi}, 2, 6,
     2]) + Cos[\[Pi]/4 + b x] (
DirectedInfinity[1], {
    Rational[-3, 4] a^Rational[-3, 2] b^Rational[-1, 2]/Pi}, 4, 6, 
    2]) Sin[\[Pi]/4 + a x] + Cos[\[Pi]/4 + a x] (
DirectedInfinity[1], {
    Rational[-3, 4] a^Rational[-1, 2] b^Rational[-3, 2]/Pi}, 4, 6, 
    2]) Sin[\[Pi]/4 + b x] + (
DirectedInfinity[1], {
    Rational[9, 32] a^Rational[-3, 2] b^Rational[-3, 2]/Pi}, 6, 8, 
    2]) Sin[\[Pi]/4 + a x] Sin[\[Pi]/4 + b x] *)

Numerical check:

{func, Normal[ss]} /. {a -> 1, b -> 2.5, x -> 100}

(* Out[329]= {0.00333800519948, 0.00333795972052} *)
share|improve this answer
Thank you Herr Lichtblau, but you haven't understand my series correctly. There are surely many different types of series expansion for BesselJ[1, a x] BesselJ[1, b x], but I'm just talking about the series written in the form of Gauss hypergeometric function. In fact I need a expression written in the form of power series of x. –  Karl Eichenhaus Aug 28 '13 at 5:19
Ah. There are two issues. One is that You simply did not take enough terms. Try 1000. The other is that you use machine arithmetic. I'm guessing this is suffering badly from cancellation error. In any case, use 5/2 instead of 2.5 for your b value. –  Daniel Lichtblau Aug 28 '13 at 14:17
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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