#### Previous topic

numpy.divide

#### Next topic

numpy.subtract

# numpy.power

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

  First array elements raised to powers from second array, element-wise.

  Raise each base in x1 to the positionally-corresponding power in x2. x1 and x2 must be broadcastable to the same shape. Note that an integer type raised to a negative integer power will raise a ValueError.

  Parameters: | x1 : array_like The bases. x2 : array_like The exponents. out : ndarray, None, or tuple of ndarray and None, optional A location into which the result is stored. If provided, it must have a shape that the inputs broadcast to. If not provided or None, a freshly-allocated array is returned. A tuple (possible only as a keyword argument) must have length equal to the number of outputs. where : array_like, optional Values of True indicate to calculate the ufunc at that position, values of False indicate to leave the value in the output alone. **kwargs For other keyword-only arguments, see the ufunc docs.
  Returns: | y : ndarray The bases in x1 raised to the exponents in x2.

  See also

  `float_power`
    power function that promotes integers to float

  Examples

  Cube each element in a list.

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

  Raise the bases to different exponents.

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

  The effect of broadcasting.

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