code: def get_circuit(n_qubits, output_dim, interface):
      """Fixture for getting a sample quantum circuit with a controllable qubit number and output
      dimension. Returns both the circuit and the shape of the weights.
      """
  
      dev = qml.device("default.qubit", wires=n_qubits)
      weight_shapes = {
          "w1": (3, n_qubits, 3),
          "w2": (1,),
          "w3": 1,
          "w4": [3],
          "w5": (2, n_qubits, 3),
          "w6": 3,
          "w7": 1,
      }
  
      # pylint: disable=too-many-arguments
      @qml.qnode(dev, interface=interface)
      def circuit(inputs, w1, w2, w3, w4, w5, w6, w7):
          """A circuit that embeds data using the AngleEmbedding and then performs a variety of
          operations. The output is a PauliZ measurement on the first output_dim qubits. One set of
          parameters, w5, are specified as non-trainable."""
          qml.templates.AngleEmbedding(
              inputs, wires=list(range(n_qubits))
          )
          qml.templates.StronglyEntanglingLayers(
              w1, wires=list(range(n_qubits))
          )
          qml.RX(w2[0], wires=0 % n_qubits)
          qml.RX(w3, wires=1 % n_qubits)
          qml.Rot(w4[0], w4[1], w4[2], wires=2 % n_qubits)
          qml.templates.StronglyEntanglingLayers(
              w5, wires=list(range(n_qubits))
          )
          qml.Rot(w6[0], w6[1], w6[2], wires=3 % n_qubits)
          qml.RX(w7, wires=4 % n_qubits)
          return [qml.expval(qml.PauliZ(i)) for i in range(output_dim)]
  
      return circuit, weight_shapes
  
imports: import pytest
  import numpy
  import pennylane
label_desc: Use image node_id 1 for calling a global function with example usage: get_circuit(n_qubits, output_dim, interface) and returns: circuit,  weight_shapes, unknown