not_equal

not_equal(x1: array, x2: array, /) array

Computes the truth value of x1_i != x2_i for each element x1_i of the input array x1 with the respective element x2_i of the input array x2.

Parameters:
  • x1 (array) – first input array. May have any data type.

  • x2 (array) – second input array. Must be compatible with x1 (see Broadcasting).

Returns:

out (array) – an array containing the element-wise results. The returned array must have a data type of bool.

Notes

Special Cases

For real-valued floating-point operands,

  • If x1_i is NaN or x2_i is NaN, the result is True.

  • If x1_i is +infinity and x2_i is -infinity, the result is True.

  • If x1_i is -infinity and x2_i is +infinity, the result is True.

  • If x1_i is a finite number, x2_i is a finite number, and x1_i does not equal x2_i, the result is True.

  • In the remaining cases, the result is False.

For complex floating-point operands, let a = real(x1_i), b = imag(x1_i), c = real(x2_i), d = imag(x2_i), and

  • If a, b, c, or d is NaN, the result is True.

  • In the remaining cases, the result is the logical OR of the equality comparison between the real values a and c (real components) and between the real values b and d (imaginary components), as described above for real-valued floating-point operands (i.e., a != c OR b != d).

Note

For discussion of complex number equality, see Complex Numbers.

Changed in version 2022.12: Added complex data type support.