dpnp.power
- dpnp.power(x1, x2, out=None, where=True, order='K', dtype=None, subok=True, **kwargs)
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 ofdpnp.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}, optional) --
Output array to populate. Array must have the correct shape and the expected data type.
Default:
None
.order ({None, "C", "F", "A", "K"}, optional) --
Memory layout of the newly output array, if parameter out is
None
.Default:
"K"
.
- Returns:
out -- 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.
- Return type:
dpnp.ndarray
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 forpower
ondpnp.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])