code: def test_lu_errors():
      rng = np.random.default_rng()
  
      A = rng.integers(0, 11, (10, 10, 10))
      dA = da.from_array(A, chunks=(5, 5, 5))
      pytest.raises(ValueError, lambda: da.linalg.lu(dA))
  
      A = rng.integers(0, 11, (10, 8))
      dA = da.from_array(A, chunks=(5, 4))
      pytest.raises(ValueError, lambda: da.linalg.lu(dA))
  
      A = rng.integers(0, 11, (20, 20))
      dA = da.from_array(A, chunks=(5, 4))
      pytest.raises(ValueError, lambda: da.linalg.lu(dA))
  
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 18 for calling a global function with example usage: test_lu_errors() without return types