code: def test_simple_lu_shapes_real_complex(self, shape):
      a = self.rng.uniform(-10.0, 10.0, size=shape)
      p, l, u = lu(a)
      assert_allclose(a, p @ l @ u)
      pl, u = lu(a, permute_l=True)
      assert_allclose(a, pl @ u)
  
      b = self.rng.uniform(-10.0, 10.0, size=shape) * 1j
      b += self.rng.uniform(-10, 10, size=shape)
      pl, u = lu(b, permute_l=True)
      assert_allclose(b, pl @ u)
  
imports: import pytest
  from pytest import raises
  import numpy
  from scipy.linalg import lu, lu_factor, lu_solve, get_lapack_funcs, solve
  from numpy.testing import assert_allclose, assert_array_equal
label_desc: Use image node_id 3 for calling the TestLU obj's underlying member method code with example usage: obj.test_simple_lu_shapes_real_complex(shape) without return types