捷徑

torch.linalg.svdvals

torch.linalg.svdvals(A, *, driver=None, out=None) Tensor

計算矩陣的奇異值。

支援 float、double、cfloat 和 cdouble 資料類型作為輸入。 也支援批次的矩陣,如果 A 是一批矩陣,則輸出具有相同的批次維度。

奇異值會以遞減順序回傳。

注意

此函式等同於 NumPy 的 linalg.svd(A, compute_uv=False)

注意

當輸入位於 CUDA 裝置上時,此函式會將該裝置與 CPU 同步。

另請參閱

torch.linalg.svd() 計算完整的奇異值分解。

參數

A (Tensor) – 形狀為 (*, m, n) 的張量,其中 * 是零個或多個批次維度。

關鍵字引數
  • driver (str, optional) – 要使用的 cuSOLVER 方法名稱。此關鍵字引數僅適用於 CUDA 輸入。可用選項為:Nonegesvdgesvdjgesvda。請參閱 torch.linalg.svd() 以取得詳細資訊。預設值:None

  • out (Tensor, optional) – 輸出張量。如果為 None 則忽略。預設值:None

回傳值

一個實數值的張量,即使 A 是複數。

範例

>>> A = torch.randn(5, 3)
>>> S = torch.linalg.svdvals(A)
>>> S
tensor([2.5139, 2.1087, 1.1066])

>>> torch.dist(S, torch.linalg.svd(A, full_matrices=False).S)
tensor(2.4576e-07)

文件

Access comprehensive developer documentation for PyTorch

View Docs

Tutorials

Get in-depth tutorials for beginners and advanced developers

View Tutorials

Resources

Find development resources and get your questions answered

View Resources