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\).

  • 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).


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: