code: def testBasic(self):
      data = np.array(
          [[4.0, -1.0, 2.0], [-1.0, 6.0, 0], [10.0, 0.0, 5.0]]
      )
  
      for dtype in (np.float32, np.float64):
          for output_idx_type in (dtypes.int32, dtypes.int64):
              with self.subTest(
                  dtype=dtype, output_idx_type=output_idx_type
              ):
                  self._verifyLu(
                      data.astype(dtype),
                      output_idx_type=output_idx_type,
                  )
  
      for dtype in (np.complex64, np.complex128):
          for output_idx_type in (dtypes.int32, dtypes.int64):
              with self.subTest(
                  dtype=dtype, output_idx_type=output_idx_type
              ):
                  complex_data = np.tril(1j * data, -1).astype(dtype)
                  complex_data += np.triu(-1j * data, 1).astype(dtype)
                  complex_data += data
                  self._verifyLu(
                      complex_data, output_idx_type=output_idx_type
                  )
  
imports: import numpy
  from tensorflow.python.client import session
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import array_ops_stack
  from tensorflow.python.ops import control_flow_ops
  from tensorflow.python.ops import linalg_ops
  from tensorflow.python.ops import map_fn
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import stateless_random_ops
  from tensorflow.python.ops import variables
  from tensorflow.python.platform import benchmark
  from tensorflow.python.platform import test
label_desc: Use image node_id 4 for calling the LuOpTest obj's underlying member method code with example usage: obj.testBasic() without return types