Path: blob/main/translations/es/ch-demos/piday-code.ipynb
3861 views
Estimación de pi () utilizando el Algoritmo de Estimación de Fase Cuántica
1. Resumen rápido del Algoritmo de Estimación de Fase Cuántica
La Estimación de Fase Cuántica (Quantum Phase Estimation, QPE) es un algoritmo cuántico que constituye la base de muchos algoritmos cuánticos más complejos. En esencia, QPE resuelve un problema bastante sencillo: dado un operador y un estado cuántico que es un valor propio de con , ¿podemos obtener una estimación de ?
La respuesta es sí. El algoritmo QPE nos da , donde es el número de qubits que usamos para estimar la fase .
2. Estimación de
En esta demostración, elegimos donde es una de las compuertas cuánticas disponibles en Qiskit, y
Al elegir la fase para que nuestra compuerta sea , podemos resolver para usando las siguientes dos relaciones:
A partir de la salida del algoritmo QPE, medimos una estimación para . Entonces,
Apartir de la definición de la compuerta anterior, sabemos que
Combinando estas dos relaciones, .
Para obtener una comprensión detallada del algoritmo QPE, consulta el capítulo dedicado a este en el Libro de Texto de Qiskit que se encuentra en qiskit.org/textbook.
3. Hora de escribir código
Comenzamos importando las bibliotecas necesarias.
La función qft_dagger calcula la Transformada Cuántica de Fourier inversa. Para obtener información detallada sobre este algoritmo, consulta el capítulo dedicado a este en el Libro de Texto de Qiskit.
La siguiente función, qpe_pre, prepara el estado inicial para la estimación. Ten en cuenta que el estado inicial se crea aplicando una compuerta Hadamard en todos los qubits excepto en el último y configurando el último qubit en .
A continuación, escribimos una función rápida, run_job, para ejecutar un circuito cuántico y devolver los resultados.
Luego, carga tu cuenta para usar el simulador en la nube o dispositivos reales.
Finalmente, juntamos todo en una función llamada get_pi_estimate que usa n_qubits para obtener una estimación para .
Ahora, ejecuta la función get_pi_estimate con diferentes números de qubits e imprime las estimaciones.
Y grafica todos los resultados.