jax.numpy.linalg.slogdet

内容

jax.numpy.linalg.slogdet#

jax.numpy.linalg.slogdet(a, *, method=None)[source]#

计算数组的行列式符号和(自然)对数。

JAX 实现 numpy.linalg.slogdet().

参数:
  • a (ArrayLike) – 形状为 (..., M, M) 的数组,需要计算其符号和对数行列式。

  • method (str | None) –

    用于行列式计算的方法。选项包括

    • 'lu' (默认值):使用 LU 分解。

    • 'qr':使用 QR 分解。

返回值:

形状为 a.shape[:-2] 的数组元组 (sign, logabsdet)

  • sign 是行列式的符号。

  • logabsdet 是行列式绝对值的自然对数。

返回类型:

SlogdetResult

参见

jax.numpy.linalg.det(): 行列式的直接计算

示例

>>> a = jnp.array([[1, 2],
...                [3, 4]])
>>> sign, logabsdet = jnp.linalg.slogdet(a)
>>> sign  # -1 indicates negative determinant
Array(-1., dtype=float32)
>>> jnp.exp(logabsdet)  # Absolute value of determinant
Array(2., dtype=float32)