jax.numpy.linalg.cond#

jax.numpy.linalg.cond(x, p=None)[源代码]#

计算矩阵的条件数。

JAX 实现的 numpy.linalg.cond()

条件数的定义为 norm(x, p) * norm(inv(x), p)。对于 p = 2 (默认值),条件数是最大奇异值与最小奇异值之比。

参数:
  • x (ArrayLike) – 要计算条件数的形状为 (..., M, N) 的数组。

  • p – 要使用的范数的阶数。为 {None, 1, -1, 2, -2, inf, -inf, 'fro'} 之一;请参阅 jax.numpy.linalg.norm() 以了解其含义。默认值为 p = None,等效于 p = 2。如果不在 {None, 2, -2} 中,则 x 必须是方阵,即 M = N

返回:

包含条件数的形状为 x.shape[:-2] 的数组。

示例

良态矩阵

>>> x = jnp.array([[1, 2],
...                [2, 1]])
>>> jnp.linalg.cond(x)
Array(3., dtype=float32)

病态矩阵

>>> x = jnp.array([[1, 2],
...                [0, 0]])
>>> jnp.linalg.cond(x)
Array(inf, dtype=float32)