View source on GitHub |

Computes \(ln(|Beta(x)|)\), reducing along the last dimension.

tf.math.lbeta( x, name=None )

Given one-dimensional $z = [z_1,...,z_K]$, we define

$$Beta(z) = \frac{\prod_j \Gamma(z_j)}{\Gamma(\sum_j z_j)},$$

where $\Gamma$ is the gamma function.

And for $n + 1$ dimensional $x$ with shape $[N_1, ..., N_n, K]$, we define

$$lbeta(x)[i_1, ..., i_n] = \log{|Beta(x[i_1, ..., i_n, :])|}.$$

In other words, the last dimension is treated as the $z$ vector.

Note that if $z = [u, v]$, then

$$Beta(z) = \frac{\Gamma(u)\Gamma(v)}{\Gamma(u + v)} = \int_0^1 t^{u-1} (1 - t)^{v-1} \mathrm{d}t,$$

which defines the traditional bivariate beta function.

If the last dimension is empty, we follow the convention that the sum over the empty set is zero, and the product is one.

Args | |
---|---|

`x` | A rank `n + 1` `Tensor` , `n >= 0` with type `float` , or `double` . |

`name` | A name for the operation (optional). |

Returns | |
---|---|

The logarithm of \(|Beta(x)|\) reducing along the last dimension. |

© 2020 The TensorFlow Authors. All rights reserved.

Licensed under the Creative Commons Attribution License 3.0.

Code samples licensed under the Apache 2.0 License.

https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/math/lbeta