dpnp.pow

dpnp.pow = <DPNPBinaryFunc 'power'>

Calculates \(x1_i\) raised to \(x2_i\) for each element \(x1_i\) of the input array x1 with the respective element \(x2_i\) of the input array x2.

Note that dpnp.pow is an alias of dpnp.power.

For full documentation refer to numpy.power.

Parameters:
x1{dpnp.ndarray, usm_ndarray, scalar}

First input array, expected to have a numeric data type.

x2{dpnp.ndarray, usm_ndarray, scalar}

Second input array, also expected to have a numeric data type.

out{None, dpnp.ndarray, usm_ndarray, tuple of ndarray}, optional

Output array to populate. Array must have the correct shape and the expected data type. A tuple (possible only as a keyword argument) must have length equal to the number of outputs.

Default: None.

order{None, "C", "F", "A", "K"}, optional

Memory layout of the newly output array, if parameter out is None.

Default: "K".

Returns:
outdpnp.ndarray

An array containing the bases in x1 raised to the exponents in x2 element-wise. The data type of the returned array is determined by the Type Promotion Rules.

Limitations

Parameters where and subok are supported with their default values. Keyword argument kwargs is currently unsupported. Otherwise NotImplementedError exception will be raised.

See also

dpnp.fmax

Element-wise maximum of array elements.

dpnp.fmin

Element-wise minimum of array elements.

dpnp.fmod

Calculate the element-wise remainder of division.

dpnp.float_power

Power function that promotes integers to floats.

Notes

At least one of x1 or x2 must be an array.

If x1.shape != x2.shape, they must be broadcastable to a common shape (which becomes the shape of the output).

Examples

>>> import dpnp as dp
>>> a = dp.arange(6)
>>> dp.power(a, 3)
array([  0,   1,   8,  27,  64, 125])

Raise the bases to different exponents.

>>> b = dp.array([1.0, 2.0, 3.0, 3.0, 2.0, 1.0])
>>> dp.power(a, b)
array([ 0.,  1.,  8., 27., 16.,  5.])

The effect of broadcasting.

>>> c = dp.array([[1, 2, 3, 3, 2, 1], [1, 2, 3, 3, 2, 1]])
>>> dp.power(a, c)
array([[ 0,  1,  8, 27, 16,  5],
        [ 0,  1,  8, 27, 16,  5]])

The ** operator can be used as a shorthand for power on dpnp.ndarray.

>>> b = dp.array([1, 2, 3, 3, 2, 1])
>>> a = dp.arange(6)
>>> a ** b
array([ 0,  1,  8, 27, 16,  5])

Negative values raised to a non-integral value will result in NaN.

>>> d = dp.array([-1.0, -4.0])
>>> dp.power(d, 1.5)
array([nan, nan])