Saltar al contenido principal
Este proyecto está en fase beta. ¿Encontraste un error? Abre un issue en GitHub. ¿Tienes una pregunta o una idea? Pregunta en Discussions — ¡nos encantaría tu opinión!
¿Cómo es la calidad de la traducción en esta página?

Visualizar la temporización de un circuito

Versiones de paquetes

El código de esta página fue desarrollado con los siguientes requisitos. Recomendamos usar estas versiones o versiones más recientes.

qiskit[all]~=2.5.2

Además de visualizar instrucciones en un circuito, puede que quieras visualizar la planificación temporal de un circuito usando el método timeline_drawer de Qiskit. Esta visualización puede ayudarte a detectar rápidamente tiempos de inactividad en los qubits, por ejemplo. Sin embargo, este método no devuelve resultados precisos para circuitos dinámicos. Para visualizar la planificación temporal de circuitos dinámicos, usa el método draw_circuit_schedule_timing, tal como se describe en la guía Visualizar la temporización de circuitos.

Ejemplos​

Para visualizar un programa de circuito planificado, puedes llamar a esta función con un conjunto de argumentos de control. La mayor parte de la apariencia de la imagen de salida puede modificarse mediante una hoja de estilos, aunque esto no es obligatorio.

Dibujar con la hoja de estilos predeterminada​

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

Salida de la celda de código anterior

Dibujar con una hoja de estilos para depuración 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)

Salida de la celda de código anterior

Puedes crear funciones de generador o de diseño personalizadas y actualizar una hoja de estilos existente con esas funciones personalizadas. De esta manera, puedes controlar la mayor parte de la apariencia de la imagen de salida sin modificar el código fuente del visualizador de circuitos planificados. Consulta la referencia de la API de timeline_drawer para más ejemplos.

Próximos pasos​

Recomendaciones