Demistificare i Quantum Gates – Un Qubit alla volta

(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.

Una volta che si invia un elettrone con spin-up o spin-down attraverso un H-gate, esso diventerà come un penny che sta sulla sua estremità, con esattamente 50/50 di probabilità che finisca testa (spin-up) o croce (spin-down) quando viene rovesciato e misurato. Questo H-gate è estremamente utile per eseguire la prima computazione in qualsiasi programma quantistico, perché trasforma i qubit preimpostati, o inizializzati, di nuovo nel loro stato fluido naturale, al fine di sfruttare la loro piena potenza quantistica.

Altri gate quantistici

Ci sono una serie di altri gate quantistici in cui ci si può imbattere. Molte di esse operano su diversi qubit alla volta, portando a matrici 4×4 o anche 8×8 con elementi di numero complesso. Queste sono piuttosto spinose se non avete già delle serie competenze matriciali sotto la vostra cintura. Quindi vi risparmierò i dettagli.

Le principali porte con cui vorrai avere familiarità sono quelle che abbiamo coperto, mostrate nel grafico qui sotto:

Dovresti sapere che esistono altre porte, quindi ecco un rapido elenco di alcune delle altre porte quantistiche più usate, giusto per farti un’idea del gergo:

  • Toffoli gateFredkin gate
  • Deutsch gate
  • Swap gate (e swap-gate square root)
  • NOT-gate square root
  • Controlled-NOT gate (C-NOT) e altre porte controllate

Ci sono molti altri. Ma non lasciatevi ingannare dai numeri. Proprio come è possibile eseguire qualsiasi calcolo classico con una combinazione di porte NOT + OR = NOR o AND + NOT = NAND, è possibile ridurre l’elenco delle porte quantistiche a un semplice insieme di porte quantistiche universali. Ma salveremo questa impresa per un altro giorno.

Future gazing through the quantum gateway

Come sottolinea un recente articolo di Quanta Magazine, i computer quantistici del 2018 non sono ancora pronti per la prima serata. Prima che possano salire sul ring con i computer classici con un numero di porte logiche miliardi di volte superiore, dovranno affrontare alcuni dei loro demoni. Il più letale è probabilmente il demone della decoerenza. In questo momento, la decoerenza quantistica distruggerà la vostra computazione quantistica in soli “pochi microsecondi”. Tuttavia, più velocemente le vostre porte quantistiche eseguono le loro operazioni, più probabilmente il vostro algoritmo quantistico batterà il demone della decoerenza al traguardo, e più a lungo durerà la gara. Oltre alla velocità, un altro fattore importante è il numero di operazioni eseguite dalle porte quantistiche per completare un calcolo. Questo è noto come profondità di calcolo. Quindi un’altra ricerca attuale è quella di approfondire il campo di gioco quantistico. Secondo questa logica, man mano che il computer quantistico in rapida evoluzione diventa più veloce, i suoi calcoli più profondi, e il conto alla rovescia fino alla decoerenza più lungo, il computer classico si troverà alla fine ad affrontare un formidabile sfidante, se non un successore, in un futuro (molto probabilmente) non troppo lontano.

Se ti è piaciuto questo articolo sarei super entusiasta se tu battessi il tasto clap 🙂 o condividessi con i tuoi amici curiosi. Ho molto di più come questo sul mio blog personale (jasonroell.com) o puoi semplicemente iscriverti al mio profilo medio e ricevere tutti i miei articoli non appena li scrivo! (che bello!)

Ad ogni modo, grazie ancora per aver letto e buona giornata!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.