numpy.i0
-
numpy.i0(x)[source] -
Модифицированная функция Бесселя первого рода нулевого порядка.
Обычно обозначается
. Эта функция выполняет векторизацию, но не будет «преобразовывать» аргументы типа int к типу float, если не сопровождаются хотя бы одним аргументом типа float или complex (см. раздел «Возможные исключения» ниже).
- Параметры
-
-
xarray_like, dtype float or complex -
Аргумент функции Бесселя.
-
- Возвращает
-
-
outndarray, shape = x.shape, dtype = x.dtype -
Значение модифицированной функции Бесселя, вычисленное для каждого элемента
x.
-
- Возможные исключения
-
- TypeError: массив не может быть безопасно преобразован к требуемому типу
-
Если аргумент состоит исключительно из значений целого типа.
См. также
Примечания
Рекомендуется использовать реализацию из scipy: она представляет собой правильную функцию ufunc, написанную на C, и значительно быстрее.
Мы используем алгоритм, опубликованный Кленшоу [1] и упомянутый Абрамовицем и Стегуном [2], для которого область определения функции разбита на два интервала [0,8] и (8,inf), а в каждом интервале применяются разложения по многочленам Чебышева. Абсолютная погрешность в области [0,30] с использованием арифметики IEEE, по документации [3], достигает пика 5.8e-16 со среднеквадратическим отклонением 1.4e-16 (n = 30000).
Список литературы
-
1 -
C. W. Clenshaw, «Чебышёвские ряды для математических функций», в Математические таблицы Национального физического лаборатории, т. 5, Лондон: Her Majesty’s Stationery Office, 1962.
-
2 -
М. Абрамович и И. А. Стегун, Справочник по математическим функциям, 10-е издание, Нью-Йорк: Dover, 1964, стр. 379. http://www.math.sfu.ca/~cbm/aands/page_379.htm
-
3 -
http://kobesearch.cpan.org/htdocs/Math-Cephes/Math/Cephes.html
Примеры
>>> np.i0(0.) array(1.0) # may vary >>> np.i0([0., 1. + 2j]) array([ 1.00000000+0.j , 0.18785373+0.64616944j]) # may vary
© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.18/reference/generated/numpy.i0.html