scipy.special.psi#

scipy.special.psi(z, выход=None) = 'psi'>#

Функция дигамма.

Логарифмическая производная гамма-функции, вычисленная в z.

Параметры:
zarray_like

Вещественный или комплексный аргумент.

выходndarray, необязательно

Массив для вычисленных значений psi.

Возвращает:
digammaскаляр или ndarray

Вычисленные значения psi.

Примечания

Для больших значений, не близких к отрицательной действительной оси, psi вычисляется с использованием асимптотического ряда (5.11.2) из [1]. Для небольших аргументов, не близких к отрицательной вещественной оси, рекуррентное соотношение (5.5.2) из [1] используется до тех пор, пока аргумент не станет достаточно большим для использования асимптотического ряда. Для значений, близких к отрицательной вещественной оси, используется формула отражения (5.5.4) из [1] используется сначала. Заметим, что psi имеет семейство нулей на отрицательной вещественной оси, которые встречаются между полюсами в неположительных целых числах. Вокруг нулей формула отражения страдает от потери точности, и реализация теряет точность. Единственный положительный нуль и первый отрицательный нуль, однако, обрабатываются отдельно путем предварительного вычисления разложений в ряд с использованием [2], поэтому функция должна сохранять полную точность вблизи начала координат.

Ссылки

[1] (1,2,3)

NIST Digital Library of Mathematical Functions https://dlmf.nist.gov/5

[2]

Фредрик Йоханссон и другие. “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)