sign

sign(x: array, /) array

Returns an indication of the sign of a number for each element x_i of the input array x.

The sign function (also known as the signum function) of a number \(x_i\) is defined as

\[\begin{split}\operatorname{sign}(x_i) = \begin{cases} 0 & \textrm{if } x_i = 0 \\ \frac{x_i}{|x_i|} & \textrm{otherwise} \end{cases}\end{split}\]

where \(|x_i|\) is the absolute value of \(x_i\).

Parameters:

x (array) – input array. Should have a numeric data type.

Returns:

out (array) – an array containing the evaluated result for each element in x. The returned array must have the same data type as x.

Notes

Special cases

For real-valued operands,

  • If x_i is less than 0, the result is -1.

  • If x_i is either -0 or +0, the result is 0.

  • If x_i is greater than 0, the result is +1.

  • If x_i is NaN, the result is NaN.

For complex floating-point operands, let a = real(x_i), b = imag(x_i), and

  • If a is either -0 or +0 and b is either -0 or +0, the result is 0 + 0j.

  • If a is NaN or b is NaN, the result is NaN + NaN j.

  • In the remaining cases, special cases must be handled according to the rules of complex number division (see divide()).

Changed in version 2022.12: Added complex data type support.