views:

381

answers:

2

Does anyone have experience with algorithms for evaluating hypergeometric functions? I would be interested in general references, but I'll describe my particular problem in case someone has dealt with it.

My specific problem is evaluating a function of the form 3F2(a, b, 1; c, d; 1) where a, b, c, and d are all positive reals and c+d > a+b+1. There are many special cases that have a closed-form formula, but as far as I know there are no such formulas in general. The power series centered at zero converges at 1, but very slowly; the ratio of consecutive coefficients goes to 1 in the limit. Maybe something like Aitken acceleration would help?

+1  A: 

Is it correct that you want to sum a series where you know the ratio of successive terms and it is a rational function?

I think Gosper's algorithm and the rest of the tools for proving hypergeometric identities (and finding them) do exactly this, right? (See Wilf and Zielberger's A=B book online.)

ShreevatsaR
Yes, the ratio of the series coefficients is a rational function of the index. But I have not found a useful hypergeometric identity. http://functions.wolfram.com/ lists thousands of identities, but none of them help.
John D. Cook
I don't know much -- don't these algorithms *find* an identity as well? I haven't read the A=B book in detail, but the Maple packages it mentions might have better implementations...
ShreevatsaR
+2  A: 

I tested Aitken acceleration and it does not seem to help for this problem (nor does Richardson extrapolation). This probably means Pade approximation doesn't work either. I might have done something wrong though, so by all means try it for yourself.

I can think of two approaches.

One is to evaluate the series at some point such as z = 0.5 where convergence is rapid to get an initial value and then step forward to z = 1 by plugging the hypergeometric differential equation into an ODE solver. I don't know how well this works in practice; it might not, due to z = 1 being a singularity (if I recall correctly).

The second is to use the definition of 3F2 in terms of the Meijer G-function. The contour integral defining the Meijer G-function can be evaluated numerically by applying Gaussian or doubly-exponential quadrature to segments of the contour. This is not terribly efficient, but it should work, and it should scale to relatively high precision.

fredrikj
Fantastic question, and an answer that's up to the challenge. Well done.
duffymo