scipy.special.psi#

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

Digamma 函数。

z 处求值时伽玛函数的对数导数。

参数:
z类似数组

实数或复数参数。

outndarray,可选

已计算的 psi 值的数组。

返回值:
digamma标量或 ndarray

已计算的 psi 值。

注释

对于不靠近负实轴的大值,使用 [1] 中的渐近数列 (5.11.2) 计算 psi。对于不靠近负实轴的小参数,使用 [1] 中的递推关系 (5.5.2) 直到参数大到足以使用渐近数列。对于靠近负实轴的值,首先使用 [1] 中的反射公式 (5.5.4)。请注意,psi 在负实轴上有一组介于非正整数极点之间的零。在零点附近,反射公式会受抵消的影响,实现精度会下降。但是,唯一一个正零和第一个负零通过使用 [2] 预先计算级数展开来单独处理,因此该函数应该能在大致原点处保持完全的精度。

参考文献

[1] (1,2,3)

美国国家标准与技术研究院数学函数数字图书馆 https://dlmf.nist.gov/5

[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)