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 处的值。
注释
通常情况下,\(\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
在复数对数空间中变得有用。在实数线上,
loggamma
与gammaln
通过exp(loggamma(x + 0j)) = gammasgn(x)*exp(gammaln(x))
相关,直到舍入误差。这里的实现基于 [hare1997]。
参考文献
[hare1997]D.E.G. Hare, 计算对数伽玛函数的主分支, 算法杂志, 第25卷, 第2期, 1997年11月, 第221-236页。