本文简要介绍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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。