Cómo comenzar en la programación de computación cuántica

Afortunadamente, aprender a programar una computadora cuántica es (1) mucho más fácil que construir una y (2) mucho más fácil que aprender también la mayoría de la mecánica cuántica.

La razón de (1) es la misma razón por la que es más fácil programar una computadora clásica que construir una. La mayoría de los programadores de computadoras no podrán explicarte la física de los semiconductores, pero son muy competentes para escribir programas que finalmente dependen de la física de los semiconductores. Trabajan en un nivel más alto de abstracción.

La razón de (2) es que la computación cuántica trata con un subconjunto muy simple de mecánica cuántica. Un qubit es el sistema mecánico cuántico no trivial más simple que existe (es decir, es bidimensional). Y con múltiples qubits, solo se trata de sistemas de dimensiones finitas. Además, los estados cuánticos se manipulan utilizando puertas cuánticas (que son simplemente transformaciones lineales unitarias) en lugar de hamiltonianos, por lo que no tiene que resolver la ecuación de Schrodinger para comprender cómo evolucionan sus qubits. Y finalmente, la gran razón: la mayor parte de la dificultad de la mecánica cuántica es aprender a modelar sistemas reales usándola. Este es un arte que lleva años desarrollar. Afortunadamente, esto no es parte de la computación cuántica. Le entregan un modelo de cómo funciona una computadora cuántica y simplemente lo usa.

Mi punto es que aprender computación cuántica no es tan desalentador como parece. Todo lo que requiere es comprender algunos conceptos básicos de álgebra lineal (por ejemplo, qué es un vector en sentido abstracto, qué son las transformaciones lineales, qué base es, cuál es el producto interno, etc.) y algunos conceptos básicos de la mecánica cuántica (por ejemplo, sistemas físicos están modelados por vectores en un espacio vectorial con una dimensión igual al número de estados distinguibles del sistema, cuando se realiza una medición, el vector de estado “colapsa” a uno de los estados base con una probabilidad igual al cuadrado de la amplitud de ese estado , etc.)

Una vez que sepa esto, puede comenzar a leer algunos algoritmos específicos (por ejemplo, Grover’s y Shor’s) y aprender a utilizar un sistema específico (por ejemplo, IBM Quantum Experience).

Hice algunos videos que no suponen antecedentes con nada de esto y lo guían a través de una comprensión rigurosa del algoritmo de Grover. Nada de eso es terriblemente difícil, solo lleva un poco de tiempo. Pero infinitamente menos que aprender mecánica cuántica “completa”, lo cual sería un requisito previo para construir una computadora cuántica.

Pruebe este enlace que muestra cómo utilizar IBM Q SDK [1]. Hay todo en Python, así que creo que estarás bien. Bien, pero primero debes estar familiarizado con los conceptos de computación cuántica, descarga el siguiente libro [2]. El propósito de este libro es hacer que esta emocionante área de investigación sea accesible para una audiencia amplia. Una ventaja de tratar solo con la teoría, y no con los esfuerzos para construir computadoras cuánticas, es que se reduce la cantidad de física cuántica y apoyo matemático necesario. Deberías poder desarrollar toda la mecánica cuántica necesaria dentro del libro. Lea el libro lentamente e intente sacar todo lo que pueda de él, asegúrese de conocer las computadoras cuánticas por dentro y por fuera. Las computadoras cuánticas son un tipo nuevo y extraño de computadora. Queman a través de un número impensable de universos paralelos para ejecutar programas más rápido, y usan principios que confundieron incluso a Einstein. Son las cajas mágicas milagrosas que dejarán tus estúpidas cajas de transistores en el polvo. ¡Ciertamente no es algo para que el público en general se preocupe! No creo que esto sea cierto en absoluto. Y con compañías como IBM y Google que realmente fabrican dispositivos cuánticos, ahora es el momento de comenzar a jugar con la programación cuántica. No te rindas y ve a comenzar tu viaje. Pruebe el siguiente SDK de IBM Q Python [3].

Notas al pie

[1] http: // Cómo programar un cuanto …

[2] http://dlx.b-ok.org/genesis/8570

[3] IBM / qiskit-sdk-py

En caso de que sea de alguna utilidad para usted, aquí hay algunas notas que he hecho en mi índice anotado de números pasados ​​de la revista New Scientist (NS) sobre el tema:

El Centro de Nanociencia e Información Cuántica, de la Universidad de Bristol, se ha convertido en el primer establecimiento en poner la computación cuántica a disposición del público a través de Internet (NS, 30-nov-2013, p10). De hecho, el Reino Unido tiene como objetivo, a través del programa Quantum UK, para 2020, haber construido una red paralela de veinte computadoras cuánticas de 20 qubits (P20: 20) y tener una red QKD Bristol-Londres-Cambridge (NS, 17-oct) -2015, p10). IBM también ha puesto a disposición de los usuarios un dispositivo basado en superconductor de 5 qubits a través de Internet (NS, 13 de agosto de 2016, p14).

(Tenga en cuenta, sin embargo, que no he probado ninguna de estas redes).

Si tiene que preguntar, entonces es demasiado avanzado para usted.

Pertenece con los científicos en sus laboratorios por ahora.