The confluent and Gauss hypergeometric functions, with the kernels
scipy.special uses (Boost.Math for real hyp1f1, as in SciPy).
Details
sc_hyp0f1(): \({}_0F_1(;v;z)\), complex.sc_hyp1f1(): Kummer's \({}_1F_1(a;b;x)\), complexx.sc_hyp2f1(): the Gauss \({}_2F_1(a,b;c;z)\), complexz.sc_hyperu(): Tricomi's \(U(a, b, x)\) for realx >= 0.
Only the last argument may be complex; the parameters are real.
Arguments are recycled: each must have length one or the common length.
NA gives NA; NaN is evaluated as SciPy does. The result takes its
dimensions, or else its names, from the arguments as base R arithmetic
does, and so does each element of a list result. Conditions the kernels
raise, such as a pole, are handled as sc_seterr() says.
Branch cuts
sc_hyp2f1() has a branch cut on the real axis from 1 to infinity, as in
SciPy. sc_hyp0f1() is entire in z, and sc_hyp1f1() in x.
Other packages
In gsl, for real arguments: hyperg_0F1(), hyperg_1F1(),
hyperg_2F1() and hyperg_U(). In hypergeo: hypergeo(A, B, C, z),
the Gauss function for complex z.
Examples
sc_hyp0f1(0.5, 1)
#> [1] 3.762196
sc_hyp1f1(1, 2, c(0.5, 1 + 1i))
#> [1] 1.297443+0.0000000i 1.378025+0.9093307i
sc_hyp2f1(1, 1, 2, 0.5)
#> [1] 1.386294
sc_hyperu(1, 2, 3)
#> [1] 0.3333333