transpositions of rows. The final permutation "perm" could
           be reconstructed by applying "swap(perm[i], perm[pivots[i]
           - 1])" for "i = 0, ..., pivots.size(-1) - 1", where "perm"
           is initially the identity permutation of m elements
           (essentially this is what "torch.lu_unpack()" is doing).
     * **infos** (*IntTensor*, *optional*): if "get_infos" is
       "True", this is a tensor of size (*) where non-zero values
       indicate whether factorization for the matrix or each
       minibatch has succeeded or failed

Return type:
      (Tensor, IntTensor, IntTensor (optional))
Example:
  >>> A = torch.randn(2, 3, 3)
  >>> A_LU, pivots = torch.lu(A)
  >>> A_LU
  tensor([[[ 1.3506,  2.5558, -0.0816],
           [ 0.1684,  1.1551,  0.1940],
           [ 0.1193,  0.6189, -0.5497]],

          [[ 0.4526,  1.2526, -0.3285],
           [-0.7988,  0.7175, -0.9701],
           [ 0.2634, -0.9255, -0.3459]]])
