numpy.linalg.svdvals#

linalg.svdvals(x, /)[原始碼]#

傳回矩陣(或矩陣堆疊)x 的奇異值。當 x 是矩陣堆疊時,此函數將計算堆疊中每個矩陣的奇異值。

此函數與陣列 API 相容。

呼叫 np.svdvals(x) 以取得奇異值與 np.svd(x, compute_uv=False, hermitian=False) 相同。

參數:
x(…, M, N) array_like

輸入陣列,形狀為 (…, M, N),其最後兩個維度形成要執行奇異值分解的矩陣。應具有浮點資料類型。

傳回:
outndarray

形狀為 (…, K) 的陣列,其中包含長度為 K 的奇異值向量,其中 K = min(M, N)。

參見

scipy.linalg.svdvals

計算矩陣的奇異值。

範例

>>> np.linalg.svdvals([[1, 2, 3, 4, 5],
...                    [1, 4, 9, 16, 25],
...                    [1, 8, 27, 64, 125]])
array([146.68862757,   5.57510612,   0.60393245])

使用奇異值決定矩陣的秩

>>> s = np.linalg.svdvals([[1, 2, 3],
...                        [2, 4, 6],
...                        [-1, 1, -1]]); s
array([8.38434191e+00, 1.64402274e+00, 2.31534378e-16])
>>> np.count_nonzero(s > 1e-10)  # Matrix of rank 2
2