Zum Hauptinhalt springen

Circuit-Timing visualisieren

Paketversionen

Der Code auf dieser Seite wurde mit den folgenden Anforderungen entwickelt. Wir empfehlen, diese Versionen oder neuere zu verwenden.

qiskit[all]~=2.4.0

Zusätzlich zur Visualisierung von Anweisungen auf einem Circuit möchtest du vielleicht die Zeitplanung eines Circuits mithilfe der Qiskit-Methode timeline_drawer visualisieren. Diese Visualisierung kann dir helfen, beispielsweise schnell Leerlaufzeiten auf Qubits zu erkennen. Diese Methode liefert jedoch keine genauen Ergebnisse für dynamische Circuits. Um das Scheduling dynamischer Circuits zu visualisieren, verwende die Methode draw_circuit_schedule_timing, wie im Qiskit Runtime-Leitfaden Circuit-Timing visualisieren beschrieben.

Beispiele

Um ein geplantes Circuit-Programm zu visualisieren, kannst du diese Funktion mit einer Reihe von Steuerungsargumenten aufrufen. Das meiste Erscheinungsbild des Ausgabebilds kann durch ein Stylesheet angepasst werden, dies ist jedoch nicht erforderlich.

Mit dem Standard-Stylesheet zeichnen

# Added by doQumentation — required packages for this notebook
!pip install -q qiskit
from qiskit import QuantumCircuit
from qiskit.visualization.timeline import draw
from qiskit.providers.fake_provider import GenericBackendV2
from qiskit.transpiler import generate_preset_pass_manager

qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)

backend = GenericBackendV2(5)

pm = generate_preset_pass_manager(backend=backend, optimization_level=1)
isa_circuit = pm.run(qc)

draw(isa_circuit, target=backend.target)

Ausgabe der vorherigen Code-Zelle

Mit einem Stylesheet für das Programm-Debugging zeichnen

from qiskit import QuantumCircuit
from qiskit.visualization.timeline import draw, IQXDebugging
from qiskit.providers.fake_provider import GenericBackendV2
from qiskit.transpiler import generate_preset_pass_manager

qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)
qc.measure_all()

backend = GenericBackendV2(5)
pm = generate_preset_pass_manager(backend=backend, optimization_level=1)
isa_circuit = pm.run(qc)
draw(isa_circuit, style=IQXDebugging(), target=backend.target)

Ausgabe der vorherigen Code-Zelle

Du kannst benutzerdefinierte Generator- oder Layout-Funktionen erstellen und ein vorhandenes Stylesheet mit den benutzerdefinierten Funktionen aktualisieren. Auf diese Weise kannst du das meiste Erscheinungsbild des Ausgabebilds steuern, ohne die Codebasis des geplanten Circuit-Zeichners zu ändern. Weitere Beispiele findest du in der API-Referenz zu timeline_drawer.

Nächste Schritte

Empfehlungen