scipy.special.airye#

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

Экспоненциально масштабированные функции Эйри и их производные.

Масштабирование:

eAi  = Ai  * exp(2.0/3.0*z*sqrt(z))
eAip = Aip * exp(2.0/3.0*z*sqrt(z))
eBi  = Bi  * exp(-abs(2.0/3.0*(z*sqrt(z)).real))
eBip = Bip * exp(-abs(2.0/3.0*(z*sqrt(z)).real))
Параметры:
zarray_like

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

выходкортеж ndarray, опционально

Необязательные выходные массивы для значений функции

Возвращает:
eAi, eAip, eBi, eBip4-кортеж скаляра или ndarray

Экспоненциально масштабированные функции Эйри eAi и eBi, и их производные eAip и eBip

Смотрите также

airy

Примечания

Обертка для AMOS [1] routines zairy и zbiry.

Ссылки

[1]

Дональд Э. Амос, «AMOS, переносимый пакет для функций Бесселя комплексного аргумента и неотрицательного порядка», http://netlib.org/amos/

Примеры

Мы можем вычислять экспоненциально масштабированные функции Эйри и их производные:

>>> import numpy as np
>>> from scipy.special import airye
>>> import matplotlib.pyplot as plt
>>> z = np.linspace(0, 50, 500)
>>> eAi, eAip, eBi, eBip = airye(z)
>>> f, ax = plt.subplots(2, 1, sharex=True)
>>> for ind, data in enumerate([[eAi, eAip, ["eAi", "eAip"]],
...                             [eBi, eBip, ["eBi", "eBip"]]]):
...     ax[ind].plot(z, data[0], "-r", z, data[1], "-b")
...     ax[ind].legend(data[2])
...     ax[ind].grid(True)
>>> plt.show()
../../_images/scipy-special-airye-1_00_00.png

Мы можем вычислить их, используя обычные немасштабированные функции Эйри:

>>> from scipy.special import airy
>>> Ai, Aip, Bi, Bip = airy(z)
>>> np.allclose(eAi, Ai * np.exp(2.0 / 3.0 * z * np.sqrt(z)))
True
>>> np.allclose(eAip, Aip * np.exp(2.0 / 3.0 * z * np.sqrt(z)))
True
>>> np.allclose(eBi, Bi * np.exp(-abs(np.real(2.0 / 3.0 * z * np.sqrt(z)))))
True
>>> np.allclose(eBip, Bip * np.exp(-abs(np.real(2.0 / 3.0 * z * np.sqrt(z)))))
True

Сравнивая не масштабированные и экспоненциально масштабированные функции, обычная не масштабированная функция быстро становится меньше минимального представимого числа для больших значений, тогда как экспоненциально масштабированная функция этого не делает.

>>> airy(200)
(0.0, 0.0, nan, nan)
>>> airye(200)
(0.07501041684381093, -1.0609012305109042, 0.15003188417418148, 2.1215836725571093)