Aller au contenu principal

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

En plus de visualiser les instructions d'un circuit, tu pourrais vouloir 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 retourne 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 Qiskit Runtime Visualiser le timing des circuits.

Exemples

Pour visualiser un programme de circuit ordonné, tu peux appeler cette fonction avec un ensemble d'arguments de contrôle. La plupart 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 — 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)

Sortie de la cellule de code précédente

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)

Sortie de la cellule de code précédente

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