Usando el paquete qiskit en Python para la programación de computadoras cuánticas

Un error común es que las computadoras cuánticas no están listas para las aplicaciones del mercado, y la tecnología tomará muchos años en usarse. En este artículo, presentaremos algunos principios básicos de programación de computadoras cuánticas y eliminaremos este malentendido. Estudiaremos software de código abierto gratuito: QISKit desarrollado por IBM y PennyLane, un software de aprendizaje automático cuántico. También presentaremos cómo ejecutar programas en las computadoras cuánticas en la nube de IBM. En un artículo de seguimiento, discutiremos algunas aplicaciones aplicadas al aprendizaje automático, estas aplicaciones pueden ser utilizadas por personas con curiosidad.

¿Qué es una computadora cuántica?

Primero, hablemos de la computación cuántica y de lo que puede esperar de esta tecnología. Encontrará que los chips de la computadora dentro del teléfono, computadora portátil o tableta están hechos de silicio. Una de las técnicas más comunes es usar una técnica especial de litografía basada en luz para grabar micro patrones en chips de silicio. Estos pequeños patrones nos permiten transmitir electrones (corriente) a través de chips de silicio de manera controlada. En la actualidad, hemos alcanzado el límite físico que estos pequeños patrones pueden alcanzar. Ahora podemos crearlos efectivamente en grandes cantidades con precisión nanométrica. Una arquitectura típica es de aproximadamente 10 nanómetros y de 20 a 50 átomos.

Existen tecnologías que pueden manipular con mayor precisión un solo átomo, y actualmente podemos crear arquitecturas más pequeñas de las que normalmente se encuentran en computadoras o teléfonos. Pero este proceso de fabricación es más lento, por lo que es más difícil producir en masa estos chips mucho más pequeños a escala atómica. Al construir chips de computadora con características tan pequeñas, la dificultad que encontramos es el comportamiento cuántico de electrones y átomos. Los electrones tienen dualidad onda-partícula, lo que significa que, en algunos casos, los electrones se comportan como ondas, no como partículas, por lo que si el patrón grabado es demasiado pequeño, se limitará al pequeño patrón grabado en el chip de silicio. Para ser más difícil. Se produce la "difusión" de electrones y la fuga de electrones (efecto de túnel cuántico), que hace que parte de la corriente fluya a través de pequeños canales en el chip de silicio. Esta fuga significa que el chip no puede alcanzar el rendimiento esperado, y el comportamiento de los electrones como ondas se convertirá en un problema. Esto a menudo se conoce como la "muerte de la Ley de Moore", y representa el estancamiento en el crecimiento del rendimiento de las computadoras que hemos esperado en las últimas décadas. Si está apostando a la suposición de que el mercado continúa creciendo, entonces esto será un gran problema, ya que existen limitaciones físicas en el tamaño y la eficiencia de los chips de computadora.

La computación cuántica tiene como objetivo utilizar este "problema" de la mecánica cuántica como una ventaja computacional al usarla para procesar información de una manera diferente de los 1 y 0 binarios que son comunes en nuestros teléfonos móviles y computadoras portátiles. Una forma útil de las computadoras cuánticas es como un ASIC (circuito integrado específico de la aplicación), que no es exacto, pero no es una mala analogía. Piense en ello como un chip de computadora especial que puede realizar ciertos tipos de cálculos de manera más eficiente que los chips de silicio estándar. Echemos un vistazo a la representación de unidades de cálculo básicas en QISKit.

Estados cuánticos en QISKit

Primero, necesita descargar Anaconda gratis para poder usar Jupyter Lab. Después de descargar Anaconda, abra la instancia de Jupyter Lab en la navegación de Anaconda. Para instalar QISKit, solo necesita usar pip en el cuaderno Jupyter o Jupyter Lab.

A continuación, debe importar las bibliotecas qiskit y matplotlib.


Ahora, si desea dibujar el estado "Spin-Up" en Bloch Sphere, puede escribir el siguiente comando:

Podemos usar el siguiente comando para dibujar el estado "Girar hacia abajo" del qubit.

En general, los estados qubit ya no se limitan a simples 0s o 1s (bits binarios clásicos), los qubits pueden estar en un número infinito de estados. Cada estado se puede representar como un punto en la esfera Bloch. Spin-Up corresponde al estado 0, Spin-Down corresponde al estado 1, pero los qubits también pueden estar en una combinación de estos dos estados. Cada punto en la esfera de Bloch, como las coordenadas en la superficie de la tierra, representa un estado de qubit único. La característica de que los qubits tienen un número infinito de estados diferentes está relacionada con el concepto de "estado de superposición" en la mecánica cuántica. Por ejemplo, el siguiente estado en la bola Bloch es una mezcla homogénea del estado 0 y el estado 1, por lo que está en un estado superpuesto de estos dos estados.

Esta posición "Girar a la derecha" se expresa como "estado superpuesto",


O una "combinación lineal" del estado 0 y el estado 1. Si no comprende la expresión de álgebra lineal, no importa. Ahora, si queremos operar en un solo qubit en el estado Spin-Up (o estado 0) y voltearlo a Spin-Down (o estado 1), podemos usar la puerta NOT. La puerta NOT o "puerta Pauli X" es una puerta de lógica cuántica. Las puertas lógicas cuánticas son similares en concepto a las puertas lógicas clásicas, pero no son exactamente las mismas. Sus operaciones en qubits son muy similares a las operaciones que las puertas lógicas clásicas pueden realizar en bits, pero siempre son reversibles y se representan mediante la multiplicación de matrices de identidad. Podemos crear un circuito cuántico en QISKit de la siguiente manera:


Ahora, si desea utilizar una puerta NOT para operar en un único cuanto, puede usar el siguiente código en QISKit.


Luego, podemos definir un dispositivo para ejecutar el circuito.

Finalmente, podemos generar el vector de estado obtenido ejecutando el circuito.


Esto muestra que hemos convertido el estado qubit en Spin-Down, que es la idea básica de los algoritmos cuánticos. En artículos posteriores, estudiaremos cómo implementar estas puertas de lógica cuántica en el hardware real. También se puede hacer con el software de IBM, y se pueden programar los pulsos de microondas de los chips de computadora cuánticos.
Autor Amelie Schreiber

Si desea ver algunos tutoriales que introducen el conocimiento matemático detrás de los algoritmos cuánticos, los principios matemáticos detrás de la computación cuántica. Presta atención al número público y obtén la dirección github de este artículo:

43 artículos originales publicados · Me gusta 104 · Visita 120,000+

Supongo que te gusta

Origin blog.csdn.net/m0_46510245/article/details/105593074
Recomendado
Clasificación