¿Hay alguna forma de ejecutar programas simples de computación cuántica en una PC?

Libquantum, un simulador escrito en C ++, era parte de la suite de pruebas SPEC 2006 utilizada para evaluar el rendimiento de un solo hilo en las computadoras. Si bien este simulador puede hacer muchas cosas, en la suite SPEC simuló el algoritmo de factorización numérica de Shor. Esto puede parecer sorprendente. Los puntos de referencia de b / c SPEC normalmente deberían probar las computadoras en cargas de trabajo típicas, y es poco probable que muchas personas (incluidas las corporaciones buy comprarían hardware principalmente para simular la factorización de números cuánticos. Pero, creo que este ejemplo responde a su pregunta 😉

Ah, y mis alumnos desarrollaron un simulador, llamado QuIDDPro, que tiene una interfaz similar a Matlab e incluye implementaciones de varios algoritmos cuánticos. La página web explica cómo solicitar un binario de Linux. En algunos casos, QuIDDPro usa exponencialmente menos memoria que otros simuladores. Si está específicamente interesado en la factorización numérica de Shor, Libquantum (o cualquier simulador optimizado para este algoritmo) será más rápido y todos los simuladores razonablemente rápidos “explotarán” en términos de uso de memoria.

Puede aprender cómo programar computadoras D-Wave reales (en Python) siguiendo la guía oficial de inicio aquí: D-Wave, The Quantum Computing Company

Las computadoras D-Wave son lo más parecido a las computadoras cuánticas “reales” que operan en la naturaleza y, por lo tanto, dejando de lado si son completamente cuánticas, programarlas se acerca bastante a la programación de la cosa real.

Aquí hay un humilde complemento para mi propio código para simular la computación cuántica adiabática (lo que Debo mencionó en su respuesta). No es universal porque no puede realizar operaciones de qubit arbitrarias, pero es útil porque simula directamente lo que hace el chip D-Wave (sin ruido). En principio, no debería ser difícil extender el código para que sea universal si así lo desea, solo cambie el Hamiltoniano.

Aquí está el enlace: hadsed / AdiaQC.

Hay problemas de prueba que proporcionan respuestas correctas para un algoritmo de red neuronal, un cierto problema gráfico que se utilizó para probar firmas de recocido cuántico en la máquina D-Wave y una instancia clásica de problema QUBO, todo lo cual da las respuestas esperadas. Mi computadora portátil tiene 4 GB de RAM y puedo simular 20 qubits (que en realidad está cerca del máximo posible si solo cuenta los rangos de vectores de Hamilton y estatales).

Existen varios simuladores de computadora cuánticos. Por supuesto, son muy lentos, ya que no simulan algoritmos cuánticos polinómicos en tiempo polinómico.

Un buen ejemplo es jQuantum. Simula la implementación de circuitos cuánticos en un pequeño registro cuántico. No es realmente un lenguaje, sino un simulador de circuito que le permite construir su propia computadora cuántica.

jQuantum Quantum Computer Simulation

Si no desea construir su propia computadora cuántica pero para probar algunos algoritmos en una computadora cuántica, puede usar QCL (lenguaje de computación cuántica). Es una programación de alto nivel con la sintaxis de un lenguaje de procedimiento clásico.

QCL: un lenguaje de programación para computadoras cuánticas

Quantum Computing Playground puede simular eficientemente registros cuánticos de hasta 22 qubits, ejecutar los algoritmos de Grover y Shor, y tiene una variedad de puertas cuánticas integradas en el lenguaje de script.

Quantum Computing Playground: un experimento WebGL Chrome basado en navegador.