sqrt¶
- sqrt(x: array, /) array ¶
Calculates the principal square root for each element
x_i
of the input arrayx
.Note
After rounding, each result must be indistinguishable from the infinitely precise result (as required by IEEE 754).
Note
For complex floating-point operands,
sqrt(conj(x))
must equalconj(sqrt(x))
.Note
By convention, the branch cut of the square root is the negative real axis \((-\infty, 0)\).
The square root is a continuous function from above the branch cut, taking into account the sign of the imaginary component.
Accordingly, for complex arguments, the function returns the square root in the range of the right half-plane, including the imaginary axis (i.e., the plane defined by \([0, +\infty)\) along the real axis and \((-\infty, +\infty)\) along the imaginary axis).
Note: branch cuts follow C99 and have provisional status (see Branch Cuts).
- Parameters:
x (array) – input array. Should have a floating-point data type.
- Returns:
out (array) – an array containing the square root of each element in
x
. The returned array must have a floating-point data type determined by Type Promotion Rules.
Notes
Special cases
For real-valued floating-point operands,
If
x_i
isNaN
, the result isNaN
.If
x_i
is less than0
, the result isNaN
.If
x_i
is+0
, the result is+0
.If
x_i
is-0
, the result is-0
.If
x_i
is+infinity
, the result is+infinity
.
For complex floating-point operands, let
a = real(x_i)
,b = imag(x_i)
, andIf
a
is either+0
or-0
andb
is+0
, the result is+0 + 0j
.If
a
is any value (includingNaN
) andb
is+infinity
, the result is+infinity + infinity j
.If
a
is a finite number andb
isNaN
, the result isNaN + NaN j
.If
a
-infinity
andb
is a positive (i.e., greater than0
) finite number, the result isNaN + NaN j
.If
a
is+infinity
andb
is a positive (i.e., greater than0
) finite number, the result is+0 + infinity j
.If
a
is-infinity
andb
isNaN
, the result isNaN + infinity j
(sign of the imaginary component is unspecified).If
a
is+infinity
andb
isNaN
, the result is+infinity + NaN j
.If
a
isNaN
andb
is any value, the result isNaN + NaN j
.If
a
isNaN
andb
isNaN
, the result isNaN + NaN j
.
Changed in version 2022.12: Added complex data type support.