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 numeric data type. Both inputs x1 and x2 can not be scalars at the same time.
x2 ({dpnp.ndarray, usm_ndarray, scalar}) -- Second input array, also expected to have numeric data type. Both inputs x1 and x2 can not be scalars at the same time.
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 ({"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.
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])