scipy.special.loggamma#
- scipy.special.loggamma(z, out=None) = <ufunc 'loggamma'>#
伽马函数对数的主支函数。
定义为对于 \(\log(\Gamma(x))\)\(x > 0\),并通过解析延拓扩展到复平面。该函数在负实轴上具有一个单分支割断。
0.18.0 版本中新增。
- 参数:
- zarray_like
计算
loggamma
的复平面中的值- outndarray,可选
计算
loggamma
值的输出数组
- 返回:
- loggamma标量或 ndarray
z 处的
loggamma
值。
说明
通常来说,\(\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
通过exp(loggamma(x + 0j)) = gammasgn(x)*exp(gammaln(x))
与gammaln
相关,直至舍入误差。这里的实现基于 [hare1997]。
参考文献
[hare1997]D.E.G. Hare,计算 log-Gamma 的主分支,《算法杂志》,第 25 卷,第 2 期,1997 年 11 月,第 221-236 页。