code: def test_linear_operator_matmul_hint_infer_square(self):
      matrix1 = array_ops.placeholder_with_default(
          input=rng.rand(2, 3), shape=(2, 3)
      )
      matrix2 = array_ops.placeholder_with_default(
          input=rng.rand(3, 2), shape=(3, 2)
      )
      matrix3 = array_ops.placeholder_with_default(
          input=rng.rand(3, 4), shape=(3, 4)
      )
  
      operator1 = LinearOperatorMatmulSolve(matrix1, is_square=False)
      operator2 = LinearOperatorMatmulSolve(matrix2, is_square=False)
      operator3 = LinearOperatorMatmulSolve(matrix3, is_square=False)
  
      self.assertTrue(operator1.matmul(operator2).is_square)
      self.assertTrue(operator2.matmul(operator1).is_square)
      self.assertFalse(operator1.matmul(operator3).is_square)
  
imports: import numpy
  from tensorflow.python.eager import context
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import tensor_shape
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import linalg_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops.linalg import linalg
  from tensorflow.python.ops.parallel_for import control_flow_ops
  from tensorflow.python.platform import test
label_desc: Use image node_id 17 for calling the LinearOperatorTest obj's underlying member method code with example usage: obj.test_linear_operator_matmul_hint_infer_square() without return types