L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Développement · SKILL.md

circuits-devices

circuits-devices

Build and debug PennyLane QNodes, devices, measurements, shots, drawing, and device-test CLI workflows.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: circuits-devices description: "Build and debug PennyLane QNodes, devices, measurements, shots, drawing, and device-test CLI workflows." metadata: disco-role: operating disable-model-invocation: true license: Apache 2.0

Circuits, QNodes, devices, and measurements

Use this sub-skill when the task asks how to create, execute, inspect, or debug PennyLane circuits. It owns QNodes, device selection, measurements, shots, drawing, mid-circuit measurement routing, and the device-test CLI.

Read first

Route within this sub-skill

  • Basic circuit creation: use qp.device(...), define a quantum function with operations, return measurement processes, and wrap it with @qp.qnode(dev) or qp.QNode(func, dev).
  • Device choice: start with default.qubit for ordinary pure-state CPU simulation; use default.mixed for noisy/mixed-state workflows, default.clifford for Clifford circuits, default.tensor for tensor-network style simulation, reference.qubit for reference checks, and null.qubit for dry/resource-like runs.
  • Measurements: use qp.expval, qp.var, qp.probs, qp.sample, qp.counts, qp.state, qp.density_matrix, entropy/purity/mutual-info functions, and shadows according to the requested return type.
  • Shots: analytic workflows use exact-style returns; sampling/counts require finite shots. Use qp.set_shots or QNode/device update methods when changing shot behavior.
  • Drawing/inspection: use qp.draw(qnode)(*args) for text diagrams and qp.draw_mpl(qnode)(*args) for Matplotlib figures.
  • Plugin/device validation: use pl-device-test --help first, then choose explicit --device, --shots, --analytic, and --device-kwargs values.

Boundaries

Minimal pattern

import pennylane as qp

angles = qp.numpy.array([0.1, 0.2], requires_grad=True)
dev = qp.device("default.qubit", wires=2)

@qp.qnode(dev)
def circuit(params):
    qp.RX(params[0], wires=0)
    qp.CNOT(wires=[0, 1])
    qp.RY(params[1], wires=1)
    return qp.expval(qp.Z(1))

value = circuit(angles)
print(value)
print(qp.draw(circuit)(angles))

Verification cues

A good answer or code change in this area should state the chosen device, wires, shot setting, measurement return shape, interface/diff assumptions if gradients are involved, and a tiny QNode smoke check. For source-checkout changes, native candidates include QNode, device, and measurement tests mirrored under tests/workflow/, tests/devices/, and tests/measurements/.

Skills enregistrées