scipy.special.psi#
- scipy.special.psi(z, out=None) = <ufunc 'psi'>#
双伽玛函数。
伽玛函数的对数导数,在
z
处计算。- 参数:
- zarray_like
实数或复数参数。
- outndarray,可选
用于存储
psi
计算值的数组。
- 返回值:
- digamma标量或 ndarray
psi
的计算值。
注释
对于远离负实轴的大值,
psi
使用来自 [1] 的渐近级数 (5.11.2) 计算。对于远离负实轴的小参数,使用来自 [1] 的递归关系 (5.5.2),直到参数足够大可以使用渐近级数。对于接近负实轴的值,首先使用来自 [1] 的反射公式 (5.5.4)。请注意,psi
在负实轴上有一系列的零点,这些零点出现在非正整数的极点之间。在零点附近,反射公式会因抵消而导致实现精度下降。然而,唯一的正零点和第一个负零点是通过使用 [2] 预先计算级数展开来单独处理的,因此该函数应在原点附近保持完全精度。参考文献
[2]Fredrik Johansson 等人。“mpmath:一个用于任意精度浮点运算的 Python 库”(版本 0.19) http://mpmath.org/
示例
>>> from scipy.special import psi >>> z = 3 + 4j >>> psi(z) (1.55035981733341+1.0105022091860445j)
验证 psi(z) = psi(z + 1) - 1/z
>>> psi(z + 1) - 1/z (1.55035981733341+1.0105022091860445j)