<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/probability/blob/v0.25.0/tensorflow_probability/python/math/hypergeometric.py#L524-L681) |

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

    tfp.math.hypergeometric.hyp2f1_small_argument(
        a, b, c, z, name=None
    )

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! + ....`

> [!NOTE]
> **Note:** Gradients with only respect to `z` are available. NOTE: It is recommended that the arguments are `float64` due to the heavy loss of precision in float32.

<br />

<br />

<br />

| ## Args ||
|---|---|
| `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'). |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| `hypergeo` | `2F1(a, b, c, z)` |

<br />

#### 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.