Skip to main content
IBM Quantum Platform

Visualiser la synchronisation des circuits

  • Le code figurant sur cette page a été développé selon les exigences suivantes. Nous recommandons d'utiliser ces versions ou des versions plus récentes.

    qiskit[all]~=2.5.1
    

Outre la visualisation des instructions d'un circuit, vous pouvez également visualiser la planification d'un circuit à l'aide de la méthode timeline_drawer Qiskit. Cette visualisation pourrait vous aider à repérer rapidement les temps d'inactivité des qubits, par exemple. Cependant, cette méthode ne donne pas de résultats précis pour les circuits dynamiques. Pour visualiser la planification dynamique des circuits, utilisez la draw_circuit_schedule_timing méthode décrite dans le guide « Visualisation de la synchronisation des circuits ».


Exemples

Pour visualiser un programme de circuit programmé, vous pouvez appeler cette fonction avec un ensemble d'arguments de contrôle. La plupart des aspects de l'image de sortie peuvent être modifiés par une feuille de style, mais ce n'est pas obligatoire.

Dessiner avec la feuille de style par défaut

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:

Output of the previous code cell

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

Output:

Output of the previous code cell

Vous pouvez créer des fonctions de générateur ou de mise en page personnalisées et mettre à jour une feuille de style existante avec les fonctions personnalisées. De cette manière, vous pouvez contrôler la plupart des aspects de l'image de sortie sans modifier la base de code du tiroir de circuit programmé. Voir la référence de l timeline_drawer Pour plus d'exemples.


Etapes suivantes

Recommandations
Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.