Pular para o conteúdo principal
Este projeto está em fase beta. Encontrou um bug? Abra uma issue no GitHub. Tem uma pergunta ou ideia? Pergunte no Discussions — adoraríamos receber seu feedback!
Como está a qualidade da tradução nesta página?

Visualizar a temporização do circuito

Package versions

O código nesta página foi desenvolvido usando os seguintes requisitos. Recomendamos usar essas versões ou mais recentes.

qiskit[all]~=2.5.2

Além de visualizar instruções em um circuito, você pode querer visualizar o agendamento de um circuito usando o método timeline_drawer do Qiskit. Essa visualização pode ajudar você a identificar rapidamente o tempo ocioso nos qubits, por exemplo. No entanto, esse método não retorna resultados precisos para circuitos dinâmicos. Para visualizar o agendamento de circuitos dinâmicos, use o método draw_circuit_schedule_timing, conforme descrito no guia Visualizar a temporização do circuito.

Exemplos​

Para visualizar um programa de circuito agendado, você pode chamar essa função com um conjunto de argumentos de controle. A maior parte da aparência da imagem de saída pode ser modificada por uma folha de estilo, mas isso não é obrigatório.

Desenhar com a folha de estilo padrão​

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

Saída da célula de código anterior

Desenhar com uma folha de estilo adequada para depuração de programas​

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)

Saída da célula de código anterior

Você pode criar funções personalizadas de gerador ou layout e atualizar uma folha de estilo existente com essas funções personalizadas. Dessa forma, você pode controlar a maior parte da aparência da imagem de saída sem modificar a base de código do visualizador de circuito agendado. Consulte a referência da API do timeline_drawer para mais exemplos.

Próximas etapas​

Recomendações