當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python PyTorch cholesky_solve用法及代碼示例


本文簡要介紹python語言中 torch.cholesky_solve 的用法。

用法:

torch.cholesky_solve(input, input2, upper=False, *, out=None) → Tensor

參數

  • input(Tensor) -大小為 的輸入矩陣 ,其中 是零個或多個批處理維度

  • input2(Tensor) -輸入矩陣 的大小為 ,其中 是由上三角或下三角 Cholesky 因子組成的多個批次維度中的零個

  • upper(bool,可選的) -是否將 Cholesky 因子視為下三角矩陣或上三角矩陣。默認值:False

關鍵字參數

out(Tensor,可選的) -c 的輸出張量

在給定 Cholesky 因子矩陣 的情況下,求解具有要反轉的半正定矩陣的線性方程組。

如果 upperFalse ,則 是下三角形並且返回 c 使得:

如果 upperTrue 或未提供,則 是上三角函數並返回 c,這樣:

torch.cholesky_solve(b, u) 可以接受 2D 輸入 b, u 或作為 2D 矩陣批次的輸入。如果輸入是批處理,則返回批處理輸出c

支持實值和complex-valued 輸入。對於complex-valued 輸入,上麵的轉置運算符是共軛轉置。

例子:

>>> a = torch.randn(3, 3)
>>> a = torch.mm(a, a.t()) # make symmetric positive definite
>>> u = torch.cholesky(a)
>>> a
tensor([[ 0.7747, -1.9549,  1.3086],
        [-1.9549,  6.7546, -5.4114],
        [ 1.3086, -5.4114,  4.8733]])
>>> b = torch.randn(3, 2)
>>> b
tensor([[-0.6355,  0.9891],
        [ 0.1974,  1.4706],
        [-0.4115, -0.6225]])
>>> torch.cholesky_solve(b, u)
tensor([[ -8.1625,  19.6097],
        [ -5.8398,  14.2387],
        [ -4.3771,  10.4173]])
>>> torch.mm(a.inverse(), b)
tensor([[ -8.1626,  19.6097],
        [ -5.8398,  14.2387],
        [ -4.3771,  10.4173]])

相關用法


注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torch.cholesky_solve。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。