Przejdź do głównej treści
Ten projekt jest w wersji beta. Znalazłeś błąd? Otwórz zgłoszenie na GitHub. Masz pytanie lub pomysł? Zapytaj w Discussions — chętnie poznamy Twoją opinię!
Jak oceniasz jakość tłumaczenia tej strony?

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

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

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