numpy.lib.scimath.sqrt#
- lib.scimath.sqrt(x)[source]#
Compute the square root of x.
For negative input elements, a complex value is returned (unlike
numpy.sqrt
which returns NaN).- Parameters:
- xarray_like
The input value(s).
- Returns:
- outndarray or scalar
The square root of x. If x was a scalar, so is out, otherwise an array is returned.
See also
Examples
For real, non-negative inputs this works just like
numpy.sqrt
:>>> import numpy as np
>>> np.emath.sqrt(1) 1.0 >>> np.emath.sqrt([1, 4]) array([1., 2.])
But it automatically handles negative inputs:
>>> np.emath.sqrt(-1) 1j >>> np.emath.sqrt([-1,4]) array([0.+1.j, 2.+0.j])
Different results are expected because: floating point 0.0 and -0.0 are distinct.
For more control, explicitly use complex() as follows:
>>> np.emath.sqrt(complex(-4.0, 0.0)) 2j >>> np.emath.sqrt(complex(-4.0, -0.0)) -2j