Vai al contenuto principale

Visualizzare il timing del circuito

Versioni dei pacchetti

Il codice in questa pagina è stato sviluppato usando i seguenti requisiti. Si consiglia di usare queste versioni o versioni più recenti.

qiskit[all]~=2.4.0

Oltre a visualizzare le istruzioni su un circuito, potresti voler visualizzare la pianificazione (scheduling) di un circuito usando il metodo timeline_drawer di Qiskit. Questa visualizzazione può aiutarti, ad esempio, a individuare rapidamente i tempi di inattività sui qubit. Tuttavia, questo metodo non restituisce risultati accurati per i circuiti dinamici. Per visualizzare lo scheduling dei circuiti dinamici, usa il metodo draw_circuit_schedule_timing, come descritto nella guida Visualizzare il timing del circuito di Qiskit Runtime.

Esempi

Per visualizzare un circuito pianificato, puoi chiamare questa funzione con un insieme di argomenti di controllo. La maggior parte dell'aspetto dell'immagine di output può essere modificata tramite un foglio di stile, ma non è obbligatorio.

Disegna con il foglio di stile predefinito

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

Output of the previous code cell

Disegna con un foglio di stile adatto al debug del programma

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

Puoi creare funzioni di generazione o di layout personalizzate e aggiornare un foglio di stile esistente con le funzioni personalizzate. In questo modo puoi controllare la maggior parte dell'aspetto dell'immagine di output senza modificare il codice sorgente del drawer dei circuiti pianificati. Consulta il riferimento API di timeline_drawer per altri esempi.

Passi successivi