本文簡要介紹python語言中 torch.linalg.inv
的用法。
用法:
torch.linalg.inv(A, *, out=None) → Tensor
A(Tensor) -形狀為
(*, n, n)
的張量,其中*
是零個或多個由可逆矩陣組成的批次維度。out(Tensor,可選的) -輸出張量。如果
None
則忽略。默認值:None
。RuntimeError - 如果矩陣
A
或矩陣批次A
中的任何矩陣不可逆。計算方陣的逆(如果存在)。如果矩陣不可逆,則拋出
RuntimeError
。讓
是 或者 , 對於矩陣 , 它的逆矩陣 (如果存在)定義為其中
n
維單位矩陣。 是當且僅當 invertible 時,逆矩陣才存在。在這種情況下,逆是唯一的。 為
支持 float、double、cfloat 和 cdouble dtypes 的輸入。還支持批量矩陣,如果
A
是批量矩陣,則輸出具有相同的批量維度。注意
當輸入在 CUDA 設備上時,此函數將該設備與 CPU 同步。
注意
如果可能,請考慮使用
torch.linalg.solve()
將左側的矩陣乘以逆矩陣,如下所示:torch.linalg.solve(A, B) == A.inv() @ B
在可能的情況下,總是首選使用
solve()
,因為它比顯式計算逆運算更快且數值更穩定。例子:
>>> A = torch.randn(4, 4) >>> Ainv = torch.linalg.inv(A) >>> torch.dist(A @ Ainv, torch.eye(4)) tensor(1.1921e-07) >>> A = torch.randn(2, 3, 4, 4) # Batch of matrices >>> Ainv = torch.linalg.inv(A) >>> torch.dist(A @ Ainv, torch.eye(4))) tensor(1.9073e-06) >>> A = torch.randn(4, 4, dtype=torch.complex128) # Complex matrix >>> Ainv = torch.linalg.inv(A) >>> torch.dist(A @ Ainv, torch.eye(4)) tensor(7.5107e-16, dtype=torch.float64)
參數:
關鍵字參數:
拋出:
相關用法
- Python PyTorch invoke_on_rank_and_broadcast_result用法及代碼示例
- Python PyTorch inv_ex用法及代碼示例
- Python PyTorch index_select用法及代碼示例
- Python PyTorch inner用法及代碼示例
- Python PyTorch inference_mode用法及代碼示例
- Python PyTorch ignore用法及代碼示例
- Python PyTorch ihfft用法及代碼示例
- Python PyTorch identity用法及代碼示例
- Python PyTorch import_huggingface_model用法及代碼示例
- Python PyTorch is_tensor_like用法及代碼示例
- Python PyTorch i0用法及代碼示例
- Python PyTorch irfft用法及代碼示例
- Python PyTorch is_nonzero用法及代碼示例
- Python PyTorch isneginf用法及代碼示例
- Python PyTorch ifft2用法及代碼示例
- Python PyTorch ifftn用法及代碼示例
- Python PyTorch i1e用法及代碼示例
- Python PyTorch is_scripting用法及代碼示例
- Python PyTorch isclose用法及代碼示例
- Python PyTorch ifftshift用法及代碼示例
- Python PyTorch isnan用法及代碼示例
- Python PyTorch imag用法及代碼示例
- Python PyTorch is_tensor_method_or_property用法及代碼示例
- Python PyTorch isreal用法及代碼示例
- Python PyTorch import_fairseq_model用法及代碼示例
注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torch.linalg.inv。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。