flopscope.

flopscope.numpy.random.beta

fnp.random.beta(a, b, size=None)[flopscope source]

Draw samples from a Beta distribution.

Adapted from NumPy docs np.random.beta

Arearandom
Typecustom
Cost
16×per-operation
Flopscope Context

Sampling; cost = numel(output).

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)=1B(α,β)xα1(1x)β1,f(x; a,b) = \frac{1}{B(\alpha, \beta)} x^{\alpha - 1} (1 - x)^{\beta - 1},

where the normalization, B, is the beta function,

B(α,β)=01tα1(1t)β1dt.B(\alpha, \beta) = \int_0^1 t^{\alpha - 1} (1 - t)^{\beta - 1} dt.

It is often seen in Bayesian inference and order statistics.

Note.

New code should use the beta method of a Generator instance instead; please see the random-quick-start.

Parameters

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, flops.broadcast(a, b).size samples are drawn.

Returns

out:ndarray or scalar

Drawn samples from the parameterized beta distribution.

See also