scipy.special.gammaln#
-
scipy.special.gammaln(x, выход=None) =
'gammaln'> # Логарифм абсолютного значения гамма-функции.
Определяется как
\[\ln(\lvert\Gamma(x)\rvert)\]где \(\Gamma\) является гамма-функцией. Для получения дополнительных сведений о гамма-функции см. [dlmf].
- Параметры:
- xarray_like
Вещественный аргумент
- выходndarray, необязательно
Необязательный выходной массив для результатов функции
- Возвращает:
- скаляр или ndarray
Значения логарифма абсолютного значения гамма-функции
Примечания
Это та же функция, что и функция из стандартной библиотеки Python
math.lgamma.При использовании в сочетании с
gammasgn, эта функция полезна для работы в логарифмическом пространстве на вещественной оси без необходимости иметь дело с комплексными числами через соотношениеexp(gammaln(x)) = gammasgn(x) * gamma(x).Для комплекснозначного логарифма гамма-функции используйте
loggammaвместоgammaln.gammalnимеет экспериментальную поддержку совместимых с Python Array API Standard бэкендов в дополнение к NumPy. Пожалуйста, рассмотрите тестирование этих функций, установив переменную окруженияSCIPY_ARRAY_API=1и предоставление массивов CuPy, PyTorch, JAX или Dask в качестве аргументов массива. Поддерживаются следующие комбинации бэкенда и устройства (или других возможностей).Библиотека
CPU
GPU
NumPy
✅
н/д
CuPy
н/д
✅
PyTorch
✅
✅
JAX
✅
✅
Dask
✅
н/д
См. Поддержка стандарта array API для получения дополнительной информации.
Ссылки
[dlmf]NIST Digital Library of Mathematical Functions https://dlmf.nist.gov/5
Примеры
>>> import numpy as np >>> import scipy.special as sc
Он имеет два положительных нуля.
>>> sc.gammaln([1, 2]) array([0., 0.])
Он имеет полюса в неположительных целых числах.
>>> sc.gammaln([0, -1, -2, -3, -4]) array([inf, inf, inf, inf, inf])
Он асимптотически приближается к
x * log(x)(формула Стирлинга).>>> x = np.array([1e10, 1e20, 1e40, 1e80]) >>> sc.gammaln(x) array([2.20258509e+11, 4.50517019e+21, 9.11034037e+41, 1.83206807e+82]) >>> x * np.log(x) array([2.30258509e+11, 4.60517019e+21, 9.21034037e+41, 1.84206807e+82])