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], поэтому функция должна сохранять полную точность вблизи начала координат.Ссылки
[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)