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) 的 tensor,其中 * 是零個或多個批處理維度。
- 關鍵字引數
driver (str, 可選) – 要使用的 cuSOLVER 方法名稱。此關鍵字引數僅對 CUDA 輸入有效。可用選項為:None、gesvd、gesvdj 和 gesvda。詳情請查閱
torch.linalg.svd()。預設值:None。out (Tensor, 可選) – 輸出 tensor。如果為 None 則忽略。預設值:None。
- 返回值
一個實值 tensor,即使
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)