R: The generalized hypergeometric function

genhypergeo {hypergeo} | R Documentation

## The generalized hypergeometric function

### Description

The generalized hypergeometric function, using either the series expansion or the continued fraction expansion.

### Usage

    genhypergeo(U, L, z, tol=0, maxiter=2000, check_mod=TRUE,
        polynomial=FALSE, debug=FALSE, series=TRUE)
    genhypergeo_series(U, L, z, tol=0, maxiter=2000, check_mod=TRUE,
        polynomial=FALSE, debug=FALSE)
    genhypergeo_contfrac(U, L, z, tol = 0, maxiter = 2000)

### Arguments

`U,L` | Upper and lower arguments respectively (real or complex)
`z` | Primary complex argument (see notes)
`tol` | tolerance with default zero meaning to iterate until additional terms to not change the partial sum
`maxiter` | Maximum number of iterations to perform
`check_mod` | Boolean, with default `TRUE` meaning to check that the modulus of `z` is less than 1
`polynomial` | Boolean, with default `FALSE` meaning to evaluate the series until converged, or return a warning; and `TRUE` meaning to return the sum of `maxiter` terms, whether or not converged. This is useful when either `A` or `B` is a nonpositive integer in which case the hypergeometric function is a polynomial
`debug` | Boolean, with `TRUE` meaning to return debugging information and default `FALSE` meaning to return just the evaluate
`series` | In function `genhypergeo()`, Boolean argument with default `TRUE` meaning to return the result of `genhypergeo_series()` and `FALSE` the result of `genhypergeo_contfrac()`

### Details

Function `genhypergeo()` is a wrapper for functions `genhypergeo_series()` and `genhypergeo_contfrac()`.

Function `genhypergeo_series()` is the workhorse for the whole package; every call to `hypergeo()` uses this function except for the (apparently rare—but see the examples section) cases where continued fractions are used.

The generalized hypergeometric function [here `genhypergeo()`] appears from time to time in the literature (eg Mathematica) as

[omitted; see PDF]

where U=(u_1,...,u_i) and L=(l_1,...,l_i) are the “upper” and “lower” vectors respectively. The radius of convergence of this formula is 1.

For the Confluent Hypergeometric function, use `genhypergeo()` with length-1 vectors for arguments `U` and `V`.

For the 0F1 function (ie no “upper” arguments), use `genhypergeo(NULL,L,x)`.

See documentation for `genhypergeo_contfrac()` for details of the continued fraction representation.

### Note

The radius of convergence for the series is 1 but under some circumstances, analytic continuation defines a function over the whole complex plane (possibly cut along (1,inf)). Further work would be required to implement this.

### Author(s)

Robin K. S. Hankin

### References

M. Abramowitz and I. A. Stegun 1965. Handbook of mathematical functions. New York: Dover

### See Also

`hypergeo`,`genhypergeo_contfrac`

### Examples

    genhypergeo(U=c(1.1,0.2,0.3), L=c(10.1,pi*4), check_mod=FALSE, z=1.12+0.2i)
    genhypergeo(U=c(1.1,0.2,0.3), L=c(10.1,pi*4),z=4.12+0.2i,series=FALSE)

[Package hypergeo version 1.2-13 Index]