jax.numpy.isclose

目录

jax.numpy.isclose#

jax.numpy.isclose(a, b, rtol=1e-05, atol=1e-08, equal_nan=False)[源代码][源代码]#

检查两个数组的元素是否在容差范围内近似相等。

JAX 实现的 numpy.allclose()

本质上,此函数评估以下条件:

\[|a - b| \le \mathtt{atol} + \mathtt{rtol} * |b|\]

a 中的 jnp.inf 将被视为等于 b 中的 jnp.inf

参数:
  • a (ArrayLike) – 要比较的第一个输入数组。

  • b (ArrayLike) – 第二个输入数组进行比较。

  • rtol (ArrayLike) – 用于近似相等的相对容差。默认值 = 1e-05。

  • atol (ArrayLike) – 用于近似相等的绝对容差。默认值 = 1e-08。

  • equal_nan (bool) – 布尔值。如果为 Truea 中的 NaN 将被视为等于 b 中的 NaN。默认为 False

返回:

一个包含布尔值的新数组,指示输入数组在指定容差范围内是否逐元素近似相等。

返回类型:

Array

示例

>>> jnp.isclose(jnp.array([1e6, 2e6, jnp.inf]), jnp.array([1e6, 2e7, jnp.inf]))
Array([ True, False,  True], dtype=bool)
>>> jnp.isclose(jnp.array([1e6, 2e6, 3e6]),
...              jnp.array([1.00008e6, 2.00008e7, 3.00008e8]), rtol=1e3)
Array([ True,  True,  True], dtype=bool)
>>> jnp.isclose(jnp.array([1e6, 2e6, 3e6]),
...              jnp.array([1.00001e6, 2.00002e6, 3.00009e6]), atol=1e3)
Array([ True,  True,  True], dtype=bool)
>>> jnp.isclose(jnp.array([jnp.nan, 1, 2]),
...              jnp.array([jnp.nan, 1, 2]), equal_nan=True)
Array([ True,  True,  True], dtype=bool)