Rate this Page

torch.linalg.inv_ex#

torch.linalg.inv_ex(A,*,check_errors=False,out=None)#

Computes the inverse of a square matrix if it is invertible.

Returns a namedtuple(inverse,info).inverse contains the result ofinvertingA andinfo stores the LAPACK error codes.

IfA is not an invertible matrix, or if it’s a batch of matricesand one or more of them is not an invertible matrix,theninfo stores a positive integer for the corresponding matrix.The positive integer indicates the diagonal element of the LU decomposition ofthe input matrix that is exactly zero.info filled with zeros indicates that the inversion was successful.Ifcheck_errors=True andinfo contains positive integers, then a RuntimeError is thrown.

Supports input of float, double, cfloat and cdouble dtypes.Also supports batches of matrices, and ifA is a batch of matrices thenthe output has the same batch dimensions.

Note

When the inputs are on a CUDA device, this function synchronizes only whencheck_errors= True.

Warning

This function is “experimental” and it may change in a future PyTorch release.

See also

torch.linalg.inv() is a NumPy compatible variant that always checks for errors.

Parameters
  • A (Tensor) – tensor of shape(*, n, n) where* is zero or more batch dimensionsconsisting of square matrices.

  • check_errors (bool,optional) – controls whether to check the content ofinfo. Default:False.

Keyword Arguments

out (tuple,optional) – tuple of two tensors to write the output to. Ignored ifNone. Default:None.

Examples:

>>>A=torch.randn(3,3)>>>Ainv,info=torch.linalg.inv_ex(A)>>>torch.dist(torch.linalg.inv(A),Ainv)tensor(0.)>>>infotensor(0, dtype=torch.int32)