(Ho scritto un’introduzione al calcolo quantistico che trovate qui. Se sei nuovo di zecca nel campo, sarà un posto migliore per iniziare.)
Se vuoi entrare nel calcolo quantistico, non c’è modo di evitarlo: dovrai padroneggiare il concetto nebuloso del gate quantistico. Come tutto nell’informatica quantistica, per non parlare della meccanica quantistica, i gate quantistici sono avvolti in una nebbia sconosciuta di gergo e matematica matriciale che riflette il mistero quantistico. Il mio obiettivo in questo post è di togliere alcuni strati di quel mistero. Ma vi risparmio la suspense: nessuno può liberarsene completamente. Almeno, non nel 2018. Tutto quello che possiamo fare oggi è rivelare le sorprendenti somiglianze e le allarmanti differenze tra le porte classiche e le porte quantistiche, ed esplorare le implicazioni per il futuro prossimo e lontano dell’informatica.
Similitudini sorprendenti
Se non altro, le porte logiche classiche e quelle quantistiche sono entrambe porte logiche. Quindi cominciamo da lì. Una porta logica, classica o quantistica, è una struttura fisica o un sistema che prende un insieme di input binari (0 e 1, mele e arance, elettroni di spin-up ed elettroni di spin-down, e così via) e sputa fuori un singolo output binario: un 1, un’arancia, un elettrone di spin-up, o anche uno dei due stati di sovrapposizione. Ciò che governa l’uscita è una funzione booleana. Sembra fantasioso e presuntuoso, ma credetemi, non lo è. Puoi pensare a una funzione booleana come a nient’altro che una regola su come rispondere alle domande Sì/No. È così semplice. Le porte sono poi combinate in circuiti, e i circuiti in CPU o altri componenti computazionali. Questo è vero sia che stiamo parlando del motore a differenza di Babbage, di ENIAC, del campione di scacchi in pensione Deep Blue, o dell’ultimo computer quantistico che riempie la stanza, da brivido, da prima pagina.
Allarmanti differenze
Le porte classiche operano su bit classici, mentre le porte quantistiche operano su bit quantistici (qubit). Questo significa che le porte quantistiche possono sfruttare due aspetti chiave della meccanica quantistica che sono completamente fuori portata per le porte classiche: superposizione ed entanglement. Questi sono i due concetti di cui sentirete parlare più spesso nel contesto dell’informatica quantistica, ed ecco perché. Ma c’è un concetto meno noto che forse è altrettanto importante: la reversibilità. In parole povere, le porte quantistiche sono reversibili. Imparerete molto sulla reversibilità man mano che vi addentrerete nell’informatica quantistica, quindi vale la pena di scavare a fondo su di essa. Per ora, potete pensarla in questo modo: tutte le porte quantistiche sono dotate di un pulsante di annullamento, mentre molte porte classiche non lo fanno, almeno non ancora. Questo significa che, almeno in linea di principio, le porte quantistiche non perdono mai informazioni. I Qubit che sono aggrovigliati quando entrano nel gate quantistico rimangono aggrovigliati quando escono, mantenendo le loro informazioni sigillate in modo sicuro durante la transizione. Molte delle porte classiche che si trovano nei computer convenzionali, d’altra parte, perdono informazioni, e quindi non possono ripercorrere i loro passi. È interessante notare che queste informazioni non sono perse nell’universo, ma piuttosto si infiltrano nella tua stanza o nel tuo grembo come il calore del tuo computer classico.
V sta per vettore
Non possiamo parlare di porte quantistiche senza parlare di matrici, e non possiamo parlare di matrici senza parlare di vettori. Quindi andiamo avanti. Nel linguaggio della meccanica quantistica e dell’informatica, i vettori sono rappresentati in un pacchetto piuttosto strano chiamato ket, che deriva dalla seconda metà della parola braket. E hanno l’aspetto giusto. Ecco un vettore ket: |u>, dove u rappresenta i valori nel vettore. Per cominciare, useremo due ket, |0> e |1>, che rappresenteranno i qubit sotto forma di elettroni negli stati di spin-up (|0>) e spin-down (|1>). Questi vettori possono abbracciare qualsiasi numero di numeri, per così dire. Ma nel caso di uno stato binario come un qubit di spin up/down dell’elettrone, ne hanno solo due. Quindi, invece di sembrare vettori colonna torreggianti, sembrano solo numeri impilati a due altezze. Ecco come appare |0>:
/ 1 \
\ 0 /
Ora, ciò che i gate/matrici fanno è trasformare questi stati, questi vettori, questi ket, queste colonne di numeri, in nuovi stati. Per esempio, un gate può trasformare uno stato alto (|0>) in uno basso (|1>), come per magia:
/ 1 \ → / 0 \
\ 0 / \ 1 /
M sta per matrice
Questa trasformazione di un vettore in un altro avviene attraverso la magia poco compresa della moltiplicazione di matrice, che è completamente diversa dal tipo di moltiplicazione che tutti abbiamo imparato alla scuola pre-quantistica. Tuttavia, una volta che hai imparato questo tipo di matematica, è estremamente gratificante, perché puoi applicarla ancora e ancora a innumerevoli equazioni altrimenti incomprensibili che lasciano stupefatti i non iniziati. Se avete bisogno di un’ulteriore motivazione, basta ricordare che è stato attraverso il linguaggio della matematica delle matrici che Heisenberg ha svelato i segreti del principio di indeterminazione onnicomprensivo.
Tuttavia, se non avete familiarità con questo strumento matematico a reazione, i vostri occhi si abbasseranno se a questo punto inizio a riempire questo post con grandi matrici quadrate di numeri. E non possiamo permettere che accada. Quindi aspettiamo ancora qualche paragrafo per la matematica e la notazione delle matrici. Basti dire, per ora, che generalmente usiamo una matrice per rappresentare un gate quantistico. La dimensione e il vero e proprio fattore di paura della matrice dipendono dal numero di qubit su cui opera. Se c’è solo un qubit da trasformare, la matrice sarà bella e semplice, solo una matrice 2 x 2 con quattro elementi. Ma le dimensioni della matrice aumentano con due, tre o più qubit. Questo perché un’equazione decisamente esponenziale che vale la pena memorizzare guida la dimensione della matrice (e quindi la sofisticazione del gate quantistico):
2^n x 2^n = the total number of matrix elements
Qui, n è il numero di qubit su cui il gate quantistico sta operando. Come potete vedere, questo numero va alle stelle all’aumentare del numero di qubit (n). Con un qubit, è 4. Con due, è 16. Con tre, è 64. Con quattro, è… senza speranza. Quindi, per ora, mi limito a un qubit, e ha Pauli scritto sopra.
Le porte di Pauli
Le porte di Pauli prendono il nome da Wolfgang Pauli, che non solo ha un nome figo, ma è riuscito a immortalarsi in due dei principi più noti della fisica moderna: il celebre principio di esclusione di Pauli e il temuto effetto Pauli.
Le porte di Pauli si basano sulle più note matrici di Pauli (alias matrici di spin di Pauli) che sono incredibilmente utili per calcolare i cambiamenti dello spin di un singolo elettrone. Dato che lo spin dell’elettrone è la proprietà preferita da usare per un qubit nelle porte quantistiche di oggi, le matrici e le porte di Pauli sono proprio il nostro campo. In ogni caso, c’è essenzialmente una porta/matrice di Pauli per ogni asse nello spazio (X, Y e Z).
Così potete immaginare ognuno di essi che esercita il potere di cambiare la direzione dello spin di un elettrone lungo il suo asse corrispondente nello spazio 3D. Naturalmente, come ogni cosa nel mondo quantistico, c’è una fregatura: questo non è il nostro ordinario spazio 3D, perché include una dimensione immaginaria. Ma lasciamo perdere per ora, va bene?
Per fortuna, le porte di Pauli sono le porte quantistiche più semplici che si possano incontrare. (Almeno le porte X e Z lo sono. La Y è un po’ strana.) Quindi, anche se non hai mai visto una matrice in vita tua, Pauli le rende gestibili. Le sue porte agiscono su uno, e solo uno, qubit alla volta. Questo si traduce in semplici matrici 2 x 2 con solo 4 elementi per pezzo.
Il Pauli X-gate
Il Pauli X-gate è un sogno diventato realtà per coloro che temono la matematica delle matrici. Nessun numero immaginario. Nessun segno meno. E una semplice operazione: la negazione. Questo è naturale, perché il Pauli X-gate corrisponde a un classico NOT gate. Per questo motivo, l’X-gate è spesso chiamato anche NOT gate quantistico.
In un ambiente reale, l’X-gate generalmente trasforma lo stato di spin-up |0> di un elettrone in uno stato di spin-down |1> e viceversa.
|0> --> |1> OR |1> --> |0>
Una “X” maiuscola sta spesso per la X-gate di Pauli o la matrice stessa. Ecco come appare la X:
/ 0 1 \
\ 1 0 /
In termini di notazione corretta, applicare una porta quantica ad un qubit è una questione di moltiplicare un vettore ket per una matrice. In questo caso, stiamo moltiplicando il vettore ket di spin-up |0> per il Pauli X-gate o matrice X. Ecco come appare X|0>:
/ 0 1 \ /1\
\ 1 0 / \0/
Nota che metti sempre la matrice a sinistra del ket. Come avrete sentito, la moltiplicazione di matrice, a differenza della moltiplicazione ordinaria, non commuta, il che va contro tutto quello che ci hanno insegnato a scuola. È come se 2 x 4 non fosse sempre uguale a 4 x 2. Ma è così che funziona la moltiplicazione di matrice, e una volta che hai capito come funziona, capirai perché. Nel frattempo, tenendo a mente l’importantissimo ordine degli elementi, la notazione completa per applicare il NOT-gate quantistico al nostro qubit (in questo caso lo stato di spin-up di un elettrone), si presenta così:
X|0> = / 0 1 \ /1\ = /0\ = |1>
\ 1 0 / \0/ \1/
Applicato ad un vettore di spin-down, la notazione completa si presenta così:
X|1> = / 0 1 \ /0\ = /1\ = |0>
\ 1 0 / \1/ \0/
Nonostante tutta la notazione estranea, in entrambi i casi ciò che sta realmente accadendo qui è che un qubit sotto forma di un singolo elettrone sta passando attraverso un gate quantistico ed esce dall’altra parte con il suo spin completamente capovolto.
I cancelli Y e Z di Pauli
Ti risparmio la matematica con questi due. Ma dovresti almeno conoscerle di sfuggita.
Delle tre porte di Pauli, la porta Y di Pauli è quella più elegante. Assomiglia molto alla porta X, ma con una i (sì, la folle radice quadrata di -1) al posto del normale 1, e un segno negativo in alto a destra. Ecco come appare la Y:
/ 0 -i \
\ i 0 /
La porta Z di Pauli è molto più facile da seguire. Sembra una specie di immagine speculare del cancello X di cui sopra, ma con un segno negativo gettato nel mix. Ecco come appare la Z:
/ 1 0 \
\ 0 -1 /
La porta Y e la porta Z cambiano anche lo spin del nostro elettrone qubit. Ma probabilmente dovrei addentrarmi nei misteri esoterici della sfera di Bloch per spiegare davvero come, e al momento ho un’altra porta da attraversare…
La porta di Hadamard
Mentre le porte di Pauli sono molto simili alle porte logiche classiche per alcuni aspetti, la porta di Hadamard, o porta H, è una vera bestia quantistica. Compare ovunque nel calcolo quantistico, e per una buona ragione. La porta di Hadamard ha la caratteristica capacità quantistica di trasformare uno stato quantico definito, come lo spin-up, in uno torbido, come una sovrapposizione di spin-up e spin-down allo stesso tempo.