numpy.emath.sqrt — NumPy v2.2 Manual (original) (raw)

emath.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.

Examples

For real, non-negative inputs this works just like numpy.sqrt:

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