Saltar al contenido principal

Visualizar el tiempo de ejecució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.4.0

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 de Qiskit Runtime Visualizar el tiempo de ejecució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 — 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)

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 base del dibujador de circuitos planificados. Consulta la referencia de la API de timeline_drawer para más ejemplos.

Próximos pasos