דלג לתוכן הראשי
פרויקט זה בשלב בטא. מצאת באג? פתח issue ב-GitHub. יש שאלה או רעיון? שאל ב-Discussions — נשמח לשמוע ממך!
מה איכות התרגום בדף זה?

ויזואליזציה של תזמון Circuit

Package versions

הקוד בדף זה פותח באמצעות הדרישות הבאות. אנחנו ממליצים להשתמש בגרסאות אלה או בגרסאות חדשות יותר.

qiskit[all]~=2.5.2

בנוסף לויזואליזציה של הוראות על Circuit, ייתכן שתרצה לבצע ויזואליזציה של תזמון ה-Circuit באמצעות מתודת Qiskit timeline_drawer. ויזואליזציה זו יכולה לעזור לך לאתר במהירות זמן סרק על qubit-ים, למשל. עם זאת, מתודה זו אינה מחזירה תוצאות מדויקות עבור Circuits דינמיים. לביצוע ויזואליזציה של תזמון Circuit דינמי, השתמש במתודת draw_circuit_schedule_timing, כפי שמתואר במדריך ויזואליזציה של תזמון Circuit.

דוגמאות​

כדי לבצע ויזואליזציה של תוכנית Circuit מתוזמנת, אפשר לקרוא לפונקציה זו עם קבוצת ארגומנטי בקרה. ניתן לשנות את רוב המראה של תמונת הפלט באמצעות גיליון סגנונות, אך זה אינו חובה.

ציור עם גיליון הסגנונות של ברירת המחדל​

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

פלט תא הקוד הקודם

ציור עם גיליון סגנונות המתאים לניפוי באגים בתוכנית​

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)

פלט תא הקוד הקודם

אפשר ליצור פונקציות generator או layout מותאמות אישית ולעדכן גיליון סגנונות קיים עם הפונקציות המותאמות. כך ניתן לשלוט ברוב המראה של תמונת הפלט מבלי לשנות את בסיס הקוד של מצייר ה-Circuit המתוזמן. ראה את תיעוד ה-API של timeline_drawer לדוגמאות נוספות.

הצעדים הבאים​

המלצות