# jax.random.dirichlet#

jax.random.dirichlet(key, alpha, shape=None, dtype=<class 'float'>)[source]#

Sample Dirichlet random values with given shape and float dtype.

The values are distributed according to the probability density function:

$f(\{x_i\}; \{\alpha_i\}) \propto \prod_{i=1}^k x_i^{\alpha_i - 1}$

Where $$k$$ is the dimension, and $$\{x_i\}$$ satisfies

$\sum_{i=1}^k x_i = 1$

and $$0 \le x_i \le 1$$ for all $$x_i$$.

Parameters:
• key (Array | ndarray | bool | number | bool | int | float | complex) â€“ a PRNG key used as the random key.

• alpha (Array | ndarray | bool | number | bool | int | float | complex) â€“ an array of shape (..., n) used as the concentration parameter of the random variables.

• shape (Sequence[int] | None) â€“ optional, a tuple of nonnegative integers specifying the result batch shape; that is, the prefix of the result shape excluding the last element of value n. Must be broadcast-compatible with alpha.shape[:-1]. The default (None) produces a result shape equal to alpha.shape.

• dtype (str | type[Any] | dtype | SupportsDType) â€“ optional, a float dtype for the returned values (default float64 if jax_enable_x64 is true, otherwise float32).

Returns:

A random array with the specified dtype and shape given by shape + (alpha.shape[-1],) if shape is not None, or else alpha.shape.

Return type:

Array