2011-01-04 1 views
27

Mentre siamo in attesa per i nostri computer quantistici, è possibile scrivere un software di simulazione di uno? Sospetto che la risposta sia no, ma spero che le ragioni per non faranno luce sul mistero.simulazione software di un computer quantistico

+2

Se siete ancora alla ricerca di esso, uno di questi simulatore realizzato da ingegneri di Google la notizia recente: http://qcplayground.withgoogle.com/#/home Quantiki mantiene anche una lista http: //www.quantiki.org/wiki/List_of_QC_simulators – nha

+0

Il simulatore di Google utilizza la GPU per eseguire i calcoli (e, naturalmente, per visualizzare i risultati). Abbastanza pulito per una web app IMHO :) –

+0

Forse questa è la soluzione al tuo problema http://tph.tuwien.ac.at/~oemer/qcl.html – Asar

risposta

1

Anni fa ho partecipato ad un discorso ad una conferenza Perl dove Damian Conway (credo) è stato speculando su una parte di questo. Un po 'più tardi è stato reso disponibile un modulo Perl che ha fatto parte di questa roba. Cerca CPAN per Quantum :: Superposizioni.

12

L'implementazione non è così difficile. Il problema è che la complessità computazionale e della memoria è esponenziale nel numero di bit quantistici che si desidera simulare.

Fondamentalmente un computer quantistico opera su tutti i possibili n-bit stati contemporaneamente. E quelli crescono come 2^n.

Le dimensioni di un operatore cresce ancora più veloce dato che è una matrice. Quindi cresce come (2^n)^2 = 2^(2 * n) = 4^n

Quindi mi aspetto un buon computer in grado di simulare un computer quantico fino a circa 20 bit, ma sarà essere piuttosto lento

8

Esiste. Here's uno basato su browser. Here's uno scritto in C++. Here's uno scritto in Java. Ma, come affermato da CodesInChaos, un computer quantistico opera su tutte le ampiezze di probabilità contemporaneamente. Quindi immagina un registro quantico a 3 qubit, uno stato tipico in modo che assuma questo aspetto:

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

E 'una sovrapposizione di tutte le possibili combinazioni. Quel che è peggio è che quelle ampiezze di probabilità sono numeri complessi. Quindi un registro di n-qubit richiederebbe 2^(2 * n) numeri reali. Quindi per un registro a 32 qubit, questo è 2^(2 * 32) = 18446744073709551616 numeri reali.

E come detto CodesInChaos, le matrici unitarie utilizzati per trasformare quegli stati sono che il numero quadrato. La loro applicazione è un prodotto puntino ... Sono computazionalmente costosi, per non dire altro.

1

Come Wikipedia Stato:

un computer classico potrebbe in linea di principio (con risorse esponenziale) simulare un algoritmo quantistico, come la computazione quantistica non viola la tesi di Church-Turing.

0

Quipper è pieno EDSL simulazione soffiato per Quantum Computing, implementato in Haskell ho experince per simulare il comportamento di diversi algoritmi di controllo di qualità, come Deutsch, Deutsch-Jozsa, Simon, gli algoritmi di Shor ed è molto semplice.

0

Un'altra ragione per cui la simulazione classica della computazione quantistica è difficile: per tenere traccia che si potrebbe voler sapere dopo ogni azione di un cancello n-qubit (n> 1) se i qubit uscenti sono impigliati o meno. Questo deve essere calcolato classicamente, ma è noto per essere NP-hard.

vedere qui: https://stackoverflow.com/a/23327816/363429

0

Ancora un altro motivo per cui la simulazione classica della computazione quantistica è difficile: è necessario quasi perfetto - vale a dire il più perfetto possibile - generatori di numeri casuali per simulare la misurazione.

0

Esiste un elenco molto vasto di lingue, framework e simulatori. Alcuni simulano a livello basso le equazioni quantistiche, altre solo le porte.

  • Microsoft Quantum Development Kit
  • Microsoft Liqui> IBM Quantum Experience
  • Rigetti Foresta
  • ProjectQ
  • QuTiP
  • OpenFermion
  • Qbsolv
  • ScaffCC
  • Quantum Com Puting Playground (Google)
  • Raytheon BBN
  • Quirk
  • Foresta

Sarebbe bello conoscere le vostre opinioni sulle loro capacità e facilità di utilizzo.

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