{ } Raw JSON

bundles / numpy 2.4.4 / numpy / random / _generator / Generator / standard_cauchy

cython_function_or_method

numpy.random._generator:Generator.standard_cauchy

Signature

def   standard_cauchy ( size = None )

Summary

Draw samples from a standard Cauchy distribution with mode = 0.

Extended Summary

Also known as the Lorentz distribution.

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.

Returns

samples : ndarray or scalar

The drawn samples.

Notes

The probability density function for the full Cauchy distribution is

and the Standard Cauchy distribution just sets and

The Cauchy distribution arises in the solution to the driven harmonic oscillator problem, and also describes spectral line broadening. It also describes the distribution of values at which a line tilted at a random angle will cut the x axis.

When studying hypothesis tests that assume normality, seeing how the tests perform on data from a Cauchy distribution is a good indicator of their sensitivity to a heavy-tailed distribution, since the Cauchy looks very much like a Gaussian distribution, but with heavier tails.

Examples

Draw samples and plot the distribution:
import matplotlib.pyplot as plt
rng = np.random.default_rng()
s = rng.standard_cauchy(1000000)
s = s[(s>-25) & (s<25)]  # truncate distribution so it plots well
plt.hist(s, bins=100)
plt.show()
fig-412c20b812232f5e.png

Aliases

  • numpy.random.Generator.standard_cauchy

Referenced by