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.5.2
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.
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 — 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)
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)
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
- Visualizzare il timing del circuito quando si utilizza IBM Quantum Compute Service
- Visualizzare i circuiti