jax.numpy.setxor1d#

jax.numpy.setxor1d(ar1, ar2, assume_unique=False, *, size=None, fill_value=None)[source]#

计算两个数组中元素的集合异或。

numpy.setxor1d()的 JAX 实现。

由于setxor1d的输出大小取决于数据,因此该函数与 JIT 或其他 JAX 转换不兼容。

参数:
  • ar1 (ArrayLike) – 要相交的第一个值数组。

  • ar2 (ArrayLike) – 要相交的第二个值数组。

  • assume_unique (bool) – 如果为 True,则假定输入数组包含唯一值。这允许更高效的实现,但如果assume_unique为 True 且输入数组包含重复项,则行为未定义。默认值:False。

  • size (int | None) – 如果指定,则仅返回前size个排序元素。如果元素少于size指示的元素,则返回值将用fill_value填充,并且返回的索引将用越界索引填充。

  • fill_value (ArrayLike | None) – 当指定size并且元素少于指示的数量时,用fill_value填充剩余的条目。默认为异或结果中的最小值。

返回:

恰好在一个输入数组中找到的值的数组。

返回类型:

Array

另请参阅

示例

>>> ar1 = jnp.array([1, 2, 3, 4])
>>> ar2 = jnp.array([3, 4, 5, 6])
>>> jnp.setxor1d(ar1, ar2)
Array([1, 2, 5, 6], dtype=int32)