This is a pre-release version (2.0.0.dev0+git20260907.41eeb59).Go to latest (1.18.0)
{ } Raw JSON

bundles / scipy 2.0.0.dev0+git20260907.41eeb59 / scipy / stats / _distribution_infrastructure / log

function

scipy.stats._distribution_infrastructure:log

source: build-install/usr/lib/python3.14/site-packages/scipy/stats/_distribution_infrastructure.py:5782

Signature

def log(X, /)

Summary

Natural logarithm of a non-negative random variable.

Parameters

X : `ContinuousDistribution`

The random variable with positive support.

Returns

Y : `ContinuousDistribution`

A random variable .

Examples

Suppose we have a gamma distributed random variable :math:`X`:
import numpy as np
from scipy import stats
Gamma = stats.make_distribution(stats.gamma)
X = Gamma(a=1.0)
✓
We wish to have an exp-gamma distributed random variable :math:`Y`, a random variable whose natural exponential is :math:`X`. If :math:`X` is to be the natural exponential of :math:`Y`, then we must take :math:`Y` to be the natural logarithm of :math:`X`.
Y = stats.log(X)
✓
To demonstrate that ``X`` represents the exponential of ``Y``, we plot a normalized histogram of the exponential of observations of ``Y`` against the PDF underlying ``X``.
import matplotlib.pyplot as plt
rng = np.random.default_rng(435383595582522)
y = Y.sample(shape=10000, rng=rng)
ax = plt.gca()
✓
ax.hist(np.exp(y), bins=50, density=True)
X.plot(ax=ax)
plt.legend(('PDF of `X`', 'histogram of `exp(y)`'))
✗
<matplotlib.legend.Legend object at 0x7f3f68269400>
plt.show()
✓
fig-3ea306719b1a425d.png

Aliases

  • scipy.stats.log

Referenced by