当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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