class_docstr: This device provides derivatives via parameter shift.
class_docstr_tok: ["This","device","provides","derivatives","via","parameter","shift","."]
code: def compute_derivatives(self, circuits, execution_config=None):
      is_single_circuit = False
      if isinstance(circuits, qml.tape.QuantumScript):
          is_single_circuit = True
          circuits = (circuits,)
  
      if self.tracker.active:
          self.tracker.update(
              derivative_batches=1, derivatives=len(circuits)
          )
          self.tracker.record()
  
      diff_batch, fn = qml.transforms.map_batch_transform(
          qml.gradients.param_shift, circuits
      )
      diff_results = self.execute(diff_batch)
  
      jacs = fn(diff_results)
      return jacs[0] if is_single_circuit else jacs
  
file_path: pennylane/tests/param_shift_dev.py
imports: import dataclasses
  import pennylane
label_desc: Use image node_id 3 for calling the ParamShiftDerivativesDevice obj's underlying member method code with example usage: obj.compute_derivatives(circuits, execution_config) and returns: unknown