Inside IT

POTENZIAMO il computer quantistico reale – Proviamo il Computer Quantistico di IBM! Parte 5

Potenziamo il computer quantistico reale!
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]

Dal computer quantistico
reale ad uno ideale

A questo punto della serie di articoli, dovreste aver concepito quanto possa essere potente un computer quantistico ideale per risolvere molti dei problemi che invece non riusciamo a risolvere con un computer classico.

IBM mette a disposizione solo 5 qubit, ma già questi 5 qubit offrono la possibilità di provare algoritmi noti in ambito quantistico. Certo, non potremo programmare un decypher per rompere l’attuale sicurezza data dall’RSA, ma potremo comunque verificare la potenza del computer quantistico.

Il problema principale però è che il computer quantistico REALE di IBM ha alcuni limiti dovuti ai costi di produzione: non tutti i qubit sono collegati agli altri, e la CNOT è applicabile solo al qubit centrale.

Per questo dobbiamo potenziare il computer quantistico reale di IBM, utilizzando alcuni costrutti base per ovviare a questi limiti fisici. Applicando dei costrutti nell’algoritmo potremo, infatti, simulare qualsiasi collegamento possibile in un computer quantistico ideale. Proprio per questo, IBM non ha investito più del necessario nell’hardware, in quanto certe “funzioni hardware” si possono facilmente simulare, in modo da abbassare notevolmente i costi e renderne possibile la realizzazione.

CNOT inversa

La CNOT è applicabile solo al qubit centrale, ma possiamo facilmente invertirla in modo che possa essere applicata tra il qubit centrale e un altro qubit, ma al contrario:

Inverse CNOT

Questo non ci consente ancora di applicare la CNOT in tutte le possibili modalità che avremmo senza limitazioni. Infatti, in questo modo non è possibile applicare la CNOT a due qubit diversi da quello centrale.

Invertire due qubit

Non possiamo applicare la CNOT a due qubit non centrali? Non importa. Basta che i valori siano giusti, non che effettivamente la si stia applicando al qubit corretto. Infatti, per risolvere il problema, basterà scambiare il valore del qubit che vogliamo utilizzare nella CNOT con il valore del qubit centrale, e poi applicare la CNOT al qubit centrale, ottenuto il risultato, scambiare ancora i due valori. Ecco lo schema per scambiare i due qubit:

Swap Qubits

Con questi due costrutti possiamo quindi applicare la CNOT in qualsiasi modalità possibile in un computer quantistico ideale, ovviando alle limitazioni fisiche del computer quantistico reale di IBM.

Controlled Pauli-operators

Nelle Parti precedenti, in realtà vi ho mentito (e IBM ha mentito a me): non esiste nessun CNOT Gate. E in effetti, se ci pensate, non esiste una matrice 4×4 che svolga la funzione di CNOT. In realtà, non è altro che un controlled-X gate, un X gate che agisce controllato da un altro qubit.

I controlled Pauli-Operators non sono semplici da creare e comprendere, ma ci proveremo.

Ricordiamo che:
$$HXH=Z$$
$$SXS^T=Y$$
$$HH=I$$
$$SS^T=I$$

Ora, concentriamoci su questa forma:

Dove P è un Controlled-Pauli-Operator e C è un Clifford Gate.

Risulta che (non lo dimostreremo) un qualsiasi controlled-V gate può essere costruito trovando tre costrutti A, B, C tali che:
$$ABC=I$$
$$e^{i\alpha}AZBZC=V$$

È complesso trovare queste tre matrici, ma vediamone il risultato per creare un controlled-H:
$$A=e^{i3\pi/8}XSHTHS^T$$
$$B=e^{-i\pi/8}SHT^T HS^T HSH$$
$$C=e^{-i\pi/4}HSH$$

$$V=H$$

Che combinate in questo schema forniscono una controlled-H:

Controlled-H

Toffoli Gate

Il Toffoli Gate è rappresentato da questa equazione:
$$TOF|a,b,c\rangle=|a,b,(a\ \mathrm{AND}\ b)\ \mathrm{XOR}\ c\rangle$$

Come si può vedere la funzione svolta è elementare (è una semplice CNOT controllata da due input in AND), ma non è ovvio come si possa creare.

Ecco la soluzione:

Toffoli Gate

Questo circuito è quasi pronto per essere implementato, basta convertire lo scambio dei qubit nel costrutto che abbiamo visto precedentemente.

Eccone l’implementazione, tenendo conto che l’ultimo scambio di qubit non è implementato, quindi alla fine l’output sarà dato dal qubit1.

Possiamo utilizzare il Toffoli gate per generare un nuovo sistema di 3 qubit in Entangled state:
$$SWAP_{1,2}TOF|++0\rangle_{0,1,2}=\frac{1}{2}\left(|000\rangle+|001\rangle+|100\rangle+|111\rangle\right)$$

Per farlo basterà utilizzare l’algoritmo precedente, ponendo come input \(|++0\rangle\) e applicando un gate H all’output (qubit1)prima di misurare i 3 qubit.

Ecco la misurazione del sistema di 3 qubit, come ci aspettiamo avremo una probabilità distribuita nei quattro stati \(|000\rangle , |001\rangle , |100\rangle , |111\rangle\)

 

Published by
Manuel Occorso