pytorch / 1.8.0 / generated / torch.cholesky_inverse.html /

torch.cholesky_inverse

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

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

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

i n v = ( u u T ) 1 inv = (uu^{{T}})^{{-1}}

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

i n v = ( u T u ) 1 inv = (u^T u)^{{-1}}
Parameters
  • input (Tensor) – the input 2-D tensor u u , 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]])

© 2019 Torch Contributors
Licensed under the 3-clause BSD License.
https://pytorch.org/docs/1.8.0/generated/torch.cholesky_inverse.html