numpy.reciprocal
numpy.reciprocal(x, *ufunc_args) = <ufunc 'reciprocal'>
Функция reciprocal() поэлементно вычисляет обратное значение массива x.
Данная функция эквивалентной команде 1/x
. Однако, numpy.reciprocal()
является универсальной функцией, т.е. поддерживает целый ряд параметров, которые позволяют оптимизировать ее работу в зависимости от специфики алгоритма, в котором она необходима.
-
- x - число, массив или подобный массиву объект
- Входные данные.
- *ufunc_args - аргументы универсальной функции
- Аргументы, позволяющие настроить и оптимизировать работу функции (подробнее см. универсальные функции).
-
- результат - массив NumPy или вещественное число
- Массив вычисленных обратных значений элементов из массива x или число, если на вход подано одно число.
Замечание
Если входными данными являются целые числа, то данная функция выдаст 0, а при входном значении равном целочисленному нулю вызовет переполнение буфера и вернет значение которое в нем окажется:
>>> import numpy as np
>>>
>>> np.reciprocal(2)
0
>>>
>>> np.reciprocal(2.)
0.5
>>>
>>> np.reciprocal(0)
__main__:1: RuntimeWarning: divide by zero encountered in reciprocal
__main__:1: RuntimeWarning: invalid value encountered in reciprocal
-2147483648
>>> np.reciprocal(0.)
inf
Примеры
>>> import numpy as np
>>>
>>> x = np.arange(9)
>>> x
array([0, 1, 2, 3, 4, 5, 6, 7, 8])
>>>
>>> np.reciprocal(x)
array([-2147483648, 1, 0, 0, 0,
0, 0, 0, 0], dtype=int32)
>>>
>>>
>>> # Сменим тип данных массива "x":
... x = np.float96(x)
>>> x
array([0., 1., 2., 3., 4., 5., 6., 7., 8.], dtype=float96)
>>>
>>> np.reciprocal(x)
array([ inf, 1. , 0.5 , 0.33333333, 0.25 ,
0.2 , 0.16666667, 0.14285714, 0.125 ], dtype=float96)