Zum Hauptinhalt springen
Dieses Projekt befindet sich in der Beta-Phase. Einen Fehler gefunden? GitHub Issue erstellen. Frage oder Idee? In Discussions fragen — wir freuen uns über dein Feedback!
Wie ist die Übersetzungsqualität auf dieser Seite?

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.5.2

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 Circuit-Timing visualisieren-Leitfaden beschrieben.

Beispiele​

Um ein geschedultes Circuit-Programm zu visualisieren, kannst du diese Funktion mit einer Reihe von Steuerungsargumenten aufrufen. Das Erscheinungsbild des Ausgabebilds lässt sich größtenteils über ein Stylesheet anpassen, das ist aber nicht zwingend nötig.

Mit dem Standard-Stylesheet zeichnen​

# Added by doQumentation — installs the packages this notebook needs if they are missing
import importlib.util

_needed = {"qiskit": "qiskit"}
_missing = [pip for module, pip in _needed.items()
if importlib.util.find_spec(module) is None]
# One at a time, so a package that fails to install does not block the others
for _pip in _missing:
%pip install -q {_pip}
if not _missing:
print("\u2713 All required packages are installed")
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 Erscheinungsbild des Ausgabebilds weitgehend steuern, ohne die Codebasis des Zeichners für geschedulte Circuits zu ändern. Weitere Beispiele findest du in der API-Referenz zu timeline_drawer.

Nächste Schritte​

Empfehlungen