code: def testJacobian(self):
      with tf.GradientTape() as g:
          x = np.asarray([1.0, 2.0])
          y = np.asarray([3.0, 4.0])
          g.watch(x)
          g.watch(y)
          z = x * x * y
  
      jacobian = g.jacobian(z, [x, y])
      answer = [tf.linalg.diag(2 * x * y), tf.linalg.diag(x * x)]
  
      self.assertIsInstance(jacobian[0], np.ndarray)
      self.assertIsInstance(jacobian[1], np.ndarray)
      self.assertAllClose(jacobian, answer)
  
imports: import numpy
  import tensorflow.compat.v2
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops.numpy_ops import np_math_ops
label_desc: Use image node_id 17 for calling the InteropTest obj's underlying member method code with example usage: obj.testJacobian() without return types