Spec-Zone.ru › NumPy 2.0

numpy.pow

numpy.pow(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature])=<ufunc 'power'>

Элементы первого массива возводятся в степень, соответствующую элементам второго массива, поэлементно.

Каждое основание в x1 возводится в соответствующую позиционно степень из x2. x1 и x2 должны быть совместимы для трансляции в одну форму.

Возведение целого типа в отрицательную целую степень вызовет ValueError.

Отрицательные значения, возводимые в нецелую степень, вернут nan. Чтобы получить комплексные результаты, преобразуйте входные данные в комплексные или укажите dtype на complex (см. пример ниже).

Параметры:
x1array_like

Основания.

x2array_like

Показатели степени. Если x1.shape != x2.shape, они должны быть совместимы для трансляции в общую форму (которая становится формой выходного значения).

outndarray, None, или кортеж из ndarray и None, необязательно

Место для хранения результата. Если указано, оно должно иметь форму, в которую транслируются входные данные. Если не указано или равно None, возвращается недавно выделенный массив. Кортеж (возможен только в качестве ключевого аргумента) должен иметь длину, равную количеству выходных значений.

wherearray_like, необязательно

Это условие транслируется по входным данным. В местах, где условие истинно, массив out будет установлен в результат ufunc. В противном случае массив out сохранит свое исходное значение. Обратите внимание, что если массив out создается по умолчанию посредством out=None, места в нем, где условие ложно, останутся неинициализированными.

**kwargs

Для других ключевых аргументов см. документацию по ufunc.

Возвращаемое значение:
yndarray

Основания в x1 в степени показателей в x2. Это скаляр, если оба x1 и x2 являются скалярами.

См. также

float_power

Функция возведения в степень, которая повышает целые числа до вещественного типа.

Примеры

Возведение каждого элемента массива в куб.

>>> x1 = np.arange(6)
>>> x1
[0, 1, 2, 3, 4, 5]
>>> np.power(x1, 3)
array([  0,   1,   8,  27,  64, 125])

Возведение оснований в разные степени.

>>> x2 = [1.0, 2.0, 3.0, 3.0, 2.0, 1.0]
>>> np.power(x1, x2)
array([  0.,   1.,   8.,  27.,  16.,   5.])

Эффект трансляции.

>>> x2 = np.array([[1, 2, 3, 3, 2, 1], [1, 2, 3, 3, 2, 1]])
>>> x2
array([[1, 2, 3, 3, 2, 1],
       [1, 2, 3, 3, 2, 1]])
>>> np.power(x1, x2)
array([[ 0,  1,  8, 27, 16,  5],
       [ 0,  1,  8, 27, 16,  5]])

Оператор ** может использоваться как сокращение для np.power на ndarrays.

>>> x2 = np.array([1, 2, 3, 3, 2, 1])
>>> x1 = np.arange(6)
>>> x1 ** x2
array([ 0,  1,  8, 27, 16,  5])

Отрицательные значения, возводимые в нецелую степень, приведут к nan (и будет сгенерировано предупреждение).

>>> x3 = np.array([-1.0, -4.0])
>>> with np.errstate(invalid='ignore'):
...     p = np.power(x3, 1.5)
...
>>> p
array([nan, nan])

Чтобы получить комплексные результаты, укажите аргумент dtype=complex.

>>> np.power(x3, 1.5, dtype=complex)
array([-1.83697020e-16-1.j, -1.46957616e-15-8.j])

© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.pow.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API