class_docstr: Tests for the jvp function
class_docstr_tok: ["Tests","for","the","jvp","function"]
docstr: A zero tangent vector will return no tapes and a zero matrix
docstr_tok: ["A","zero","tangent","vector","will","return","no","tapes","and","a","zero","matrix"]
code: def test_zero_tangent_multiple_measurement_single_param(
      self, batch_dim
  ):
      """A zero tangent vector will return no tapes and a zero matrix"""
  
      x = (
          0.4
          if batch_dim is None
          else 0.4 * np.arange(1, 1 + batch_dim)
      )
      with qml.queuing.AnnotatedQueue() as q:
          qml.RX(x, wires=0)
          qml.CNOT(wires=[0, 1])
          qml.expval(qml.PauliZ(0))
          qml.probs(wires=[0])
  
      tape = qml.tape.QuantumScript.from_queue(q)
      tape.trainable_params = {0}
      tangent = np.array([0.0])
      tapes, fn = qml.gradients.jvp(tape, tangent, param_shift)
      res = fn(tapes)
  
      assert tapes == []
  
      assert isinstance(res, tuple)
      assert len(res) == 2
  
      assert isinstance(res[0], np.ndarray)
      assert np.allclose(res[0], 0)
  
      assert isinstance(res[1], np.ndarray)
      assert np.allclose(res[1], [0, 0])
  
imports: import pytest
  import pennylane
  from pennylane import numpy
  from pennylane.gradients import param_shift
label_desc: Use image node_id 5 for calling the TestJVP obj's underlying member method code with example usage: obj.test_zero_tangent_multiple_measurement_single_param(batch_dim) without return types