Programmiamo il computer quantistico! – Proviamo il computer quantistico di IBM! – Parte 3

Credits: https://www.google.it/url?sa=i&source=images&cd=&cad=rja&uact=8&ved=2ahUKEwi2-9T4sbLhAhUpDmMBHbImCKYQjRx6BAgBEAU&url=https%3A%2F%2Fwww.scienzainrete.it%2Farticolo%2Fpoca-intelligenza-artificiale-italia%2Fcristina-da-rold%2F2018-02-05&psig=AOvVaw3IDJVGoYiuATGbqw4EsvM6&ust=1554328168599483

Programmiamo il computer quantistico!
IBM ha lanciato il suo programma IBM Quantum Experience!

Noi di Close-up Engineering ci siamo subito iscritti e IBM ci ha gentilmente accettati!
In questo articolo-tutorial composto da 6 parti, vedremo:

[button color=”” size=”large” type=”” target=”_blank” link=”http://systems.closeupengineering.it/proviamo-computer-quantistico-ibm-parte-1-by-close-engineering/8963/”]Parte 1: Come funziona un computer quantistico[/button]

[button color=”” size=”large” type=”” target=”_blank” link=”http://systems.closeupengineering.it/come-si-elabora-qubit-proviamo-computer-quantistico-ibm-parte-2-2/8984/”]Parte 2: L’algebra del qubit e le operazioni base[/button]

[button color=”” size=”large” type=”” target=”_blank” link=”http://systems.closeupengineering.it/elaborazione-nel-computer-quantistico-ibm-proviamo-computer-quantistico-ibm-parte-3/9016/”]Parte 3: Proviamo il computer quantistico di IBM[/button]

[button color=”” size=”large” type=”” target=”_blank” link=”http://systems.closeupengineering.it/sistemi-qubit-t-gates-bell-states-ghz-states-proviamo-computer-quantistico-ibm-parte-4/9014/”]Parte 4: Sistemi di qubit, gates ed entangled state[/button]

[button color=”” size=”large” type=”” target=”_blank” link=”http://systems.closeupengineering.it/potenziamo-computer-quantistico-ideale-reale-proviamo-computer-quantistico-ibm-parte-5/9110/”]Parte 5: Potenziamo il computer quantistico di IBM! [/button]

[button color=”” size=”large” type=”” target=”_blank” link=”http://systems.closeupengineering.it/algoritmi-quantistici-proviamo-computer-quantistico-ibm-parte-6/9123/”]Parte 6: Algoritmi Quantistici [/button]

Programmiamo il computer quantistico!

Ora che sappiamo come si elabora un qubit, proviamo il computer quantistico di IBM ed elaboriamo qualche qubit con i nostri gates.

IBM ha iniziato ad accettare sempre più velocemente le richieste di iscrizione! Ecco il form per provare ad iscriversi al programma Quantum Experience e provare finalmente il Computer Quantistico di IBM:
[button color=”” size=”large” type=”” target=”_blank” link=”https://quantumexperience.ng.bluemix.net/”]CLICCA QUI PER ISCRIVERTI [/button]

IBM offre un’interfaccia grafica per programmare l’elaborazione di un qubit (o più qubit, come vedremo nella Parte 4).

Quest’interfaccia è molto semplice ed efficace:
Abbiamo alcuni qubit \(|0\rangle\) al quale possiamo applicare nel tempo i vari gates che abbiamo visto nella Parte 2. Questo ci consente di elaborarli.
Inoltre, possiamo misurare in un determinato istante il valore del qubit.

La misurazione avviene nella base canonica, e come abbiamo visto sempre nella Parte 2, misurare un qubit in sovrapposizione ci darà uno stato indeterminato. La misurazione infatti i dirà la probabilità con cui il qubit è stato misurato in ogni stato ( \(|0\rangle\) o \(|1\rangle\) ).

Infine, possiamo rappresentare in un dato istante il qubit nella sfera di Bloch. 
Semplice no?

Misuriamo il qubit  \(|0\rangle\):

0

 

X, H, SH
Misuriamo le operazioni base!

Facciamo qualche prova con i gate che abbiamo conosciuto nella Parte 2.

Applichiamo il gate X al qubit  \(|0\rangle\) e vediamo cosa succede:

X0

I gate  Z e Y per ora non servono, in quanto Z non produce nessun cambiamento se misuriamo in base canonica, e Y produce lo stesso cambiamento di X.

Passiamo ad H ottenendo  \(|+\rangle\) :

H0

Possiamo notare che la percentuale è esattamente  \(1/2\) per  \(|0\rangle\) e \(1/2\) per  \(|1\rangle\). Questo indica uno stato di sovrapposizione.

Proviamo applicando prima H e poi S  ottenendo \(|\circlearrowright\rangle\):

SH0

 

Come possiamo notare, si ottiene lo stesso risultato che con solo H… Ma i due qubit sono diversi, come sappiamo! Eccoli rappresentati nella sfera di Bloch:

H0 e SH0 - Bloch

Porte logiche: CNot

Per rendere più interessante questa prima prova con il Computer Quantistico di IBM, introduciamo il Gate CNOT:
Prende un input di controllo in ingresso, e applica una NOT su un altro qubit SE l’input di controllo è un qubit \(|1\rangle\).

Programmiamo il computer quantistico e misuriamo.

In questo caso, il control è \(|0\rangle\) (qubit 1) e l’input rimane invariato a \(|0\rangle\) (qubit 2)

CNOT00

Proviamo invece con \(|0\rangle\) \(|1\rangle\)

CNOT01x

Proviamo con \(|1\rangle\) \(|0\rangle\):

CNOT10x

Proviamo con \(|1\rangle\) \(|1\rangle\):

CNOT11x

 

Se invece, proviamo dopo aver applicato il gate H? 

CNOTH0

Ecco che l’indeterminatezza del qubit \(|+\rangle\): viene trasferita al qubit \(|0\rangle\), ma ecco cosa succede se proviamo a disegnarlo nella sfera di Bloch: 

CNOTH0 - Bloch

Questo vuol dire che l’input non si è tramutato in un \(|+\rangle\), ma è rimasto nella base canonica, solo con indeterminazione a 50 e 50 tra  \(|0\rangle\) e  \(|1\rangle\).
Abbiamo creato un nuovo qubit?!

Nella prossima parte risponderemo a questa domanda e vedremo come elaborare SISTEMI DI QUBIT! 

[button color=”” size=”large” type=”” target=”_blank” link=”http://systems.closeupengineering.it/sistemi-qubit-t-gates-bell-states-ghz-states-proviamo-computer-quantistico-ibm-parte-4/9014/”]Parte 4: Sistemi di qubit, gates ed entangled state[/button]

Un altro extra…

So benissimo di avervi lasciato con più dubbi che prima di leggere l’articolo.. Ma è normale. Erano i miei stessi dubbi prima di finire tutto il tutorial di IBM!

Vi lascio un video di IBM in cui si mostrano elaborazioni più complesse, in modo che possiate iniziare a sperimentare voi stessi e cercare di rispondere alla domanda di prima.