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
Смотрите так же: divide, modf

Примеры

>>> 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)