scipy.special.shichi#
-
scipy.special.shichi(x, выход=None) =
'shichi'> # Гиперболические интегральные синус и косинус.
Гиперболический синус интегральный
\[\int_0^x \frac{\sinh{t}}{t}dt\]и гиперболический косинусный интеграл равен
\[\gamma + \log(x) + \int_0^x \frac{\cosh{t} - 1}{t} dt\]где \(\gamma\) является постоянной Эйлера и \(\log\) является главной ветвью логарифма [1].
- Параметры:
- xarray_like
Вещественные или комплексные точки, в которых вычисляются гиперболические синус и косинус интегралы.
- выходкортеж ndarray, опционально
Опциональные выходные массивы для результатов функции
- Возвращает:
- siскаляр или ndarray
Гиперболический синус интеграла в
x- ciскаляр или ndarray
Гиперболический косинус интеграла в
x
Смотрите также
Примечания
Для вещественных аргументов с
x < 0,chiявляется вещественной частью гиперболического косинусного интеграла. Для таких точекchi(x)иchi(x + 0j)отличаются на множитель1j*pi.Для вещественных аргументов функция вычисляется вызовом Cephes’ [2] shichi процедура. Для комплексных аргументов алгоритм основан на [3] shi и хи функций.
Ссылки
[1]Milton Abramowitz and Irene A. Stegun, eds. Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables. New York: Dover, 1972. (См. Section 5.2.)
[2]Библиотека математических функций Cephes, http://www.netlib.org/cephes/
[3]Fredrik Johansson и другие. «mpmath: библиотека Python для арифметики с плавающей запятой произвольной точности» (Версия 0.19) http://mpmath.org/
Примеры
>>> import numpy as np >>> import matplotlib.pyplot as plt >>> from scipy.special import shichi, sici
shichiпринимает вещественный или комплексный ввод:>>> shichi(0.5) (0.5069967498196671, -0.05277684495649357) >>> shichi(0.5 + 2.5j) ((0.11772029666668238+1.831091777729851j), (0.29912435887648825+1.7395351121166562j))
Гиперболические интегральные синус Shi(z) и косинус Chi(z) связаны с интегральными синусом Si(z) и косинусом Ci(z) соотношениями
Shi(z) = -i*Si(i*z)
Chi(z) = Ci(-i*z) + i*pi/2
>>> z = 0.25 + 5j >>> shi, chi = shichi(z) >>> shi, -1j*sici(1j*z)[0] # Should be the same. ((-0.04834719325101729+1.5469354086921228j), (-0.04834719325101729+1.5469354086921228j)) >>> chi, sici(-1j*z)[1] + 1j*np.pi/2 # Should be the same. ((-0.19568708973868087+1.556276312103824j), (-0.19568708973868087+1.556276312103824j))
Постройте графики функций, вычисленных на вещественной оси:
>>> xp = np.geomspace(1e-8, 4.0, 250) >>> x = np.concatenate((-xp[::-1], xp)) >>> shi, chi = shichi(x)
>>> fig, ax = plt.subplots() >>> ax.plot(x, shi, label='Shi(x)') >>> ax.plot(x, chi, '--', label='Chi(x)') >>> ax.set_xlabel('x') >>> ax.set_title('Hyperbolic Sine and Cosine Integrals') >>> ax.legend(shadow=True, framealpha=1, loc='lower right') >>> ax.grid(True) >>> plt.show()