API

 torch / torch


torch.cholesky_inverse

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

Computes the inverse of a symmetric positive-definite matrix AA using its Cholesky factor uu : returns matrix inv. The inverse is computed using LAPACK routines dpotri and spotri (and the corresponding MAGMA routines).

If upper is False, uu is lower triangular such that the returned tensor is

inv=(uuT)1inv = (uu^{{T}})^{{-1}}

If upper is True or not provided, uu is upper triangular such that the returned tensor is

inv=(uTu)1inv = (u^T u)^{{-1}}
Parameters
  • input (Tensor) – the input 2-D tensor uu , a upper or lower triangular Cholesky factor

  • upper (bool, optional) – whether to return a lower (default) or upper triangular matrix

Keyword Arguments

out (Tensor, optional) – the output tensor for inv

Example:

>>> a = torch.randn(3, 3)
>>> a = torch.mm(a, a.t()) + 1e-05 * torch.eye(3) # make symmetric positive definite
>>> u = torch.cholesky(a)
>>> a
tensor([[  0.9935,  -0.6353,   1.5806],
        [ -0.6353,   0.8769,  -1.7183],
        [  1.5806,  -1.7183,  10.6618]])
>>> torch.cholesky_inverse(u)
tensor([[ 1.9314,  1.2251, -0.0889],
        [ 1.2251,  2.4439,  0.2122],
        [-0.0889,  0.2122,  0.1412]])
>>> a.inverse()
tensor([[ 1.9314,  1.2251, -0.0889],
        [ 1.2251,  2.4439,  0.2122],
        [-0.0889,  0.2122,  0.1412]])

此页内容是否对您有帮助