numpy.emath.sqrt#

emath.sqrt(x)[source]#

Compute the square root of x.

For negative input elements, a complex value is returned(unlikenumpy.sqrt which returns NaN).

Parameters:
xarray_like

The input value(s).

Returns:
outndarray or scalar

The square root ofx. Ifx was a scalar, so isout,otherwise an array is returned.

See also

numpy.sqrt

Examples

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

>>>importnumpyasnp
>>>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
On this page