Skip to main content
IBM Quantum Platform

Migración de Qiskit Pulse a puertas fraccionarias

Con la introducción de las puertas fraccionarias, el control del nivel de impulsos en todos los procesadores IBM Quantum® ha quedado obsoleto y se eliminará a principios de 2025. Además, el módulo qiskit.pulse ha quedado obsoleto a partir de Qiskit SDK v1.3.0 y se eliminará en Qiskit SDK v2.0.0. Este cambio viene motivado por nuestro interés actual en los experimentos a escala utilitaria y el apoyo a los usuarios que exploran aplicaciones que puedan suponer una ventaja cuántica.


Ejecuta rotaciones de uno y dos qubits directamente con puertas fraccionarias

El caso de uso más común del control a nivel de pulso fue construir programas de pulsos personalizados que modifican los pulsos ECR o RX para ejecutar directamente rotaciones de uno o dos qubits. El proceso típico consistía en utilizar las instrucciones RXCalibrationBuilder y RZXCalibrationBuilder (o RZXCalibrationBuilderNoEcho) y añadir RXGate o RZXGate a la instrucción target de una QPU, y luego construir un canal de transpilación que contuviera los pases del constructor de calibración para calibrar las rotaciones de uno y dos qubits para un ángulo especificado. En el fondo esto creó una calibración, que es un mapa entre un ScheduleBlock y una puerta en un QuantumCircuit.

Ahora puede conseguirlo en los procesadores Heron utilizando la nueva bandera use_fractional_gates . Como se especifica en la guía de compuertas fraccionarias, tanto RX(θ)R_X(\theta) como RZZ(θ)R_ZZ(\theta) deben cargarse utilizando esta bandera, que devuelve un backend cuyo atributo Target contiene información sobre estas compuertas.

service = QiskitRuntimeService()
backend = service.backend('ibm_torino', use_fractional_gates=True)

Utiliza Qiskit Dynamics

El módulo qiskit.pulse contenía muchas más funciones que la mera ejecución más eficiente de rotaciones de uno y dos qubits. Gran parte del control sobre la física del dispositivo puede modelarse utilizando el paquete Qiskit Dynamics que se encuentra en el ecosistema Qiskit. En concreto, el paquete tiene su propia representación análoga de muchas de las funciones que ofrece qiskit.pulse en forma de módulo qiskit_dynamics.signals . La documentación de este paquete contiene algunos tutoriales que pueden ser útiles:

¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.