code: def lu_factor(
      A: Union[ivy.Array, ivy.NativeArray],
      /,
      *,
      pivot: bool = True,
      out: Optional[Union[ivy.Array, ivy.NativeArray]] = None,
  ) -> Tuple[
      Union[ivy.Array, ivy.NativeArray],
      Union[ivy.Array, ivy.NativeArray],
  ]:
      """
      Parameters
      ----------
      A
          tensor of shape (*, m, n) where * is zero or more batch dimensions.
  
      pivot
          Whether to compute the LU decomposition with partial pivoting, or the regular LU
          decomposition. pivot = False not supported on CPU. Default: True.
  
      out
          tuple of two tensors to write the output to. Ignored if None. Default: None.
  
      Returns
      -------
      ret
          A named tuple (LU, pivots).
      """
      return current_backend(A).lu_factor(A, pivot=pivot, out=out)
  
imports: from typing import Union, Optional, Tuple, Literal, List, Sequence
  import ivy
  from ivy.utils.backend import current_backend
  from ivy.func_wrapper import handle_array_function, to_native_arrays_and_back, handle_out_argument, handle_nestable, handle_array_like_without_promotion, handle_device, handle_backend_invalid
  from ivy.utils.exceptions import handle_exceptions
label_desc: Use image node_id 29 for calling a global function with example usage: lu_factor() and returns: current_backend