Przejdź do głównej treści

Wizualizacja taktowania obwodów

Wersje pakietów

Kod na tej stronie został opracowany przy użyciu następujących wymagań. Zalecamy korzystanie z tych wersji lub nowszych.

qiskit[all]~=2.4.0

Oprócz wizualizacji instrukcji na obwodzie, możesz chcieć zwizualizować harmonogram obwodu, korzystając z metody Qiskit timeline_drawer. Ta wizualizacja może na przykład pomóc ci szybko wykryć czas bezczynności na qubitach. Jednak ta metoda nie zwraca dokładnych wyników dla obwodów dynamicznych. Aby zwizualizować harmonogramowanie obwodów dynamicznych, użyj metody draw_circuit_schedule_timing, zgodnie z opisem w przewodniku Qiskit Runtime Wizualizacja taktowania obwodów.

Przykłady

Aby zwizualizować zaplanowany program obwodu, możesz wywołać tę funkcję z zestawem argumentów sterujących. Większość wyglądu obrazu wyjściowego można modyfikować za pomocą arkusza stylów, ale nie jest to wymagane.

Rysowanie z domyślnym arkuszem stylów

# 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)

Output of the previous code cell

Rysowanie z arkuszem stylów przystosowanym do debugowania programów

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)

Output of the previous code cell

Możesz tworzyć niestandardowe funkcje generatora lub układu i aktualizować istniejący arkusz stylów za pomocą tych niestandardowych funkcji. W ten sposób możesz kontrolować większość wyglądu obrazu wyjściowego bez modyfikowania bazy kodu rysownika zaplanowanych obwodów. Więcej przykładów znajdziesz w dokumentacji API timeline_drawer.

Następne kroki

Zalecenia