Cómo hacer un simulador de computadora cuántica

Si puede simular todo lo que puede hacer una computadora cuántica, entonces se convertiría efectivamente en una computadora cuántica. El problema es que surgirán demasiados estados en los cálculos, los estados aumentan exponencialmente, por lo que no puede simularlos en el tiempo finito y la memoria que tiene incluso en la mejor supercomputadora.

Trabajé en Quantum Network Simulator durante mi pasantía en el Centro de tecnología cuántica en NUS. En realidad, no simulamos los comportamientos cuánticos, sino que simulamos los protocolos, por ejemplo, cómo un nodo aceptará teletransportar un qubit, qué sucederá cuando se reciban múltiples solicitudes a la vez, cómo encontrar la ruta de enrutamiento, cómo administrar recursos, etc. etc. Pero no simulamos los cálculos que ocurren en los nodos para crear enredos, necesitamos una computadora cuántica real para eso.

Si desea trabajar en un simulador, debe tenerlos en cuenta. Puede intentar simular una arquitectura de computadora cuántica, cómo los componentes interactuarán entre sí, cuál será el protocolo para la transferencia de datos, etc. Intente discutir con un experto.

Personalmente, como un principiante completo, he encontrado el QC Playground de Google bastante divertido: Quantum Computing Playground (código fuente: gwroblew / Quantum-Computing-Playground).

Está basado en WebGL (tanto para computación como para visualización de estado), y funciona en su navegador. Lamentablemente, creo que es defectuoso, y las operaciones de medición no se “ondulan” correctamente a través de sistemas enredados: no he podido hacer que la teletransportación funcione. Sin embargo, tiene implementaciones de ejemplo de la búsqueda de Grover y los algoritmos de factorización de Shor que funcionan.

El lenguaje y el simulador (y la impresora de circuito, y el controlador de control de calidad real si tiene uno por ahí) que me ha recomendado un investigador de control de calidad es Quipper, que es una variante de Haskell. Probablemente debería consultar Una Introducción a la Programación Cuántica en Quipper y Cinco Algoritmos Cuánticos con Quipper (enlace de descarga en el lado derecho, dice “PDF”).

Si aún no conoces a Haskell, aunque no necesites mucho, probablemente deberías ir a ¡Aprende Haskell por un gran bien !.

PD: Perdón por no responder completamente la parte de hacer un simulador … AFAIK implica construir un sistema de probabilidades, luego usar un generador de números aleatorios cuando se solicitan mediciones, pero esto es solo una computadora probabilística, no cuántica. Tiene que haber alguna retroalimentación en un simulador real, y esta es probablemente la parte computacionalmente costosa.

Chelsea Voss del MIT creó un simulador de 5 qubits: http://quantummechanic.xvm.mit.edu:8000/