torch.linalg.ldl_factor_ex¶
- torch.linalg.ldl_factor_ex(A, *, hermitian=False, check_errors=False, out=None)¶
這是
ldl_factor()
的一個版本,除非check_errors
= True,否則不會執行錯誤檢查。它也會回傳 LAPACK 的 sytrf 所回傳的info
張量。info
儲存來自後端程式庫的整數錯誤代碼。正整數表示 的對角線元素為零。如果結果用於求解線性方程組,則會發生除以 0 的情況。info
填充為零表示分解成功。如果check_errors=True
且info
包含正整數,則會拋出 RuntimeError。注意
當輸入位於 CUDA 裝置上時,此函數僅在
check_errors
= True 時同步。警告
此函數是「實驗性」的,並且可能在未來的 PyTorch 版本中更改。
- 參數
A (Tensor) – 形狀為 (*, n, n) 的張量,其中 * 是零個或多個批次維度,包含對稱或 Hermitian 矩陣。
- 關鍵字參數
- 回傳
一個名為 (LD, pivots, info) 的具名元組。
範例
>>> A = torch.randn(3, 3) >>> A = A @ A.mT # make symmetric >>> A tensor([[7.2079, 4.2414, 1.9428], [4.2414, 3.4554, 0.3264], [1.9428, 0.3264, 1.3823]]) >>> LD, pivots, info = torch.linalg.ldl_factor_ex(A) >>> LD tensor([[ 7.2079, 0.0000, 0.0000], [ 0.5884, 0.9595, 0.0000], [ 0.2695, -0.8513, 0.1633]]) >>> pivots tensor([1, 2, 3], dtype=torch.int32) >>> info tensor(0, dtype=torch.int32)