jax.numpy.linalg.matrix_rank#
- jax.numpy.linalg.matrix_rank(M, rtol=None, *, tol=Deprecated)[原始碼]#
計算矩陣的秩。
JAX 版本的
numpy.linalg.matrix_rank()
。秩是透過奇異值分解 (SVD) 計算,並由大於指定容差的奇異值數量決定。
- 參數:
M (ArrayLike) – 形狀為
(..., N, K)
的陣列,其秩將被計算。rtol (ArrayLike | None) – 可選的形狀為
(...)
的陣列,指定容差。小於 rtol * largest_singular_value 的奇異值被視為零。如果rtol
為 None (預設值),則會根據輸入的浮點精度選擇合理的預設值。tol (ArrayLike | DeprecatedArg | None) – 已棄用的
rtol
參數別名。如果使用,將導致DeprecationWarning
。
- 返回:
形狀為
a.shape[-2]
的陣列,表示矩陣的秩。- 返回型別:
筆記
對於具有非常小的奇異值或數值條件不佳的矩陣,秩計算可能不準確。在這種情況下,請考慮調整
rtol
參數或使用更專業的秩計算方法。範例
>>> a = jnp.array([[1, 2], ... [3, 4]]) >>> jnp.linalg.matrix_rank(a) Array(2, dtype=int32)
>>> b = jnp.array([[1, 0], # Rank-deficient matrix ... [0, 0]]) >>> jnp.linalg.matrix_rank(b) Array(1, dtype=int32)