tfp.math.hypergeometric.hyp2f1_small_argument

Compute the Hypergeometric function 2f1(a, b, c, z) when |z| <= 1.

Given a, b, c and z, compute Gauss' Hypergeometric Function, specified by the series:

1 + (a * b/c) * z + (a * (a + 1) * b * (b + 1) / ((c * (c + 1)) * z**2 / 2 + ... (a)_n * (b)_n / (c)_n * z ** n / n! + ....

a Floating-point Tensor, broadcastable with b, c, z. Parameter for the numerator of the series fraction.
b Floating-point Tensor, broadcastable with a, c, z. Parameter for the numerator of the series fraction.
c Floating-point Tensor, broadcastable with a, b, z. Parameter for the denominator of the series fraction.
z Floating-point Tensor, broadcastable a, b, c. Value to compute 2F1(a, b, c, z) at. Only values of |z| < 1 are allowed.
name A name for the operation (optional). Default value: None (i.e., 'continued_fraction').

hypergeo 2F1(a, b, c, z)

References

[1] F. Johansson. Computing hypergeometric functions rigorously. ACM Transactions on Mathematical Software, August 2019. https://arxiv.org/abs/1606.06977 [2] J. Pearson, S. Olver, M. Porter. Numerical methods for the computation of the confluent and Gauss hypergeometric functions. Numerical Algorithms, August 2016. [3] M. Abramowitz, I. Stegun. Handbook of Mathematical Functions with Formulas, Graphs and Mathematical Tables.