jax.numpy.setxor1d#
- jax.numpy.setxor1d(ar1, ar2, assume_unique=False, *, size=None, fill_value=None)[源代码]#
计算两个数组中元素的集合异或。
JAX 实现的
numpy.setxor1d()
。由于
setxor1d
的输出大小取决于数据,因此该函数与 JIT 或其他 JAX 转换不兼容。- 参数:
ar1 (ArrayLike) – 要相交的第一个值数组。
ar2 (ArrayLike) – 要相交的第二个值数组。
assume_unique (bool) – 如果为 True,则假定输入数组包含唯一值。这允许更高效的实现,但如果
assume_unique
为 True 且输入数组包含重复项,则行为未定义。默认值:False。size (int | None | None) – 如果指定,则仅返回前
size
个排序元素。如果元素数量少于size
指示的数量,则返回值将用fill_value
填充,并且返回的索引将用越界索引填充。fill_value (ArrayLike | None | None) – 当指定
size
并且元素数量少于指示的数量时,用fill_value
填充剩余条目。默认为异或结果中的最小值。
- 返回:
在一个输入数组中恰好找到一次的值数组。
- 返回类型:
参见
jax.numpy.intersect1d()
:两个 1D 数组的集合交集。jax.numpy.union1d()
:两个 1D 数组的集合并集。jax.numpy.setdiff1d()
:两个 1D 数组的集合差集。
示例
>>> 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)