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 页。