code: def test_lu_1():
      A1 = np.array(
          [[7, 3, -1, 2], [3, 8, 1, -4], [-1, 1, 4, -1], [2, -4, -1, 6]]
      )
  
      A2 = np.array(
          [
              [7, 0, 0, 0, 0, 0],
              [0, 8, 0, 0, 0, 0],
              [0, 0, 4, 0, 0, 0],
              [0, 0, 0, 6, 0, 0],
              [0, 0, 0, 0, 3, 0],
              [0, 0, 0, 0, 0, 5],
          ]
      )
      # without shuffle
      for A, chunk in zip([A1, A2], [2, 2]):
          dA = da.from_array(A, chunks=(chunk, chunk))
          p, l, u = scipy.linalg.lu(A)
          dp, dl, du = da.linalg.lu(dA)
          assert_eq(p, dp, check_graph=False)
          assert_eq(l, dl, check_graph=False)
          assert_eq(u, du, check_graph=False)
          _check_lu_result(dp, dl, du, A)
  
      A3 = np.array(
          [
              [7, 3, 2, 1, 4, 1],
              [7, 11, 5, 2, 5, 2],
              [21, 25, 16, 10, 16, 5],
              [21, 41, 18, 13, 16, 11],
              [14, 46, 23, 24, 21, 22],
              [0, 56, 29, 17, 14, 8],
          ]
      )
  
      # with shuffle
      for A, chunk in zip([A3], [2]):
          dA = da.from_array(A, chunks=(chunk, chunk))
          p, l, u = scipy.linalg.lu(A)
          dp, dl, du = da.linalg.lu(dA)
          _check_lu_result(dp, dl, du, A)
  
imports: from __future__ import annotations
  import sys
  import pytest
  import numpy
  import scipy.linalg
  from packaging.version import parse
  import dask.array
  from dask.array.linalg import qr, sfqr, svd, svd_compressed, tsqr
  from dask.array.numpy_compat import _np_version
  from dask.array.utils import assert_eq, same_keys, svd_flip
label_desc: Use image node_id 15 for calling a global function with example usage: test_lu_1() without return types