Vai al contenuto principale
Questo progetto è in fase beta. Hai trovato un bug? Apri una issue su GitHub. Hai una domanda o un'idea? Chiedi su GitHub Discussions — apprezziamo il tuo feedback!
Com'è la qualità della traduzione su questa pagina?

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)

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​

Raccomandazioni