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)
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)
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
- Visualizar la temporización de circuitos cuando usas IBM Quantum Compute Service
- Visualizar circuitos