code: def testEmpty(self):
      full = np.array([[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]])
      empty0 = np.empty([3, 0])
      empty1 = np.empty([0, 2])
      for fast in [True, False]:
          tf_ans = self.evaluate(
              linalg_ops.matrix_solve_ls(empty0, empty0, fast=fast)
          )
          self.assertEqual(tf_ans.shape, (0, 0))
          tf_ans = self.evaluate(
              linalg_ops.matrix_solve_ls(empty0, full, fast=fast)
          )
          self.assertEqual(tf_ans.shape, (0, 2))
          tf_ans = self.evaluate(
              linalg_ops.matrix_solve_ls(full, empty0, fast=fast)
          )
          self.assertEqual(tf_ans.shape, (2, 0))
          tf_ans = self.evaluate(
              linalg_ops.matrix_solve_ls(empty1, empty1, fast=fast)
          )
          self.assertEqual(tf_ans.shape, (2, 2))
  
imports: import numpy
  from tensorflow.python.client import session
  from tensorflow.python.eager import context
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors_impl
  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 control_flow_ops
  from tensorflow.python.ops import linalg_ops
  from tensorflow.python.ops import math_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 3 for calling the MatrixSolveLsOpTest obj's underlying member method code with example usage: obj.testEmpty() without return types