jax.numpy.linalg.cond

内容

jax.numpy.linalg.cond#

jax.numpy.linalg.cond(x, p=None)[source]#

计算矩阵的条件数。

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)