code: def test_list(self):
      f = lambda x, y: x * y
      g = lambda x, y: [y, x]
      args = [
          np.linspace(0, 100, int(1e1)),
          np.linspace(-100, 0, int(1e1)),
      ]
      y, dydx = self.evaluate(gradient.value_and_gradient(f, args))
      self.assertAllClose(f(*args), y, atol=1e-6, rtol=1e-6)
      self.assertAllClose(g(*args), dydx, atol=1e-6, rtol=1e-6)
  
imports: import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import kullback_leibler
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import gradient
  from tensorflow_probability.python.math.gradient import batch_jacobian
  from tensorflow_probability.python.math.gradient import value_and_gradient_with_auto_expansion
label_desc: Use image node_id 2 for calling the GradientTest obj's underlying member method code with example usage: obj.test_list() without return types