scipy.special.loggamma#

scipy.special.loggamma(z, out=None) = <ufunc 'loggamma'>#

伽玛函数对数的本征分支。

定义为 \(x > 0\) 时的 \(\log(\Gamma(x))\),并通过解析延拓扩展到复平面。该函数在负实轴上有一个单一的分支割线。

Added in version 0.18.0.

参数:
zarray_like

在复平面上计算 loggamma 的值

ndarray,可选

计算得到的 loggamma 值的输出数组

返回:
loggamma标量或ndarray

loggamma 在 z 处的值。

参见

gammaln

伽玛函数绝对值的对数

gammasgn

伽玛函数的符号

注释

通常情况下,\(\log\Gamma(z) = \log(\Gamma(z))\) 并不成立,尽管这两个函数的实部是相等的。不将 loggamma 定义为 \(\log(\Gamma(z))\) 的好处在于,后者的分支割线结构较为复杂,而 loggamma 除了在负实轴上外,是解析的。

身份

\[\begin{split}\exp(\log\Gamma(z)) &= \Gamma(z) \\ \log\Gamma(z + 1) &= \log(z) + \log\Gamma(z)\end{split}\]

使 loggamma 在复数对数空间中变得有用。

在实数线上,loggammagammaln 通过 exp(loggamma(x + 0j)) = gammasgn(x)*exp(gammaln(x)) 相关,直到舍入误差。

这里的实现基于 [hare1997]

参考文献

[hare1997]

D.E.G. Hare, 计算对数伽玛函数的主分支, 算法杂志, 第25卷, 第2期, 1997年11月, 第221-236页。