Skip to main content
`Ctrl`+`K`

# numpy.random.Generator.standard_exponential

method

random.Generator.standard_exponential(size=None, dtype=np.float64, method='zig', out=None)

  Draw samples from the standard exponential distribution.

  `standard_exponential` is identical to the exponential distribution with a scale parameter of 1.

  Parameters:
    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. Default is None, in which case a single value is returned.

    dtype dtype, optional

      Desired dtype of the result, only `float64` and `float32` are supported. Byteorder must be native. The default value is np.float64.

    method str, optional

      Either ‘inv’ or ‘zig’. ‘inv’ uses the default inverse CDF method. ‘zig’ uses the much faster Ziggurat method of Marsaglia and Tsang [1].

    out ndarray, optional

      Alternative output array in which to place the result. If size is not None, it must have the same shape as the provided size and must match the type of the output values.

  Returns:
    out float or ndarray

      Drawn samples.

  References

  [1]

  Marsaglia, G. and Tsang, W. W. (2000). The Ziggurat method for generating random variables. Journal of Statistical Software, 5, 1-7. https://doi.org/10.18637/jss.v005.i08

  Examples

  Output a 3x8000 array:

      >>> rng = np.random.default_rng()
      >>> n = rng.standard_exponential((3, 8000))