torch.linalg.inv_ex¶
- torch.linalg.inv_ex(A, *, check_errors=False, out=None)¶
計算方陣的反矩陣(如果可逆)。
返回一個具名元組
(inverse, info)
。inverse
包含A
的反矩陣結果,而info
儲存 LAPACK 錯誤代碼。如果
A
不是可逆矩陣,或者它是一批矩陣,且其中一個或多個不是可逆矩陣,則info
儲存對應矩陣的正整數。該正整數表示輸入矩陣 LU 分解中恰好為零的對角元素。info
填充零表示反轉成功。如果check_errors=True
且info
包含正整數,則會拋出 RuntimeError。支援 float、double、cfloat 和 cdouble 資料類型作為輸入。也支援批次矩陣。如果
A
是一批矩陣,則輸出具有相同的批次維度。注意
當輸入位於 CUDA 裝置上時,僅當
check_errors
= True 時,此函數才會同步。警告
此函數是「實驗性」的,並且可能在未來的 PyTorch 版本中變更。
參見
torch.linalg.inv()
是一個 NumPy 相容的變體,它始終檢查錯誤。- 參數
- 關鍵字引數
out (tuple, optional) – 用於寫入輸出的兩個張量的元組。如果 None 則忽略。預設值:None。
範例
>>> A = torch.randn(3, 3) >>> Ainv, info = torch.linalg.inv_ex(A) >>> torch.dist(torch.linalg.inv(A), Ainv) tensor(0.) >>> info tensor(0, dtype=torch.int32)