R: Various functions taken from the Wolfram Functions Site

wolfram {hypergeo} | R Documentation

## Various functions taken from the Wolfram Functions Site

### Description

Various functions taken from the Wolfram Functions Site

### Usage

    w07.23.06.0026.01(A, n, m, z, tol = 0, maxiter = 2000, method = "a")
    w07.23.06.0026.01_bit1(A, n, m, z, tol = 0)
    w07.23.06.0026.01_bit2(A, n, m, z, tol = 0, maxiter = 2000)
    w07.23.06.0026.01_bit3_a(A, n, m, z, tol = 0)
    w07.23.06.0026.01_bit3_b(A, n, m, z, tol = 0)
    w07.23.06.0026.01_bit3_c(A, n, m, z, tol = 0)
    w07.23.06.0029.01(A, n, m, z, tol = 0, maxiter = 2000)
    w07.23.06.0031.01(A, n, m, z, tol = 0, maxiter = 2000)
    w07.23.06.0031.01_bit1(A, n, m, z, tol = 0, maxiter = 2000)
    w07.23.06.0031.01_bit2(A, n, m, z, tol = 0, maxiter = 2000)

### Arguments

`A` | Parameter of hypergeometric function
`m,n` | Integers
`z` | Primary complex argument
`tol,maxiter` | Numerical arguments as per `genhypergeo()`
`method` | Character, specifying method to be used

### Details

The `method` argument is described at `f15.3.10`. All functions' names follow the conventions in `Hypergeometric2F1.pdf`.

- Function `w07.23.06.0026.01(A, n, m, z)` returns hypergeo(A,A+n,A+m,z) where m and n are nonnegative integers with m>=n.

- Function `w07.23.06.0029.01(A, n, m, z)` returns hypergeo(A,A+n,A-m,z).

- Function `w07.23.06.0031.01(A, n, m, z)` returns hypergeo(A,A+n,A-m,z) with m<=n.

### Note

These functions use the `psigamma()` function which does not yet take complex arguments; this means that complex values for `A` are not supported. I'm working on it.

### Author(s)

Robin K. S. Hankin

### References

http://functions.wolfram.com/Hypergeometric2F1.pdf

### See Also

`f15.3.10`,`hypergeo`

### Examples

    # Here we catch some answers from Maple (jjM) and compare it with R's:

    jjM <- 0.95437201847068289095 + 0.80868687461954479439i # Maple's answer
    jjR <- w07.23.06.0026.01(A=1.1 , n=1 , m=4 , z=1+1i)
    # [In practice, one would type 'hypergeo(1.1, 2.1, 5.1, 1+1i)']

    stopifnot(Mod(jjM - jjR) < 1e-10)

    jjM <- -0.25955090546083991160e-3 - 0.59642767921444716242e-3i
    jjR <- w07.23.06.0029.01(A=4.1 , n=1 , m=1 , z=1+4i)
    # [In practice, one would type 'hypergeo(4.1, 3.1, 5.1, 1+1i)']

    stopifnot(Mod(jjM - jjR) < 1e-15)

    jjM <- 0.33186808222278923715e-1 - 0.40188208572232037363e-1i
    jjR <- w07.23.06.0031.01(6.7,2,1,2+1i)
    # [In practice, one would type 'hypergeo(6.7, 8.7, 7.7, 2+1i)']
    stopifnot(Mod(jjM - jjR) < 1e-10)

[Package hypergeo version 1.2-13 Index]