Esistono emulatori per computer quantistici?


64

Esiste un modo per emulare un computer quantistico nel mio computer normale, in modo da poter testare e provare linguaggi di programmazione quantistica (come Q # )? Intendo qualcosa che posso davvero testare la mia ipotesi e ottenere i risultati più accurati.

Aggiornamento: non sto davvero cercando di simulare un computer quantistico, ma non sono sicuro se sia possibile emularlo in modo efficiente su un normale PC non quantistico.


Risposte:


39

Sì, è possibile (ma lento). Esistono un paio di emulatori esistenti (questo è solo un elenco parziale):

  • QDD: una libreria di emulazione di computer quantistica

    QDD è una libreria C ++ che fornisce un insieme relativamente intuitivo di costrutti di calcolo quantistico nel contesto dell'ambiente di programmazione C ++. Il QDD è unico in quanto l'emulazione del calcolo quantistico si basa su una rappresentazione del diagramma binario di decisione (BDD) dello stato quantico.

  • jQuantum

    jQuantum è un programma che simula un computer quantistico. È possibile progettare circuiti quantistici con esso e lasciarli funzionare. Viene illustrato lo stato corrente del registro quantistico.

  • QCE

    QCE è uno strumento software che emula vari progetti hardware di computer quantistici. QCE simula i processi fisici che regolano il funzionamento di un processore quantistico hardware, rigorosamente secondo le leggi della meccanica quantistica. QCE fornisce anche un ambiente per il debug e l'esecuzione di algoritmi quantistici in condizioni sperimentali realistiche.

(Inoltre, Q # funziona solo con MS QDK , grazie @Pavel)

L'aspetto negativo di tutti questi è semplice: funzionano ancora su circuiti binari (non quantici). Per quanto ne so, non esiste un computer quantistico facilmente accessibile da utilizzare per eseguire queste cose. E poiché sono necessari più bit binari per esprimere un singolo qubit, la quantità di potenza computazionale necessaria per simulare un programma quantistico aumenta molto rapidamente.

Citerò un articolo sull'argomento ( J. Allcock, 2010 ):

La nostra valutazione mostra che le nostre implementazioni sono molto accurate, ma allo stesso tempo utilizziamo una quantità significativa di memoria aggiuntiva per raggiungere questo obiettivo. Ridurre i nostri obiettivi di precisione ci consentirebbe di ridurre le dimensioni della rappresentazione e quindi emulare più qubit con la stessa quantità di memoria.

p 89, sezione 5.1

Man mano che le nostre implementazioni diventano più precise, diventano anche più lente.

TL; DR: è possibile e alcuni emulatori esistono, ma nessuno è molto efficiente per grandi quantità di qubit.


Si noti che nessuno di questi emulatori può (attualmente) essere utilizzato da Q #, che funziona solo con il QDK di Microsoft.
Pavel

3
Oltre a quello che hai detto: Esistono modi programmatici per eseguire codice su IBM Quantum Experience che fornisce computer quantistici reali, non codice Q #, ma QASM. QISKit è la strada da percorrere qui. github.com/QISKit
blalasaadri

Quello che hai detto ha senso perché la simulazione viene eseguita su un computer. Ma è possibile raggiungere la stessa velocità se si utilizzano più computer?
Calendario iOS patchthecode.com il

26

Sì, è possibile simulare un computer quantistico su un normale computer - Ma molto probabilmente dovrai sacrificare l'efficienza.

2nn


risorse

Potresti essere interessato a Q # come indicato in altre risposte. Alcuni altri emulatori:

  • Parco giochi per computer quantistico

    Quantum Computing Playground è un esperimento Chrome WebGL basato su browser. È dotato di un computer quantistico con accelerazione GPU con una semplice interfaccia IDE e un proprio linguaggio di scripting con funzionalità di debug e visualizzazione dello stato quantico 3D. Quantum Computing Playground può simulare in modo efficiente registri quantistici fino a 22 qubit, eseguire algoritmi di Grover e Shor e ha una varietà di porte quantistiche integrate nel linguaggio di script stesso.

  • QX Simulator

    QX Simulator è un simulatore quantistico universale per computer sviluppato da Nader Khammassi su QuTech. Il QX consente ai progettisti di algoritmi quantistici di simulare l'esecuzione dei loro circuiti quantistici su un computer quantistico. Il simulatore definisce un linguaggio di assemblaggio quantico di basso livello, vale a dire il codice quantico, che consente agli utenti di descrivere i loro circuiti in un semplice file di codice sorgente testuale. Il file del codice sorgente viene quindi utilizzato come input del simulatore che esegue il suo contenuto.

  • Quantum ++

    Quantum ++ è una moderna libreria di calcolo quantistico C ++ 11 per uso generico, composta esclusivamente da file di intestazione del modello. Quantum ++ è scritto nello standard C ++ 11 e ha dipendenze esterne molto basse, usando solo la libreria di modelli di sola intestazione di algebra lineare Eigen 3 e, se disponibile, la libreria di multi-elaborazione OpenMP.

  • Linguaggio informatico quantistico

    Nonostante molti concetti comuni con l'informatica classica, l'informatica quantistica è ancora ampiamente considerata come una disciplina speciale all'interno del vasto campo della fisica teorica. [...] QCL (Quantum Computation Language) cerca di colmare questa lacuna: QCL è un linguaggio di programmazione di alto livello indipendente dall'architettura per computer quantistici, con una sintassi derivata da linguaggi procedurali classici come C o Pascal. Ciò consente l'implementazione e la simulazione complete di algoritmi quantistici (compresi i componenti classici) in un formalismo coerente.

  • Emulatori più pertinenti sono disponibili su Quantiki


21

Sì, è possibile simulare calcoli quantistici su un computer classico. Ma il costo delle simulazioni aumenta esponenzialmente con il conteggio dei qubit e / o la profondità del circuito e / o con conteggi di operazioni particolari.

Per provare rapidamente le idee, il mio simulatore Quirk è fantastico. È un simulatore di circuiti quantici drag-and-drop open source che viene eseguito nel tuo browser web. Puoi accedere a una versione live all'indirizzo algassert.com/quirk .

Ecco uno screenshot del circuito Grover di esempio di Quirk, che è dotato di display a stato intermedio per tenere traccia dello stato "nascosto" che diventa più probabile:

Schermata di Quirk


16

Se stai guardando in particolare Q #, allora è super facile da usare con un emulatore - in effetti, non è possibile avere Q # ma non avere l'emulatore, sono raggruppati insieme.

Per iniziare, devi prima scaricare .NET Core dal sito Web di Microsoft .

Quando si scarica il Quantum Development Kit di dotnet new -i "Microsoft.Quantum.ProjectTemplates::0.2-*"Microsoft attraverso o il sito Web di Microsoft, scarica sia la lingua che l'emulatore di Microsoft insieme.

La creazione di un nuovo progetto Q # ( dotnet new console -lang Q#) lo configurerà automaticamente per l'utilizzo dell'emulatore, quindi quando si digita un Q # ed si esegue il progetto "funziona".


3

Sì. Se lo costruisci da solo, trova un computer di terze parti con le stesse specifiche della serie BullSequana M9600, o ottieni 100.000 € + e acquista un sistema da Atos.

Notare la somiglianza tra la serie BullSequana M9600 e Atos QLM . Atis QLM vs. M9600

Stessa scatola (e probabilmente componenti interni) con software diverso (ma volevi usare il tuo Q #). Atos afferma: "Il simulatore quantistico più performante al mondo". Non ne sono sicuro, ma le specifiche per la versione da 30 qubit sono raggiungibili, solo due CPU Intel e 1 TB di memoria.

Brochure Atos QLM .PDF .

Esiste un modo per emulare un computer quantistico nel mio computer normale , in modo da poter testare e provare linguaggi di programmazione quantistica (come Q #)?

Se si usa solo 256 GB di memoria e 1-24TB di Swap drive sarà lento ma sarà funzionerà.

Intendo qualcosa su cui posso davvero verificare la mia ipotesi e ottenere i risultati più accurati .

Citazione dalla brochure:

"L'Atos Quantum Learning Machine calcola l'esatta esecuzione di un programma quantico, con precisione a doppia cifra. Simula le leggi della fisica , che sono al centro dell'informatica quantistica. Questo è molto diverso dai processori quantistici esistenti, che soffrono di quantum rumore, decoerenza quantistica e distorsioni della produzione, nonché colli di bottiglia delle prestazioni. La simulazione sulla macchina di apprendimento quantistica Atos consente agli sviluppatori di concentrarsi sulle loro applicazioni e algoritmi, senza dover attendere la disponibilità di macchine quantistiche ".

Sostengono un'elevata precisione, dal momento che è un simulatore non è soggetto a rumore, né sarà veloce o costoso. In teoria potresti aggiungere memoria, unità e software al tuo computer ...


3

Penso che una bella "panoramica" sull'argomento sia disponibile su: Quantiki

Hanno un elenco di simulatori quantistici di computer in diverse lingue, alcuni dei simulatori sono stati citati qui prima. Tuttavia, mantengono un elenco che aggiornano per informare (o tentare di informare) dello stato del progetto. Ci sono alcune "librerie" come:

Haskell

qchas (qchas: una libreria per l'implementazione di algoritmi quantistici) - Una libreria utile per l'implementazione di algoritmi quantistici. Contiene definizioni di Quantum Gates, Qubits.

Pitone

qubiter : il progetto Qubiter mira a fornire infine una suite completa di strumenti, scritti principalmente in Python, per la progettazione e la simulazione di circuiti quantistici su computer classici.

Javascript

jsqis : jsqis, al suo interno, è un simulatore di computer quantistico scritto in Javascript. Permette l'inizializzazione dei registri quantistici e la loro manipolazione mediante porte quantistiche.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.