Come si elabora un qubit – Proviamo il computer quantistico di IBM! – Parte 2

Come si elabora un qubit? 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]

L’Algebra del qubit e le operazioni base

Come abbiamo spiegato nella Parte 1, il qubit base è \(|0\rangle\) e può essere trasformato in altri qubit tramite delle operazioni.
Come abbiamo anche detto, il qubit è rappresentato da un vettore di dimensione due:
$$|0\rangle =\begin{pmatrix}1\\0\end{pmatrix}$$

Se ancora non sapete cosa sia un qubit, beh, potete guardare questo bellissimo video de “La Fisica che non ti aspetti”, e leggere la prima parte di questa serie di articoli!

Chi già ha studiato algebra lineare, può facilmente dedurre come si elabora un qubit algebricamente:
Matrici 2×2.
In realtà, si utilizzeranno matrici 2×2 unitarie, in modo da mantenere l’amplificazione sulle probabilità e la reversibilità del processo.

Abbiamo dunque:
$$|\psi’\rangle=U|\psi\rangle$$
Dove:
$$U^\dagger U = 1$$
E dove \(|\psi\rangle\) l’abbiamo detto essere un qualsiasi qubit, in stato base o in sovrapposizione.

Ma come si elabora un qubit in computer quantistico? Nel computer quantistico, queste matrici saranno chiamate “Gates” e compiono operazioni basilari sul qubit.

I pauli operators e operazioni base

Per ora abbiamo spiegato quindi qual è il qubit base e alla domanda “come si elabora un qubit?” abbiamo risposto: Con dei gates.

Vediamo ora i Pauli Operators, cioè i gates basilari per elaborare un qubit.

Il gate X:

Pauli Operators: X Gate

Possiamo notare subito come X sia un classico “NOT” in algebra booleana, e trasformerà un  \(|0\rangle\) in \(|1\rangle\) e viceversa.

Abbiamo poi un phase-flips Z, cioè una matrice che cambia la fase al qubit che moltiplica, ruotandolo però lungo l’asse Z. Per vederne gli effetti, è quindi necessario che il qubit non sia sullo stesso asse. Per fare ciò, viene prima applicata la matrice H, che vedremo a breve.

Pauli Operators: Z Gate

Per finire, abbiamo la combinazione di X e Z in Y, che negherà il nostro qubit e lo cambierà di fase.

Possiamo notare subito come il secondo qubit base \(|1\rangle\) si ottenga dal primo:
$$|1\rangle = X|0\rangle$$

Rappresentiamo un qubit

Risulta impossibile capire realmente il qubit senza rappresentarlo. Per farlo ricorriamo alla sfera di Bloch. Per ora vi risulterà arcano il suo funzionamento, ma ci aiuterà a distinguere i vari qubit che creeremo. Successivamente spiegheremo come funziona la rappresentazione. Per ora, basti questo:

Bloch Sphere

Possiamo quindi ridefinire il nostro qubit come:
$$|\psi\rangle = \cos(\theta/2)|0\rangle + e^{i\phi}\sin(\theta/2)|1\rangle$$
Dove \(\theta\) e \(\phi\) sono segnati in figura.
Chiariremo meglio successivamente.

Ecco i qubit che conosciamo:

Qubits

qubit 0: \(|0\rangle\)
qubit 1: \(|1\rangle = X|0\rangle\)
qubit 2: \(Z|0\rangle\)
qubit 3: \(Y|0\rangle\)

Come possiamo vedere i qubit \(|0\rangle\) e \(|1\rangle\) stanno solo nell’asse Z, rispettivamente a +1 e -1.

Quelle che per ora ci sembrano operazioni inutili (Z e Y) acquisiranno significato fra poco, introducendo i Clifford Gates.

Clifford gates

I “Clifford Gates” sono gli operatori secondari che servono a passare in uno stato di sovrapposizione.

Il primo gate, noto come Hadamard Gate, serve a creare una nuova base detta diagonale, portando il nostro qubit \(|0\rangle\) in uno stato di sovrapposizione, con le due probabilità (di essere \(|0\rangle\) o \(|1\rangle\) ) a \(1/2\) se misurato con la base canonica.

Questo qubit rappresenta quello che nella Parte 1 abbiamo chiamato  \(|+\rangle\).

qubit H

Se lo andiamo a rappresentare, capiamo cosa succede:
Il qubit non sta più sull’asse Z. Abbiamo quindi un qubit che è sia \(|0\rangle\) che \(|1\rangle\) per metà del tempo.

Questo qubit è il risultato di questa operazione:
\(H|0\rangle\)

 

 

 

E cosa succede se neghiamo con Z il nostro nuovo qubit? Come risultato, otteniamo \(|-\rangle\) :

qubit XH
Abbiamo anche qui un qubit che è sia  \(|0\rangle\) che \(|1\rangle\) per metà del tempo, ma differisce da quello precedente.

Questo qubit è dato da questa operazione:
\(ZH|0\rangle\)

E possiamo facilmente asserire che i due qubit appena creati siano ortogonali tra loro.

 

Abbiamo quindi una nuova base detta diagonale. Se misuriamo i vettori della base diagonale sulla base canonica otteniamo una misurazione al 50% \(|0\rangle\) e al 50% \(|1\rangle\), e viceversa se misuriamo i vettori della base canonica rispetto alla base diagonale.

Da notare, che lo stesso risultato si può ottenere con la combinazione XH, in quanto ruotando prima sull’asse X e poi su quello diagonale, si ottiene lo stesso risultato che ruotando sull’asse diagonale e poi sull’asse Z.

Hadamard Gate

Misurare in una base non canonica:

Nel modello di computer quantistico che ci fornisce IBM, non possiamo scegliere in che base misurare un qubit, ma basta reinvertire gli assi applicando ancora la matrice H per ottenere lo stesso risultato che misurare i qubit nella nuova base diagonale:
qubit HH

 

 

Questo qubit è dato da questa operazione:
\(HH|0\rangle\)

 

 

 

qubit HXH

 

Questo qubit è dato da questa operazione:
\(HZH|0\rangle\)

 

 

 

 

Arriviamo ad una terza base, la base circolare:
$$|\circlearrowright\rangle = \frac{1}{\sqrt{2}}(|0\rangle+i|1\rangle)$$
$$|\circlearrowleft\rangle = \frac{1}{\sqrt{2}}(|0\rangle-i|1\rangle)$$
Questa base si ricava applicando la matrice S dopo aver applicato la matrice H:
$$|\circlearrowright\rangle = SH|1\rangle $$
$$|\circlearrowleft\rangle = SZH|1\rangle $$

I due qubit saranno rappresentati sull’asse Y, e questo vuol dire che, praticamente, la matrice S ruota di soli 90° intorno sull’asse Z. (a differenza di Z che crea una rotazione di 180°).

Ancora, se si misura un qubit di questo tipo su una base canonica, si ottiene un risultato incerto. Se si misura nella base circolare, si ottiene un risultato determinato.

L’ultima matrice \(S^T\) serve ad eseguire l’operazione inversa di S e quindi a passare dalla base circolare a quella canonica o diagonale.

Vi è infine il Gate T, che non appartiene però ai Clifford Gate. Il gate T sembra ruotare di 45° sull’asse Z, ma in realtà compie un’operazione più complessa, e che vedremo nella Parte 4.

Ecco un riassunto di tutte le operazioni importanti con le matrici H, S, T e Z, partendo dallo stato \(|+\rangle\):

Sveliamo l’arcano sulla sfera di Bloch

È il momento di capire come si rappresentano i qubit in sovrapposizione nella sfera di Bloch . Possiamo ricostruire un qualsiasi qubit (anche in sovrapposizione) calcolando il vettore di Bloch relativo, un vettore a tre dimensioni rappresentato in questo modo:
$$\langle X \rangle = \text{tr}(|\psi\rangle\langle \psi|X)$$
$$\langle Y \rangle = \text{tr}(|\psi\rangle\langle \psi|Y)$$
$$\langle Z \rangle = \text{tr}(|\psi\rangle\langle \psi|Z)$$

Lo stato è dato da:
$$|\psi\rangle \langle\psi|=(I+\langle X\rangle X + \langle Y \rangle Y + \langle Z \rangle Z)/2$$

E infine, ogni valore \(\langle Q \rangle\) è calcolato misurando il qubit nella base standard e calcolandone le due probabilità:
$$\langle Q\rangle = P(0) – P(1)$$

In questo modo, possiamo rappresentare un qualsiasi qubit a prescindere dalla base, in un unico grafico. Questo è essenziale perchè i qubit \(|\circlearrowright\rangle\), \(|\circlearrowleft\rangle\), \(|+\rangle\) e \(|-\rangle\) , quando misurati nella base canonica, si comporteranno esattamente allo stesso modo, cioè risultando per metà \(|0\rangle\) e per metà \(|1\rangle\). Ma quei qubit SONO DIVERSI, e per capirne la differenza, basta rappresentarli nella sfera di Bloch.