Via Antonio Amato, 20/22 84131 Salerno (SA)

Qiskit: eseguire il circuito su un computer quantico reale

quantum computing - circuito computer

(articolo redatto da Domenico Di Mieri)

SIAMO GIUNTI AL nostro QUINTO approfondimento sul quantum computing.

Nei precedenti articoli, dopo un’introduzione generale, abbiamo visto:

Alla fine dei vari step abbiamo ottenuto il grafico sotto riportato:

quantum computing - circuito computer quantico

Il grafico riporta il conteggio delle misure dei due qubit che, come ci aspettavamo, si distribuiscono equamente data la casualità (vera) dei vettori di stato (la differenza tra i valori nel grafico è dovuta al numero limitato di “ripetizioni” fatte dal simulatore).

 

QUI riprenderemo lo stesso circuito, lo invieremo ad un computer quantico e ne valuteremo i risultati.

Segui i passaggi e ricrea il circuito

Per prima cosa apri Jupyter Notebook, crea un nuovo script Python e ricrea il circuito:

quantum computing - circuito computer quantico

A questo punto carica le credenziali per l’accesso al server IBM:

quantum computing - circuito computer quantico
quantum computing - circuito computer quantico

E continua con i comandi come di seguito:

quantum computing - circuito computer quantico

per ottenere il provider dei servizi di esecuzione remota

quantum computing - circuito computer quantico

per ottenere un riferimento al computer che utilizzeremo (in questo caso ‘ibmq_manila’ ma se ne può scegliere uno qualsiasi tra quelli elencati dal comando provider.backends() )

quantum computing - circuito computer quantico

Avvia l’esecuzione del circuito (circuit) sul computer quantico specifico (qcomp).
Si noti che in questo caso conviene utilizzare l’oggetto job che, come dice il nome, rappresenta un lavoro schedulato sulla macchina remota. Questo perché al contrario della nostra macchina fisica il computer remoto potrebbe essere impegnato con lavori inviati da altri utenti e, quindi, potrebbe essere necessario attendere a lungo prima di ottenere i risultati dell’elaborazione.

quantum computing - circuito computer quantico

Importa la funzione job_monitor dalla libreria tools.monitor

quantum computing - circuito computer quantico

Non è necessario chiamare questa funzione: serve solo per visualizzare l’id del job che abbiamo sottomesso al server remoto

quantum computing - circuito computer quantico

Con questa funzione ci mettiamo in attesa del risultato. La funzione visualizza lo stato del job ed in particolare la posizione nella coda di attesa (in questo caso ci sono 114 lavori prima del nostro)

quantum computing - circuito computer quantico

Memorizza nella variabile result il risultato del job

quantum computing - circuito computer quantico

Visualizza il conteggio delle misure effettuate sui due qubit.

Conclusioni

Si noti che su una macchina reale oltre ai vettori <0|0> e <1|1> si misurano anche i vettori <0|1> e <1|0> sebbene la probabilità di questi ultimi sia molto bassa. Ciò accade perché i computer quantici odierni non sono “ideali” ed i qubit possono degradarsi durante l’elaborazione a causa di interferenze con l’ambiente esterno e, di conseguenza, il risultato ottenuto è diverso da quello atteso.

Fortunatamente ci sono diversi gruppi di ricerca che lavorano proprio alla realizzazione di computer quantici più affidabili per cui questo errore sarà sempre più trascurabile.

Negli esempi fatti finora abbiamo utilizzato la porta di Hadamard, ma cosa sono le porte quantiche? Quali porte è possibile usare e se ne possono creare delle altre?

Lo vedremo nel nostro prossimo appuntamento.

Se vuoi approfondire la tua conoscenza sul quantum computing ti consigliamo i seguenti riferimenti sito-bibliografici:
Open-Source Quantum Development


Se anche tu vuoi occuparti di progetti di sviluppo software di ultima generazione
dai un’occhiata alle nostre opportunità di lavoro e conosciamoci subito!

Questo sito utilizza cookies propri e si riserva di utilizzare anche cookie di terze parti per garantire la funzionalità del sito e per tenere conto delle scelte di navigazione.
Per maggiori dettagli e sapere come negare il consenso a tutti o ad alcuni cookie è possibile consultare la Cookie Policy.

USO DEI COOKIE

Se abiliti i cookie nella tabella sottostante, ci autorizzi a memorizzare i tuoi comportamenti di utilizzo sul nostro sito web. Questo ci consente di migliorare il nostro sito web e di personalizzare le pubblicità. Se non abiliti i cookie, noi utilizzeremo solo cookies di sessione per migliorare la facilità di utilizzo.

Cookie tecnicinon richiedono il consenso, perciò vengono installati automaticamente a seguito dell’accesso al Sito.

Cookie di statisticaVengono utilizzati da terze parti, anche in forma disaggregata, per la gestione di statistiche

Cookie di social networkVengono utilizzati per la condivisione di contenuti sui social network.

Cookie di profilazione pubblicitariaVengono utilizzati per erogare pubblicità basata sugli interessi manifestati attraverso la navigazione in internet.

AltriCookie di terze parti da altri servizi di terze parti che non sono cookie di statistica, social media o pubblicitari.