returns the LU decomposition without pivoting if it exists.
Supports inputs of float, double, cfloat and cdouble dtypes. Also
   supports batches of matrices, and if the inputs are batches of
   matrices then the output has the same batch dimensions.
Note:
 When inputs are on a CUDA device, this function synchronizes that
 device with the CPU. For a version of this function that does not
 synchronize, see "torch.linalg.lu_factor_ex()".

Warning:
 The LU decomposition is almost never unique, as often there are
 different permutation matrices that can yield different LU
 decompositions. As such, different platforms, like SciPy, or
 inputs on different devices, may produce different valid
 decompositions.Gradient computations are only supported if the
 input matrix is full-rank. If this condition is not met, no error
 will be thrown, but the gradient may not be finite. This is
 because the LU decomposition with pivoting is not differentiable
