Visualiser le timing d'un circuit
Package versions
Le code de cette page a été développé avec les dépendances suivantes. Nous recommandons d'utiliser ces versions ou des versions plus récentes.
qiskit[all]~=2.5.2
En plus de visualiser les instructions d'un circuit, tu voudras peut-être visualiser l'ordonnancement d'un circuit en utilisant la méthode Qiskit timeline_drawer. Cette visualisation peut t'aider, par exemple, à repérer rapidement les temps d'inactivité sur les qubits. Cependant, cette méthode ne renvoie pas de résultats précis pour les circuits dynamiques. Pour visualiser l'ordonnancement d'un circuit dynamique, utilise la méthode draw_circuit_schedule_timing, décrite dans le guide Visualiser le timing des circuits.
Exemples
Pour visualiser un programme de circuit ordonnancé, tu peux appeler cette fonction avec un ensemble d'arguments de contrôle. La majeure partie de l'apparence de l'image de sortie peut être modifiée via une feuille de style, mais ce n'est pas obligatoire.
Afficher avec la feuille de style par défaut
# 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)
Afficher avec une feuille de style adaptée au débogage de programmes
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)
Tu peux créer des fonctions de génération ou de mise en page personnalisées et mettre à jour une feuille de style existante avec ces fonctions. De cette façon, tu peux contrôler la majeure partie de l'apparence de l'image de sortie sans modifier la base de code du dessinateur de circuits ordonnancés. Consulte la référence API timeline_drawer pour plus d'exemples.
Prochaines étapes
- Visualiser le timing d'un circuit avec IBM Quantum Compute Service
- Visualiser les circuits