Qinterpreter es una herramienta de código abierto diseñada para integrar cinco populares bibliotecas cuánticas basadas en Python: Qiskit, Pyquil, Pennylane, Amazon Braket y Cirq. Desarrolladas por líderes de la industria como IBM, Amazon, Google, Rigetti Computing y Xanadu, estas bibliotecas están unificadas por Qinterpreter en un único marco de trabajo.
Esta integración permite a los usuarios interactuar y ejecutar código en las cinco plataformas de computación cuántica. Esencialmente, Qinterpreter actúa como un simulador que traduce algoritmos entre estos marcos de trabajo y está disponible gratuitamente en línea. Esto es especialmente útil para investigadores y recién llegados que carecen de acceso a computadoras cuánticas físicas.
Para obtener más información, consulte el siguiente artículo para obtener más detalles.
Unleashing quantum algorithms with Qinterpreter: bridging the gap between theory and practice across leading quantum computing platformsQinterpreter sirve como una herramienta educativa y de entrenamiento, ofreciendo un punto de entrada fácil de usar para aquellos nuevos en la computación cuántica. Permite a los usuarios desarrollar y ejecutar circuitos cuánticos en múltiples plataformas con facilidad.
Además, el desarrollo e implementación de Qinterpreter sirven como una prueba piloto para la plataforma Quantum Science Gateway, marcando el primer paso hacia la creación de un espacio inclusivo y colaborativo que fomente la innovación y la educación en la ciencia cuántica.
Qinterpreter opera en tres pasos secuenciales. El primer paso consiste en crear un lenguaje común llamado Qinterpreter. El segundo paso es traducir este lenguaje a los cinco marcos de trabajo distintos: Qiskit, Cirq, PennyLane, PyQuil y Amazon Braket. El paso final implica gestionar el proceso de simulación. Siguiendo este enfoque, Qinterpreter proporciona un entorno donde los usuarios pueden interactuar con estos cinco backends cuánticos. Estos backends sirven como interfaces a simuladores cuánticos, permitiendo a los usuarios realizar simulaciones o ejecutar código sin necesidad de comprender los detalles técnicos subyacentes.
El proceso se basa en reglas predefinidas centradas en las puertas básicas utilizadas en la computación cuántica. Dado que la mayoría de las bibliotecas siguen un conjunto estándar de puertas básicas, Qinterpreter adapta estas puertas simples para cada biblioteca específica. El núcleo del proceso de traducción es mapear las puertas del modelo independiente del marco de trabajo a las puertas correspondientes en el marco de trabajo objetivo, asegurando la compatibilidad y la ejecución exitosa en el backend elegido. Cada traductor utiliza el backend de su respectiva biblioteca para la traducción y simulación de circuitos. Por ejemplo, Qiskit utiliza el backend Aer para la simulación de vectores de estado, mientras que PennyLane utiliza su dispositivo qubit predeterminado. Antes de continuar con un ejemplo, revisemos el proceso de instalación.
Para garantizar el correcto funcionamiento de Qinterpreter, instala las versiones de biblioteca requeridas ejecutando los siguientes comandos en tu consola de Python:
Si estás trabajando en Jupyter Notebook o JupyterLab, simplemente agrega ! al principio de cada comando para instalar las versiones específicas de las bibliotecas.
A continuación, instala Qinterpreter ejecutando:
Una vez completada la instalación, importa las bibliotecas cuánticas necesarias con el siguiente código:
Los usuarios deben familiarizarse con las reglas e instrucciones de Qinterpreter. Como ejemplo, simulemos un circuito cuántico básico que crea el estado de Bell.
|Ψ+⟩ = (1/√2)(|00⟩ + |11⟩)
Un estado entrelazado de dos qubits
La función QuantumCircuit(), dentro de Qinterpreter, es responsable de crear un circuito basado en el número especificado de qubits y registros clásicos. Para nuestro ejemplo del estado de Bell, necesitamos dos registros cuánticos y dos registros clásicos:
Posteriormente, añadimos las puertas cuánticas necesarias para simular nuestro estado de Bell.
Donde la compuerta Hadamard (h) crea una superposición, resultando en el estado (|00⟩ + |01⟩) / √2, mientras que la puerta CNOT entrelaza los qubits para formar el estado de Bell (|00⟩ + |11⟩) / √2.
Para realizar la simulación de nuestro circuito, implementamos la operación de medición de la siguiente manera:
Selecciona el marco de trabajo para visualizar la simulación (Qiskit, Pyquil, Pennylane, Amazon Braket o Cirq) y utiliza el siguiente comando:
Imprimir el circuito en cualquier biblioteca de computación cuántica permite a los usuarios visualizar y depurar sus circuitos cuánticos creados. En este caso, para visualizar el circuito y asegurarse de que funciona correctamente, se aplica la siguiente regla:
Para simular el circuito, utilizamos los simuladores específicos que proporciona cada biblioteca. En el caso de Qiskit, se utiliza el simulador QASM. Sin embargo, para el framework específico de Pyquil, el usuario debe instalar los requisitos de software descritos en la documentación proporcionada por Rigetti (Instalación y Primeros Pasos — documentación de pyQuil 3.5.4 (rigetti.com)). El comando para realizar e imprimir las simulaciones es el siguiente:
Qubithub.org es una iniciativa latinoamericana con socios en los Estados Unidos enfocada en el avance de la computación cuántica y sus campos interdisciplinarios relacionados, como la óptica cuántica, la información cuántica, la fotónica, la inteligencia artificial, las nanociencias y la robótica.