Potenziare computer quantistico reale

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:

Parte 1: Come funziona un computer quantistico Parte 2: L’algebra del qubit e le operazioni base Parte 3: Proviamo il computer quantistico di IBM Parte 4: Sistemi di qubit, gates ed entangled state Parte 5: Potenziamo il computer quantistico di IBM!  Parte 6: Algoritmi Quantistici 

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:

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:
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à, la 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, possiamo asserire che:
Dove P è un Pauli-Operator e C è un Clifford Gate.

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

Con questo risultato:

E’ 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$$

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 (è un semplice CNOT controllata da due input in AND), ma non è poi così ovvio come si può creare.

Ecco come crearlo:
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.

Toffoli GatePossiamo 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\)

ToffoliState

 

LASCIA UN COMMENTO