2011-01-04 11 views
27

Mientras esperamos nuestras computadoras cuánticas, ¿es posible escribir una simulación de software de una? Sospecho que la respuesta es no, pero espero que las razones por las que no arrojen alguna luz sobre el misterio.Simulación de software de una computadora cuántica

+2

Si todavía está en busca de ella, un tal simulador realizado por los ingenieros de Google las noticias recientemente: http://qcplayground.withgoogle.com/#/home Quantiki también mantiene una lista http: //www.quantiki.org/wiki/List_of_QC_simulators – nha

+0

El simulador de Google usa la GPU para realizar los cálculos (y, por supuesto, para mostrar los resultados). Bastante limpio para una aplicación web IMHO :) –

+0

Tal vez esta es la solución a su problema http://tph.tuwien.ac.at/~oemer/qcl.html – Asar

Respuesta

1

Hace años asistí a una conferencia en una conferencia de Perl donde Damian Conway (creo) estaba especulando sobre algo de esto. Un poco más tarde hubo un módulo de Perl disponible que hizo algunas de estas cosas. Buscar CPAN para Quantum :: Superpositions.

12

Implementarlo no es tan difícil. El problema es que la complejidad computacional y de la memoria es exponencial en la cantidad de bits cuánticos que desea simular.

Básicamente, una computadora cuántica opera en todos los posibles estados de n bits a la vez. Y esos crecen como 2^n.

El tamaño de un operador crece aún más rápido ya que es una matriz. Así que crece como (2^n)^2 = 2^(2 * n) = 4^n

Así que espero que una buena computadora pueda simular una computadora cuántica de hasta 20 bits, pero lo hará ser bastante lento

8

Existen. Here's basado en navegador. Here's uno escrito en C++. Here's uno escrito en Java. Pero, como lo indica CodesInChaos, una computadora cuántica opera en todas las amplitudes de probabilidad a la vez. Imagine un registro cuántico de 3 qubits, un estado típico para que se vea así:

a1 | 000> + a2 | 001> + a3 | 010> + a4 | 011> + a5 | 100> + a6 | 101> + a7 | 110> + a8 | 111>

Es una superposición de todas las combinaciones posibles. Lo que es peor es que esas amplitudes de probabilidad son números complejos. Entonces, un registro n-qubit requeriría 2^(2 * n) números reales. Entonces, para un registro de 32 qubits, eso es 2^(2 * 32) = 18446744073709551616 números reales.

Y como dijo CodesInChaos, las matrices unitarias utilizadas para transformar esos estados son ese número al cuadrado. Su aplicación es un producto escalar ... Son computacionalmente costosos, por decir lo menos.

1

Como Wikipedia Estado:

Un ordenador clásico podría, en principio (con recursos exponenciales) simular un algoritmo cuántico, como la computación cuántica no viola la tesis de Church-Turing.

0

Quipper está lleno EDSL simulación de soplado para la computación cuántica, implementado en Haskell tengo experincia para simular el comportamiento de varios algoritmos de control de calidad, tales como Deutsch, Deutsch-Jozsa, Simón, algoritmos de Shor y es muy sencillo.

0

Otra razón por la simulación clásica de la computación cuántica es difícil: seguir la pista es posible que desee saber después de cada acción de una puerta de n-qubit (n> 1) si los qubits salientes están enredados o no. Esto debe calcularse de forma clásica, pero se sabe que es NP-hard.

Ver aquí: https://stackoverflow.com/a/23327816/363429

0

Sin embargo, otra razón por la simulación clásica de la computación cuántica es difícil: se necesita casi perfecta - es decir, lo más perfecto posible - generadores de números aleatorios para simular la medición.

0

Hay una lista muy grande de idiomas, marcos y simuladores. Algunos simulan a bajo nivel las ecuaciones cuánticas, otras solo las puertas.

  • Microsoft Quantum Kit de desarrollo de Microsoft
  • Liqui> IBM Quantum Experiencia
  • Rigetti Bosque
  • ProjectQ
  • QuTiP
  • OpenFermion
  • Qbsolv
  • ScaffCC
  • Quantum Com Puting Parque infantil (Google)
  • Raytheon BBN
  • Quirk
  • Bosque

Sería muy bueno saber sus opiniones sobre su capacidad y facilidad de uso.

https://quantumcomputingreport.com/resources/tools/ https://github.com/topics/quantum-computing?o=desc&s=stars

Cuestiones relacionadas