buhring: Evaluation of the hypergeometric function using Buhring's...

buhringR Documentation

Evaluation of the hypergeometric function using Buhring's method

Description

Expansion of the hypergeometric function using the residue theorem; useful for when the primary argument is close to the critical points 1/2\pm i\sqrt{3}/2

Usage

hypergeo_buhring(A,B,C,z,z0=1/2,tol=0,maxiter=2000,use11=TRUE)
buhring_eqn11(n,S,A,B,C,z0=1/2)
buhring_eqn12(n,S,A,B,C,z0=1/2)
buhring_eqn5_factors(A,B,C,z,z0=1/2)
buhring_eqn5_series(S,A,B,C,z,z0=1/2,use11=FALSE,tol=0,maxiter=2000)

Arguments

A,B,C

Parameters (real)

S

Parameter taken to be either A or B

n

Term to calculate in buhring_eqn11() or buhring_eqn12()

z

Primary complex argument

z0

Centre of circle of non-convergence; series expressed in powers of 1/\left(z-z_0\right)^n

tol,maxiter

tolerance and maximum number of iterations (as in hypergeo())

use11

Boolean with default TRUE meaning to use buhring_eqn11() and FALSE meaning to use buhring_eqn12()

Details

The functions are direct transcriptions of Buhring 1987. The basic idea is to expand the hypergeometric function in powers of (z-z_0)^{-1}.

Functions buhring_eqn11() and buhring_eqn12() return the coefficients d_n given by equations 11 and 12 of Buhring 1987.

The series do not converge satisfactorily near the critical points due to some sort of numerical instability. But they seem to work OK if |z-1/2| is large.

Note

There is some issue which prevents the series from converging correctly, also sometimes the sequence converges to a demonstrably incorrect value.

Author(s)

Robin K. S. Hankin

References

  • W. Buhring 1987. “An analytic continuation of the hypergeometric series”, Siam J. Math. Anal. 18(3)

See Also

residue

Examples



# should be identical:
buhring_eqn11(n=0:10,S=1/2,A=1/2,B=1/3,C=pi)
buhring_eqn12(n=0:10,S=1/2,A=1/2,B=1/3,C=pi)
# but differ in one element


a <- hypergeo(1/2,1/3,4,1+8i,maxiter=90)
b <- hypergeo_buhring(1/2,1/3,4,1+8i,maxiter=90)
# should be identical but are not 


# following command fails due to numerical instability:
## Not run: 
hypergeo_buhring(1/2,1/3,pi,z=1/2 + 1i*sqrt(3)/2)

## End(Not run)


RobinHankin/hypergeo documentation built on Aug. 29, 2023, 4 p.m.