mars.tensor.random.exponential(scale=1.0, size=None, chunk_size=None, gpu=None, dtype=None)[source]

Draw samples from an exponential distribution.

Its probability density function is

\[f(x; \frac{1}{\beta}) = \frac{1}{\beta} \exp(-\frac{x}{\beta}),\]

for x > 0 and 0 elsewhere. \(\beta\) is the scale parameter, which is the inverse of the rate parameter \(\lambda = 1/\beta\). The rate parameter is an alternative, widely used parameterization of the exponential distribution 3.

The exponential distribution is a continuous analogue of the geometric distribution. It describes many common situations, such as the size of raindrops measured over many rainstorms 1, or the time between page requests to Wikipedia 2.

  • scale (float or array_like of floats) – The scale parameter, \(\beta = 1/\lambda\).

  • 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 scale is a scalar. Otherwise, np.array(scale).size samples are drawn.

  • chunk_size (int or tuple of int or tuple of ints, optional) – Desired chunk size on each dimension

  • gpu (bool, optional) – Allocate the tensor on GPU if True, False as default

  • dtype (data-type, optional) – Data-type of the returned tensor.


out – Drawn samples from the parameterized exponential distribution.

Return type

Tensor or scalar



Peyton Z. Peebles Jr., “Probability, Random Variables and Random Signal Principles”, 4th ed, 2001, p. 57.


Wikipedia, “Poisson process”,


Wikipedia, “Exponential distribution”,