beta(a, b, size=None, dtype=None, device=None)

Draw samples from a Beta distribution.

The Beta distribution is a special case of the Dirichlet distribution, and is related to the Gamma distribution. It has the probability distribution function

\[f(x; a,b) = \frac{1}{B(\alpha, \beta)} x^{\alpha - 1} (1 - x)^{\beta - 1},\]

where the normalisation, B, is the beta function,

\[B(\alpha, \beta) = \int_0^1 t^{\alpha - 1} (1 - t)^{\beta - 1} dt.\]

It is often seen in Bayesian inference and order statistics.

  • a (float or array_like of floats) – Alpha, positive (>0).

  • b (float or array_like of floats) – Beta, positive (>0).

  • size (int or tuple of ints, optional) – Output shape. If the given shape is, e.g., (m, n, k), then m * n * k samples are drawn. If size is None (default), a single value is returned if a and b are both scalars. Otherwise, np.broadcast(a, b).size samples are drawn.

  • dtype ({'float16', 'float32', 'float64'}, optional) – Data type of output samples. Default is ‘float32’. Dtype ‘float32’ or ‘float64’ is strongly recommended, since lower precision might lead to out of range issue.

  • device (Device, optional) – Device context of output. Default is current device.


To use this operator with scalars as input, please run npx.set_np() first.


out – Drawn samples from the parameterized beta distribution.

Return type

ndarray or scalar