step of the algorithm, the "i"-th row was permuted with the
       "j-1"-th row.
 * LU factorization with "pivot" = "False" is not available for
   CPU, and attempting to do so will throw an error. However, LU
   factorization with "pivot" = "False" is available for CUDA.

 * This function does not check if the factorization was
   successful or not if "get_infos" is "True" since the status of
   the factorization is present in the third element of the return
   tuple.

 * In the case of batches of square matrices with size less or
   equal to 32 on a CUDA device, the LU factorization is repeated
   for singular matrices due to the bug in the MAGMA library (see
   magma issue 13).

 * "L", "U", and "P" can be derived using "torch.lu_unpack()".

Warning:
 The gradients of this function will only be finite when "A" is
 full rank. This is because the LU decomposition is just
 differentiable at full rank matrices. Furthermore, if "A" is
