Un'introduzione al Quantum Computing con Open Source Cirq Framework

Poiché il titolo suggerisce quello che stiamo per iniziare a discutere, questo articolo è uno sforzo per capire quanto siamo arrivati ​​in Quantum Computing e dove siamo diretti nel campo per accelerare la ricerca scientifica e tecnologica, attraverso una prospettiva Open Source con Cirq.

Per prima cosa, ti presenteremo al mondo di Quantum Computing. Faremo del nostro meglio per spiegare l'idea alla base dello stesso prima di esaminare come Cirq avrebbe svolto un ruolo significativo nel futuro del Quantum Computing. Cirq, come avrete sentito parlare di recente, ha fatto notizia sul campo e in questo articolo di Open Science, cercheremo di scoprire perché.

Prima di iniziare con il Quantum Computing, è essenziale conoscere il termine Quantum, cioè una particella subatomica che si riferisce alla più piccola entità nota. La parola Quantum è basata sulla parola latina Quantus, che significa "quanto poco", come descritto in questo breve video:

Sarà più facile per noi capire il Quantum Computing confrontandolo prima con il Classico. Il calcolo classico si riferisce a come i computer convenzionali di oggi sono progettati per funzionare. Il dispositivo con cui stai leggendo questo articolo in questo momento, può anche essere indicato come un dispositivo di calcolo classico.

Informatica classica

Il calcolo classico è solo un altro modo per descrivere come funziona un computer convenzionale. Funzionano tramite un sistema binario, cioè, le informazioni vengono memorizzate utilizzando 1 o 0. I nostri computer Classici non possono comprendere altre forme.

In termini letterali all'interno del computer, un transistor può essere acceso (1) o spento (0). Qualunque informazione forniamo, viene tradotta in 0 e 1, in modo che il computer possa comprendere e memorizzare tali informazioni. Tutto è rappresentato solo con l'aiuto di una combinazione di 0 e 1.

Quantum Computing

D'altro canto, il Quantum Computing non segue un modello "acceso o spento" come il classico calcolo. Al contrario, può gestire simultaneamente più stati di informazioni con l'aiuto di due fenomeni chiamati sovrapposizione e entanglement, accelerando così il calcolo a un ritmo molto più veloce e facilitando anche una maggiore produttività nello storage delle informazioni.

Si noti che la sovrapposizione e l'entanglement non sono gli stessi fenomeni.

Quindi, se abbiamo dei bit nel calcolo classico, nel caso del calcolo quantico, avremmo invece dei qubit (o bit quantici). Per saperne di più sulla grande differenza tra i due, controlla questa pagina da dove è stata ottenuta la foto di cui sopra per la spiegazione.

I computer quantistici non sostituiranno i nostri computer classici. Ma ci sono alcuni compiti enormi che i nostri computer classici non saranno mai in grado di realizzare e che è il momento in cui i computer Quantum si dimostreranno estremamente intraprendenti. Il seguente video descrive lo stesso in dettaglio mentre descrive anche come funzionano i computer Quantum:

Un video completo sui progressi in Quantum Computing finora:

Quantum intermedio rumoroso

Secondo il recente documento di ricerca aggiornato (31 luglio 2018), il termine "Noisy" si riferisce a inesattezza a causa della produzione di un valore errato causato da un controllo imperfetto su qubit. Questa inaccuratezza è il motivo per cui ci saranno serie limitazioni su ciò che i dispositivi Quantum possono ottenere nel breve termine.

"Scala intermedia" si riferisce alle dimensioni dei computer quantistici che saranno disponibili nei prossimi anni, dove il numero di qubit può variare da 50 a poche centinaia. 50 qubits è una pietra miliare significativa perché è oltre ciò che può essere simulato dalla forza bruta usando i supercomputer digitali esistenti più potenti. Leggi di più nel documento qui.

Con l'avvento di Cirq, molto sta per cambiare.

Cos'è Cirq?

Cirq è un framework python per creare, modificare e richiamare circuiti Noisy Intermediate Scale Quantum (NISQ) di cui abbiamo appena parlato. In altre parole, Cirq può affrontare le sfide per migliorare l'accuratezza e ridurre il rumore nel Quantum Computing.

Cirq non richiede necessariamente un Quantum Computer per l'esecuzione. Cirq può anche utilizzare un'interfaccia simile a un simulatore per eseguire simulazioni di circuiti quantistici.

Cirq sta gradualmente guadagnando molto ritmo, con uno dei suoi primi utenti Zapata, formato l'anno scorso da un gruppo di scienziati dell'Università di Harvard focalizzati su Quantum Computing.

Iniziare con Cirq su Linux

Gli sviluppatori della libreria Open Source Cirq raccomandano l'installazione in un ambiente python virtuale come virtualenv. La guida all'installazione degli sviluppatori per Linux può essere trovata qui.

Tuttavia, abbiamo installato e testato Cirq direttamente per Python3 su un sistema Ubuntu 16.04 tramite i seguenti passaggi:

Installare Cirq su Ubuntu

Innanzitutto, richiederemo pip o pip3 per installare Cirq. Pip è uno strumento consigliato per l'installazione e la gestione dei pacchetti Python.

Per le versioni di Python 3.x, Pip può essere installato con:

sudo apt-get install python3-pip 

I pacchetti Python3 possono essere installati tramite:

 pip3 install 

Siamo andati avanti e abbiamo installato la libreria Cirq con Pip3 per Python3:

 pip3 install cirq 

Abilitazione della generazione di grafici e PDF (facoltativo)

Le dipendenze del sistema opzionali non installabili con pip possono essere installate con:

 sudo apt-get install python3-tk texlive-latex-base latexmk 
  • python3-tk è la libreria grafica di Python che abilita la funzionalità di tracciamento .
  • texlive-latex-base e latexmk abilitano la funzionalità di scrittura PDF.

Successivamente, abbiamo testato Cirq con il seguente comando e codice:

 python3 -c 'import cirq; print(cirq.google.Foxtail)' 

Abbiamo ottenuto l'output risultante come:

Configurazione di Pycharm IDE per Cirq

Abbiamo anche configurato Python Python IDE su Ubuntu per testare gli stessi risultati:

Da quando abbiamo installato Cirq per Python3 sul nostro sistema Linux, impostiamo il percorso all'interprete del progetto nelle impostazioni IDE per essere:

 /usr/bin/python3 

Nell'output precedente, è possibile notare che il percorso dell'interprete di progetto appena impostato viene visualizzato insieme al percorso del file del programma di test (test.py). Un codice di uscita di 0 indica che il programma ha completato correttamente l'esecuzione senza errori.

Quindi, questo è un ambiente IDE pronto all'uso in cui è possibile importare la libreria Cirq per iniziare a programmare con Python e simulare circuiti Quantum.

Inizia con Cirq

Un buon punto di partenza sono gli esempi che sono stati resi disponibili sulla pagina Github di Cirq.

Gli sviluppatori hanno incluso questo tutorial su GitHub per iniziare con l'apprendimento di Cirq. Se siete seriamente interessati all'apprendimento del Quantum Computing, raccomandano un libro eccellente chiamato "Computazione Quantica e Informazioni Quantistiche" di Nielsen e Chuang.

OpenFermion-Cirq

OpenFermion è una libreria open source per l'ottenimento e la manipolazione di rappresentazioni di sistemi fermionici (inclusa la chimica quantistica) per la simulazione su computer quantistici. I sistemi di Fermionic sono legati alla generazione di fermioni, che secondo la fisica delle particelle, seguono le statistiche di Fermi-Dirac.

OpenFermion è stato salutato come uno strumento di grande pratica per chimici e ricercatori coinvolti nella chimica quantistica. L'obiettivo principale della Chimica Quantistica è l'applicazione della Meccanica Quantistica nei modelli fisici e negli esperimenti di sistemi chimici. La chimica quantistica è anche chiamata Meccanica quantistica molecolare.

L'avvento di Cirq ha reso possibile per OpenFermion estendere le sue funzionalità fornendo routine e strumenti per l'utilizzo di Cirq per compilare e comporre circuiti per algoritmi di simulazione Quantum.

Google Bristlecone

Il 5 marzo 2018, Google ha presentato Bristlecone, il loro nuovo processore Quantum, all'incontro annuale American Physical Society a Los Angeles. Il sistema superconduttore basato su gate fornisce una piattaforma di test per la ricerca sui tassi di errore del sistema e sulla scalabilità della tecnologia qubit di Google, insieme alle applicazioni di simulazione quantistica, ottimizzazione e apprendimento automatico.

Nel prossimo futuro, Google vuole rendere accessibile il suo cloud di processore a 72 qubit Bristlecone Quantum. Bristlecone diventerà gradualmente abbastanza capace per eseguire un compito che un supercomputer classico non sarebbe in grado di completare in un ragionevole lasso di tempo.

Cirq renderebbe più semplice per i ricercatori scrivere direttamente programmi per Bristlecone sul cloud, fungendo da interfaccia molto comoda per la programmazione e il test Quantum in tempo reale.

Cirq ci permetterà di:

  • Controllo accurato dei circuiti Quantum,
  • Specificare il comportamento del gate usando i gate nativi,
  • Posiziona i cancelli in modo appropriato sul dispositivo e
  • Pianificare i tempi di queste porte.

The Open Science Perspective on Cirq

Come tutti sappiamo Cirq è Open Source su GitHub, la sua aggiunta alle comunità scientifiche Open Source, in particolare quelle focalizzate su Quantum Research, ora può collaborare in modo efficiente per risolvere le attuali sfide del Quantum Computing oggi sviluppando nuovi modi per ridurre i tassi di errore e migliorare la precisione nei modelli Quantum esistenti.

Se Cirq non avesse seguito un modello Open Source, le cose sarebbero state sicuramente molto più impegnative. Una grande iniziativa sarebbe stata persa e non saremmo stati un passo avanti nel campo del Quantum Computing.

Sommario

Per riassumere, alla fine, abbiamo introdotto per la prima volta il concetto di Quantum Computing confrontandolo con le tecniche di calcolo classico esistenti seguite da un video molto importante sui recenti aggiornamenti di sviluppo in Quantum Computing dallo scorso anno. Abbiamo quindi brevemente discusso Noisy Intermediate Scale Quantum, che è ciò per cui Cirq è specificamente costruito.

Abbiamo visto come possiamo installare e testare Cirq su un sistema Ubuntu. Abbiamo anche testato l'installazione per l'usabilità su un ambiente IDE con alcune risorse per iniziare a imparare il concetto.

Infine, abbiamo anche visto due esempi di come Cirq sarebbe un vantaggio essenziale nello sviluppo della ricerca in Quantum Computing, ovvero OpenFermion e Bristlecone. Abbiamo concluso la discussione evidenziando alcune considerazioni su Cirq con una prospettiva scientifica aperta.

Speriamo di essere stati in grado di presentarti Quantum Computing con Cirq in modo semplice e comprensibile. Se avete commenti relativi allo stesso, fatecelo sapere nella sezione commenti. Grazie per la lettura e non vediamo l'ora di vederti nel nostro prossimo articolo di Open Science.

Raccomandato

Primo sguardo agli sfondi predefiniti di Ubuntu 15.10
2019
Come mostrare la percentuale della batteria in Ubuntu 18.04 e 17.10
2019
Personalizzazione Ubuntu MATE
2019