scipy.special.loggamma#

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

Gamma 函数对数的主分支。

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

在 0.18.0 版本中新增。

参数:
z类数组

复平面中用于计算 loggamma 的值。

outndarray,可选

用于存储 loggamma 计算结果的输出数组。

返回:
loggamma标量或 ndarray

z 处的 loggamma 值。

另请参阅

gammaln

gamma 函数绝对值的对数

gammasgn

gamma 函数的符号

注意

通常情况下,\(\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 的主分支, Journal of Algorithms, 第 25 卷,第 2 期,1997 年 11 月,第 221-236 页。