Alessandro Corrias – 2015 – Quantum computer

Il computer quantistico
25 marzo 2015
2
Indice
1 Introduzione alla teoria della computabilità
1.1 Modelli di computazione . . . . . . . . . . . . . .
1.1.1 La tesi di Church–Turing . . . . . . . . . .
1.1.2 La macchina di Turing . . . . . . . . . . .
1.1.3 Modello circuitale di computazione . . . .
1.2 Complessità computazionale . . . . . . . . . . . .
1.2.1 Notazione asintotica . . . . . . . . . . . .
1.2.2 Problemi decisionali . . . . . . . . . . . .
1.2.3 Classi di complessità . . . . . . . . . . . .
1.2.4 Problemi trattabili e problemi intrattabili
1.2.5 L’ideazione dei computer quantistici . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2 Il modello di computazione a circuito quantistico
2.1 Il bit quantistico (qubit) . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Rappresentazione di un qubit nella sfera di Bloch . . . . . .
2.1.2 Informazione quantistica . . . . . . . . . . . . . . . . . . . .
2.1.3 Doppio qubit ed entanglement . . . . . . . . . . . . . . . . .
2.1.4 Qubit multipli . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Circuiti quantistici . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 Porte logiche di singolo qubit . . . . . . . . . . . . . . . . .
2.2.2 Operatori di rotazione . . . . . . . . . . . . . . . . . . . . .
2.2.3 Interpretazione geometrica degli operatori di rotazione nella
sfera di Bloch . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.4 Decomposizione in rotazioni delle porte logiche di singolo qubit
2.2.5 Operazioni controllate . . . . . . . . . . . . . . . . . . . . .
2.2.6 Implementazione di operazioni controllate . . . . . . . . . .
2.2.7 Misurazioni . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Un insieme di porte logiche quantistiche universali . . . . . . . . . .
2.3.1 Decomposizione in matrici unitarie a due livelli . . . . . . .
2.3.2 Applicazione di porte unitarie a due livelli qualsiasi mediate
porte di singolo qubit . . . . . . . . . . . . . . . . . . . . . .
2.3.3 Approssimazione degli operatori su singolo qubit . . . . . . .
5
5
5
5
6
8
8
9
9
10
11
13
13
14
15
15
16
16
17
18
19
20
21
22
24
27
27
28
30
3 Algoritmi quantistici
35
3.1 Teletrasporto quantistico . . . . . . . . . . . . . . . . . . . . . . . . 35
3.1.1 La questione della copia dei qubit . . . . . . . . . . . . . . . 35
3
Indice
3.2
3.3
3.1.2 Stati di Bell . . . . . . . . . . . . . . .
3.1.3 Circuito per il teletrasporto quantistico
3.1.4 Trasferimento dell’informazione . . . .
Parallelismo quantistico . . . . . . . . . . . .
3.2.1 Algoritmo di Deutsch . . . . . . . . . .
3.2.2 Algoritmo di Deutsch–Josza . . . . . .
La trasformata di Fourier quantistica . . . . .
3.3.1 Stima della fase . . . . . . . . . . . . .
3.3.2 Ricerca dell’ordine moltiplicativo . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
36
37
38
38
40
41
42
45
48
4 Dalla teoria alla pratica: realizzazione fisica dei computer quantistici
4.1 Decoerenza quantistica . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1 Sovrapposizioni coerenti e miscele statistiche . . . . . . . . .
4.1.2 Decoerenza: definizione e tipologie . . . . . . . . . . . . . .
4.2 Requisiti fisici di un sistema volto alla computazione quantistica . .
51
51
51
52
54
5 Il computer quantistico basato sugli ioni intrappolati
5.1 Trappole per ioni . . . . . . . . . . . . . . . . . . . . . . .
5.1.1 Il problema del confinamento . . . . . . . . . . . .
5.1.2 Trappole a radiofrequenza . . . . . . . . . . . . . .
5.1.3 La trappola di Paul . . . . . . . . . . . . . . . . . .
5.1.4 Sistemi di ra↵reddamento . . . . . . . . . . . . . .
5.2 Risonanze ottiche in sistemi atomici a due livelli . . . . . .
5.2.1 Hamiltoniana di interazione dell’elettrone . . . . . .
5.2.2 Equazioni di Bloch . . . . . . . . . . . . . . . . . .
5.2.3 Approssimazione di onda rotante . . . . . . . . . .
5.2.4 Soluzione nel caso di risonanza esatta . . . . . . . .
5.2.5 Soluzione in caso di detuning . . . . . . . . . . . .
5.3 Stato dell’arte dei computer quantistici a ioni intrappolati
59
59
59
60
60
63
64
65
66
68
70
72
74
6 Conclusione
4
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
79
Capitolo 1
Introduzione alla teoria della
computabilità
1.1
1.1.1
Modelli di computazione
La tesi di Church–Turing
Sebbene le prime testimonianze storiche di algoritmi di calcolo siano molto antiche
— siamo al corrente che gia i babilonesi utilizzavano algoritmi di calcolo per l’abaco — per avere una definizione formale di algoritmo si è dovuto attendere sino agli
anni ’30 nei quali, indipendentemente, Alonzo Church e Alan Turing si impegnarono nella risoluzione di un problema posto da David Hilbert qualche anno prima:
il problema si interrogava sull’esistenza di un algoritmo capace di risolvere ogni
problema della matematica. Uno scoglio per i due scienziati fu quello di formulare
in termini matematicamente rigorosi il concetto intuitivo di algoritmo.
Non di rado delle buone definizioni si sono dimostrate fondamentali per il progresso di un campo scientifico o matematico; la nozione di macchina di Turing ha
segnato la nascita dell’informatica moderna.
Turing ideò una macchina — si tratta di una costruzione di pensiero, non soggetta
ai vincoli imposti da una realizzazione fisica pratica — che ancor oggi appare incarnare ciò che intendiamo come “algoritmo”. La tesi di Church–Turing a↵erma che
la classe di funzioni calcolabili da una macchina di Turing corrisponde esattamente
alla classe di funzioni che riteniamo calcolabili da un algoritmo; sottolineiamo il
fatto che la tesi collega un concetto intuitivo ad una definizione formale.
Quella di Church–Turing è una congettura in quanto non si può escludere a priori
la possibilità che venga trovato prima o poi un qualche processo che definiremmo
algoritmico ma che non possa essere eseguito da una macchina di Turing. Tuttavia
ad oggi non si ha alcuna evidenza contraria alla tesi.
1.1.2
La macchina di Turing
La macchina di Turing (figura 1.1) è costituita da un programma, un controllo a
stati finiti e un nastro sul quale la macchina abbia accesso in lettura e scrittura
tramite una testina.
5
Capitolo 1. Introduzione alla teoria della computabilità
Figura 1.1: Schema della macchina di Turing.
Il controllo a stati finiti è una sorta di processore che può assumere un insieme
finito di stati q1 , q2 , . . ., qm ; il nastro è un oggetto unidimensionale che si estende infinitamente in una direzione: possiamo pensarlo diviso in caselle contenenti
ciascuna un simbolo preso da un’insieme finito di simboli (detto alfabeto). La
testina può scorrere il nastro e agire su una casella alla volta.
La configurazione iniziale della macchina prevede che il controllo sia nello stato
di partenza qs e che la testina indichi il simbolo ., posto all’origine del nastro.
L’evoluzione dell’algoritmo è regolata dal programma, costituito da un elenco di
stringhe contenenti cinque elementi ciascuna. In primis la macchina seleziona
all’interno del programma la stringa avente come primo elemento lo stato in cui si
trova il controllo e come secondo elemento il simbolo indicato dalla testina. Se il
programma non contiene la stringa cercata la macchina assume lo stato di arresto
qh e l’esecuzione del programma termina. In caso contrario la configurazione della
macchina si modifica in accordo con i successivi tre elementi della stringa: il terzo
elemento rappresenta lo stato che il controllo dovrà assumere; il quarto è un simbolo
di che la testina scrive sulla casella in cui punta; la quinta e ultima istruzione
permette di spostare la testina di una casella a sinistra o a destra sul nastro, o di
mantenerla nella posizione corrente.
Il ciclo prosegue a meno che il controllo non arrivi a trovarsi nello stato qh ; quando
questo avviene la casella su cui punta la testina contiene l’output del programma.
Abbiamo illustrato la più semplice delle molte possibili varianti della macchina
di Turing. Esse possono di↵erire ad esempio nel numero di nastri o nella loro
dimensionalità. Tutte le varianti conosciute sono però tra loro equivalenti, nel
senso che ognuna è capace di simulare l’altra.
1.1.3
Modello circuitale di computazione
Un modello di calcolatore alternativo alla macchina di Turing è quello circuitale,
che impiega dei circuiti composti da rami di collegamento e porte logiche per
manipolare informazioni codificate in numeri binari.
Nonostante all’apparenza questo modello non sembri avere molte caratteristiche
6
1.1. Modelli di computazione
in comune con la macchina di Turing, si può dimostrare che i due modelli sono di
fatto equivalenti.
Figura 1.2: Le più comuni porte logiche classiche.
Una porta logica è una funzione
f : {0, 1}k ! {0, 1}l
(1.1)
che associa a k cifre binarie (bit) in input l cifre binarie di output — i simboli
convenzionali di alcune comuni porte logiche sono riportati in figura 1.2. Sebbene
tali funzioni siano infinite, ognuna di esse si può comporre utilizzando un numero
finito di porte logiche chiamate, per questo motivo, universali (un risultato simile
vale nell’ambito del modello circuitale quantistico, come vedremo al §2.3).
Dimostriamo rapidamente quanto a↵ermato costruendo una funzione f qualunque
facendo uso solamente delle porte logiche not, or, and e xor.
Limitiamoci inizialmente a funzioni booleane f : {0, 1}k ! {0, 1} (si ottengono
ponendo l = 1 nella 1.1); procediamo per induzione. Nel caso k = 1 esistono
quattro diverse possibili f : l’identità, il not e le funzioni costanti 0 e 1. Le
funzioni costanti si possono ottenere, rispettivante, facendo l’and dell’input con
un ancilla bit 1 posto uguale a 0 oppure facendone l’or con l’ancilla bit 1.
Dimostriamo ora il passo induttivo mostrando che una funzione booleana di n + 1
bit può essere calcolata utilizzando funzioni di n bit. Consideriamo le due funzioni
f0 (x1 , x2 , . . . , xn ) ⌘ f (0, x1 , x2 , . . . , xn )
f1 (x1 , x2 , . . . , xn ) ⌘ f (1, x1 , x2 , . . . , xn )
(1.2)
esse sono funzioni booleane ad n bit che, per l’ipotesi induttiva, possono essere
realizzate con le porte scelte precedentemente.
Tramite queste due funzioni è possibile calcolare f utilizzando il circuito di figura
1
Gli ancilla bit, o bit di lavoro, sono dei bit che non rappresentano un informazione in senso
stretto ma hanno solo un ruolo tecnico nel funzionamento del circuito.
7
Capitolo 1. Introduzione alla teoria della computabilità
Figura 1.3: Circuito per il calcolo di f (x1 , x2 , . . . , xn+1 ) che utilizza soltanto le due
funzioni di equazione 1.2 e le porte not, and e xor.
1.3.
Dato che ciascuna funzione f definita dalla 1.1 può essere pensata come l
funzioni booleane di k bit, questo risultato si generalizza ad l qualunque. Questo
completa la dimostrazione dell’universalità delle porte not, or, and e xor.
Queste porte si possono a loro volta simulare utilizzando solamente il nand, a
patto di poter disporre di ancilla bit e fanout2 .
1.2
Complessità computazionale
Ci siamo finora occupati solamente della possibilità dell’esecuzione degli algoritmi
senza badare alle risorse che è necessario investire in termini di spazio, tempo ed
energia. È quest’ultimo l’argomento di una branca dell’informatica nota come teoria della complessità computazionale; si tratta di una materia vasta di cui daremo
solo una breve panoramica.
1.2.1
Notazione asintotica
La risoluzione di un certo problema può richiedere un di↵erente quantitativo di risorse a seconda del modello di computazione che si utilizza. Vi possono essere delle
di↵erenze, ad esempio, tra il numero di cicli compiuti da una macchina di Turing
a nastro singolo e quelli compiuti da una macchina a due nastri, nella risoluzione di un certo problema. Tuttavia il numero esatto di cicli è di scarso interesse:
2
Con fanout si intende la possibilità di creare, ad un certo punto di un ramo, dei nodi
attraverso i quali l’informazione del ramo originale viene trasmessa a due o più rami figli.
8
1.2. Complessità computazionale
ci è sufficiente conoscere l’andamento funzionale del numero di cicli rispetto alla
dimensione dell’input per avere un’idea dell’efficienza della computazione nei due
modelli.
Si fa per questa ragione largo uso, nel campo della complessità computazionale,
della notazione asintotica per le funzioni.
Una funzione f (n) è O(g(n)) se esiste una costante c tale che f (n)  cg(n)
definitivamente; il simbolo O si usa per indicare un limite superiore del comportamento asintotico della funzione. Analogamente si usa ⌦ per indicare un limite
inferiore:
f (n) = ⌦(g(n)) se 9c, n0
tali che f (n)
cg(n) 8n > n0
Se una funzione f (n) è sia O(g(n)) sia ⌦(g(n)) allora si può scrivere f (n) =
⇥(g(n)).
1.2.2
Problemi decisionali
Molti problemi computazionali sono esprimibili in maniera naturale in termini di
problemi decisionali. Questi si definiscono in maniera formale facendo uso di un
insieme di simboli ⌃, chiamato alfabeto; l’insieme di tutte le possibili stringhe di
simboli appartenenti all’alfabeto si indica con ⌃⇤ . Si definisce linguaggio L un
sottoinsieme di ⌃⇤ .
Data una stringa di simboli, il problema di verificare se la stringa appartenga o
meno a L è un problema decisionale.
Facciamo un esempio pratico: se utilizziamo come alfabeto le due cifre binarie 0 e 1
allora ⌃⇤ rappresenta l’insieme di tutte le stringhe binarie, il quale può essere messo
in corrispondenza biunivoca con N. Se definiamo L come l’insieme dei numeri
binari che rappresentano dei numeri primi allora il problema di determinare se
una stringa binaria appartenga a L oppure no equivale allo stabilire se il numero
ad essa corrispondente è primo o meno.
Il problema della fattorizzazione è solitamente posto nella forma seguente: un
intero m possiede dei fattori non banali minori di l, con l < m?
Il problema di trovare i fattori di n si riconduce al precedente.
1.2.3
Classi di complessità
I problemi decisionali si possono classificare, ad esempio, in base al tempo impiegato da una macchina di Turing per risolverli. Un problema decisionale è
TIME(f (n)) se è possibile risolverlo con una macchina di Turing in un tempo
O(f (n)), dove n è la grandezza dell’input. I problemi TIME(nk ) formano la classe P dei problemi risolubili in un tempo polinomiale.
Dimostrare che un problema non appartiene a P è spesso molto difficile. Come
nel caso della fattorizzazione, accade che sebbene non si conosca ad oggi alcun
algoritmo capace di risolvere il problema in un tempo polinomiale, non si dispone
di una dimostrazione della sua inesistenza.
Per definire la classe NP ci serviamo ancora dell’esempio della fattorizzazione:
sebbene risolvere il problema richieda un tempo polinomiale, verificare che un
9
Capitolo 1. Introduzione alla teoria della computabilità
intero n abbia un fattore non banale p < l può essere fatto facilmente se p è noto.
p gioca il ruolo di un testimone nel dimostrare che n ha dei fattori non banali
minori di l, ovvero che n appartiene al linguaggio.
Appartengono a NP quei problemi decisionali che soddisfano (indichiamo con x
un generico elemento di ⌃⇤ ):
1. Se x 2 L allora esiste una stringa testimone w tale che una macchina di
Turing restituisca “si” in un tempo polinomiale prendendo come input x e
w.
2. Se x 2
/ L allora per ogni stringa w che si proponga come testimone, la stessa
macchina restituisce “no” in un tempo polinomiale prendendo come input x
e w.
Notiamo come le proprietà dei problemi NP siano asimmetriche in quanto non
prevedano un testimone per la verifica della non appartenenza di una stringa al
linguaggio. Si definisce perciò la classe coNP che contiene i complementi dei
problemi decisionali di NP: il complemento di un problema decisionale su un
linguaggio L si definisce tramite un linguaggio L0 = ⌃⇤ L, complemento in ⌃⇤ di
L.
Le proprietà dei problemi coNP sono dunque:
1. Se x 2
/ L0 allora esiste una stringa testimone w tale che una macchina di
Turing restituisca “no” in un tempo polinomiale prendendo come input x e
w.
2. Se x 2 L allora per ogni stringa w che si proponga come testimone, la stessa
macchina restituisce “si” in un tempo polinomiale prendendo come input x
e w.
I problemi della classe P sono anche in NP e coNP, in quanto per essi esiste
una macchina di Turing in grado di determinare l’appartenenza di una stringa al
linguaggio in un tempo polinomiale con un testimone w vuoto. Determinare se la
relazione P ✓ NP valga in senso stretto, il che implicherebbe anche NP = coNP,
è uno dei problemi aperti più famosi dell’informatica.
1.2.4
Problemi trattabili e problemi intrattabili
La complessità computazionale si occupa di stabilire dei limiti minimi sul numero
di risorse richieste per risolvere un certo problema computazionale. In questo
ambito viene fatta una grossa distinzione fra quei problemi che possono essere
risolti in un tempo polinomiale (classe P) e quelli che richiedono invece un tempo
superpolinomiale, o esponenziale3 rispetto alla grandezza dell’input. I primi sono
considerati trattabili, a di↵erenza dei secondi; vi sono varie ragioni per adottare
questa distinzione. Sebbene in generale non sempre un algoritmo polinomiale
3
Questa nomenclatura, sebbene di largo uso, non è del tutto appropriata in questa esistono
funzioni, come ad esempio nlog n , che crescono più velocemente di qualsiasi polinomio ma anche
più lentamente di un esponenziale.
10
1.2. Complessità computazionale
comporti una maggiore efficienza rispetto a un algoritmo superpolinomiale (2n/1000
non raggiunge n1000 se non per n ⇠ 108 ), storicamente gli algoritmi polinomiali
si sono dimostrati preferibili. Ciò anche dovuto verosimilmente ad un e↵etto di
selezione, in quanto ideare un algoritmo di n o n2 passi è certamente più affine al
ragionamento comune piuttosto che idearne uno di n1000 .
In secondo luogo, tale distinzione trova ragione nella tesi forte di Church–Turing
la quale a↵erma che ogni modello di computazione può essere simulato da una
macchina di Turing a prezzo di un aumento nel numero di operazioni elementari
richieste al più polinomiale.
Essa implica che se un problema può essere risolto in un tempo polinomiale con
un dato modello di computazione allora può essere risolto in una macchina di
Turing ancora in un tempo polinomiale e anche che, viceversa, se un problema
non è risolubile in un tempo polinomiale in una macchina di Turing allora non è
risolvibile a↵atto sotto tale vincolo. La teoria della complessità computazionale
trova cosı̀ una formulazione naturale se si associa alla nozione di trattabilità di un
problema la computabilità in un tempo polinomiale.
1.2.5
L’ideazione dei computer quantistici
A di↵erenza della sua controparte debole, la congettura forte di Church–Turing è
stata più volte messa in discussione nel secolo scorso e tutt’oggi la sua validità è
tutt’altro che accertata.
Subito dopo la pubblicazione della tesi debole di Turing, avvenuta nel 1936, furono
assemblati i primi calcolatori elettronici. John von Neumann si occupò di delineare
le caratteristiche che un computer reale avrebbe dovuto possedere per poter essere
equiparato alla macchina di Turing, ma si dovette aspettare sino al 1947, anno
dell’invenzione del transistor, per avere la possibilità di realizzare fisicamente un
simile dispositivo.
Da allora la tecnologia dei calcolatori elettronici si è evoluta molto rapidamente,
tanto che Gordon Moore, nel 1965, formulò l’omonima legge secondo la quale la
potenza di calcolo dei computer sarebbe dovuta progredire raddoppiando di anno
in anno.
Di fatto si è passati dall’Intel 4004 del 1971, costituito da 2250 transistor, al
Pentium 4 che, nel 2000, ne conteneva 42 milioni. Tale evoluzione procede di pari
passo con la miniaturizzazione dei componenti, la quale comporta da un lato una
simile crescita esponenziale dei costi di produzione e dall’altro si scontra con dei
limiti fisici. Se le dimensioni di un transitor raggiungeranno infatti l’ordine di
grandezza della lunghezza di De Broglie dell’elettrone, gli e↵etti quantistici non
sarranno più trascurabili e i circuiti elettronici non potranno più funzionare nel
modo in cui oggi normalmente li utilizziamo.
Una delle possibili strade percorribili per non incorrere nel declino della crescita
esponenziale prevista da Moore è quella di passare ad un diverso e nuovo paradigma
computazionale, quale è quello dei computer quantistici.
Nel ripercorrere i passi che hanno portato a credere che la meccanica quantistica potesse essere sfruttata per risolvere dei problemi computazionali, torniamo
al 1936 e alla tesi di Church–Turing. Con il successivo sviluppo dei computer a
11
Bibliografia
transistor e dell’informatica si iniziò a credere, negli anni 60’ e 70’, che non fosse
possibile trovare un modello capace di sopravanzare quello di Turing, e venne cosı̀
formulata la tesi forte enunciata al paragrafo precedente.
Una prima sfida che la tesi forte dovette a↵rontare venne dal campo dei computer
analogici, che sembravano poter riuscire a risolvere efficientemente dei problemi
per i quali non si conosceva invece alcun algoritmo efficiente funzionante sulla
macchina di Turing.
Questa scoperta si rivelò non vera, riconsiderando la questione senza omettere il
rumore a cui questi dispositivi analogici sono soggetti.4
Una seconda obiezione alla tesi di Church–Turing forte venne avanzata da Robert
Solovay e Volker Strasse, i quali fabbricarono negli anni ’70 un algoritmo stocastico capace di determinare se un numero intero fosse primo oppure no con una
certa probabilità: l’elemento casuale permetteva di risolvere, sebbene in termini
probabilistici, un problema ritenuto intrattabile. Ne risultò la seguente modifica
alla tesi di Church–Turing forte: ogni modello di computazione può essere simulato
da una macchina di Turing probabilistica a prezzo di un aumento nel numero di
operazioni elementari richieste al più polinomiale.
Questa modifica ad hoc della tesi portò a pensare di a↵rontare la questione della
computabilità in maniera diversa, senza ricorrere a congetture: nel 1985 David
Deutsch propose l’idea che un modello di computazione dovesse basarsi su una
teoria fisica, e cercò di definire un modello di computazione capace di simulare qualsiasi sistema fisico. Dato che le leggi della fisica sono, in ultima analisi,
quanto–meccaniche, egli considerò un modello di computazione basato sulle leggi della meccanica quantistica. Non era questa un’idea del tutto nuova: Richard
Feynman nel 1982 ipotizzò che un computer quantistico avrebbe potuto velocizzare
considerevolmente la simulazione di sistemi quantistici.
La traccia di Deutsch non passò inosservata: nel 1994 Peter Shor trovò un algoritmo quantistico per fattorizzare i numeri in un tempo polinomiale; anche altri
algoritmi capaci di superare in velocità i corrispettivi algoritmi classici vennero
scoperti. Insieme essi suggeriscono che i computer quantistici possano svolgere efficientemente alcuni compiti classicamente ritenuti difficili, contrariamente a
quanto a↵erma la tesi di Church–Turing forte. Tuttavia allo stato attuale della conoscenza non si può escludere l’esistenza di algoritmi classici altrettanto efficienti,
per cui capire l’e↵ettiva potenza computazionale dei computer quantistici è una
questione ancora aperta.
Bibliografia
[Fox06]
Mark Fox. Quantum Optics. Oxford University Press, 2006.
[NC00]
Michael A. Nielsen e Isaac L. Chuang. Quantum Computation and
Quantum Information. Cambridge University Press, 2000.
4
È questa una lezione che non potremo ignorare quando ci occuperemo, nel capitolo 4, della
realizzazione fisica dei computer quantistici
12
Capitolo 2
Il modello di computazione a
circuito quantistico
2.1
Il bit quantistico (qubit)
Un segnale analogico è una grandezza fisica (una tensione, ad esempio) variabile
con continuità nel tempo, atta a convogliare un’informazione (l’ampiezza di un’onda sonora). L’informazione trasportata da un segnale può essere immagazzinata
in dei supporti analogici (l’onda sonora può essere convertita nell’altezza del un
solco di un disco), i quali hanno una risoluzione teoricamente infinita. Nella realtà
il rumore limita la fedeltà di queste registrazioni.
Per contrasto, la rappresentazione digitale dell’informazione è basata sull’utilizzo
di stati discreti di un dispositivo fisico, ed è praticamente esente da rumore.
La rappresentazione binaria utilizza due stati, ai quali ci si riferisce solitamente
con 0 e 1, che costituiscono il contenuto di informazione di un bit. Un bit può essere
tradotto fisicamente come, ad esempio, una tensione in un circuito elettronico
(bassa 7! 0, alta 7! 1).
L’informatica quantistica non abbandona la rappresentazione digitale dell’informazione, tuttavia si avvale di uno dei postulati della meccanica quantistica
secondo il quale un sistema fisico può trovarsi in una sovrapposizione di stati
| i = ↵0 |0i + ↵1 |1i
con
|↵0 |2 + |↵1 |2 = 1
(2.1)
dove | i è lo stato del sistema, ↵0 e ↵1 sono generici numeri complessi e |0i e
|1i sono due vettori (ket) ortonormali appartenenti allo spazio degli stati E del
sistema.
Ci si può riferire ai numeri ↵0 e ↵1 come ampiezze di probabilità, in quanto
misurando un’osservabile A avente |0i e |1i come autovettori, ovvero
A |0i = a0 |0i
A |1i = a1 |1i
(2.2)
la probabilità di ottenere l’autovalore ai è
| hi| i |2 = |↵i |2
i = 0, 1
L’informazione immagazzinata nello stato quantistico | i viene chiamata qubit
(abbreviazione di quantum bit). I due vettori |0i e |1i generano il sottospazio di E
13
Capitolo 2. Il modello di computazione a circuito quantistico
all’interno del quale si svolge la computazione quantistica, e prendono per questo
il nome di stati della base computazionale.
Ciò che rende la computazione quantistica un traguardo tecnologico piuttosto
che una curiosità matematica è il fatto che i qubit siano degli oggetti fisici.
L’esempio più comune di qubit è lo stato di spin di una particella con spin 1/2: la
base computazionale è assimilabile in tal caso ai due autovettori di Sz : |+i e | i.
2.1.1
Rappresentazione di un qubit nella sfera di Bloch
Lo stato | i dato dall’equazione 2.1 può essere riscritto, tenendo conto della
condizione di normalizzazione, come
✓
◆
✓
✓
i
i
| i=e
cos |0i + e sin |1i
(2.3)
2
2
In questa scrittura compaiono tre parametri indipendenti che possono variare in
accordo con
0  < 2⇡
0✓<⇡
0  < 2⇡
La fase globale ei non ha e↵etti osservabili nella maggior parte dei casi, e può
pertanto essere ignorata. I parametri ✓ e possono invece venire associati biunivocamente ai punti di una sfera unitaria secondo la legge
8
>
<x = sin ✓ cos
(2.4)
y = sin ✓ sin
>
:
z = cos ✓
Figura 2.1: Rappresentazione di un qubit nella sfera di Bloch.
Questa rappresentazione prende il nome di sfera di Bloch (figura 2.1), ed è un
importante ausilio intuitivo per la comprensione della computazione quantistica.
14
2.1. Il bit quantistico (qubit)
2.1.2
Informazione quantistica
La natura intrinsecamente probabilistica della meccanica quantistica rende difficile
rispondere alla domanda su quale sia il contenuto e↵ettivo di informazione di un
qubit.
Misurando l’osservabile A di eq. 2.2 possiamo ottenere i due autovalori con
probabilità data dal modulo quadro delle relative ampiezze complesse.
In seguito alla misura lo stato | i collassa nell’autovettore corrispondente all’autovalore misurato, procurando una perdita irreversibile di informazione.
Da ciò appare chiaro che sebbene i punti sulla sfera di Bloch siano infiniti
e di conseguenza sia possibile, in principio, codificare in essi una quantità potenzialmente illimitata di informazione, tale informazione non risulti facilmente
accessibile per via della natura probabilistica della misura quantistica e del collasso della funzione d’onda.
È certamente una questione delicata quantificare il contenuto di informazione di
un oggetto di cui non è possibile determinare lo stato se non con metodi statistici.
2.1.3
Doppio qubit ed entanglement
Se consideriamo un sistema costituito da due particelle di spin 1/2 avremo che
lo spazio degli stati di spin del sistema sarà costituito dal prodotto tensoriale dei
corrispettivi spazi di singola particella:
1
2
Espin = Espin
⌦ Espin
Una base di questo spazio è costituita dai vettori
|"1 i ⌦ |"2 i
"i = +,
e pertanto un generico stato del sistema si può scrivere (facciamo la corrispondenza
|0i 7! | i e |1i 7! |+i) come
| i = ↵00 |00i + ↵01 |01i + ↵10 |10i + ↵11 |11i
In generale uno stato di questo tipo non è esprimibile come prodotto tensoriale di
stati di singola particella: in questi casi le due particelle si dicono entangled.
L’entanglement ha delle implicazioni fisiche e tecnologiche assai rilevanti, che
trovano ragione nel particolare comportamento degli stati entangled in seguito ad
una misura eseguita su una delle due particelle.
Prendiamo in considerazione dapprima uno stato non-entangled, ovvero
i
| i = | 1 i ⌦ | 2 i , con | i i 2 Espin
(2.5)
In seguito ad una misurazione sulla particella 1 di una grandezza A1 lo stato si
modifica in
P1 | i
| 0i = p
(2.6)
h |P1 | i
dove P1 è l’operatore di proiezione sull’autospazio dell’osservabile A1 corrispondente all’autovalore misurato.
15
Capitolo 2. Il modello di computazione a circuito quantistico
Nel caso non-entangled il proiettore non agisce sullo stato della seconda particella,
il quale rimane invariato:
| 0 i / P1 (| 1 i ⌦ | 2 i) = (P1 | 1 i) ⌦ | 2 i)
Consideriamo ora invece uno stato entangled, quale ad esempio
| i=
|00i |11i
p
2
Questo stato, detto di singoletto, è autovettore dello spin totale S delle due particelle. Esso non è esprimibile come prodotto tensoriale nella forma dell’equazione
2.5.
Supponiamo di misurare la proiezione sull’asse z dello spin della prima particella1 .
In accordo con la 2.6 lo stato della seconda particella dopo la misura sarà |0i o |1i
a seconda che lo spin misurato nella prima sia, rispettivamente, ~/2 o +~/2.
Questo significa che e↵ettuare una misurazione sulla prima particella produce
degli e↵etti sulla seconda, la quale può trovarsi anche a grande distanza dal luogo
della misura. Ciò può essere detto più elegantemente a↵ermando che la meccanica
quantistica è una teoria fisica non–locale.
Bisogna precisare che tramite questo e↵etto non è possibile trasmettere alcuna informazione, e non si ha dunque una violazione della teoria della relatività
speciale.
2.1.4
Qubit multipli
Se seguitiamo ad aggiungere altre particelle al nostro sistema quantistico la dimensione dello spazio degli stati cresce di un fattore 2 per ciascuna particella
aggiuntiva: un insieme di N qubit raccoglie l’informazione contentuta in 2N ampiezze complesse. Per N = 500 questo numero supera il numero stimato degli
atomi nell’universo!
Da ciò deduciamo che anche un sistema fisico relativamente contenuto evolve in
maniera assai complessa: in esso è racchiuso un enorme potenziale computazionale
che si vorrebbe cercare di sfruttare.
2.2
Circuiti quantistici
In somiglianza con il modello circuitale classico, nell’ambito del quale si possono disegnare degli algoritmi utilizzando collegamenti e porte logiche, nel modello
circuitale quantistico si utilizzano elementi analoghi per trasportare e manipolare
l’informazione.
È utile a questo punto introdurre un formalismo matriciale, secondo il quale
associamo ad un qubit singolo un vettore colonna
✓ ◆
↵0
| i = ↵0 |0i + ↵1 |1i 7!
↵1
1
Ciò è possibile solamente se le due particelle sono distinguibili. Nelle applicazioni questa
condizione è soddisfatta per via della adeguata separazione spaziale delle particelle.
16
2.2. Circuiti quantistici
Figura 2.2: Tre esempi di circuiti quantistici, che illustrano l’azione delle porte logiche
X, Z e H (vedi par. 2.2.1).
mentre rappresentiamo le porte agenti su un singolo qubit come matrici 2 ⇥ 2.
Le porte logiche agiscono sui qubit secondo | 0 i = U | i; imponendo la conservazione della norma dello stato si trova che le porte U accettabili sono unitarie:
h 0| 0i =
⌦
U †U
↵
= h | i = 1 8 | i =) U † U = I
(2.7)
Questa è l’unica condizione che si richiede a una porta logica quantistica (il ragionamento rimane valido anche per qubit multipli).
L’unitarietà delle porte logiche ha delle implicazioni importanti per quanto riguarda l’entropia delle computazioni quantistiche: esse sono sempre invertibili.
Un’altra importante proprietà di queste trasformazioni è la linearità.
All’aumentare della dimensione dello spazio computazionale la dimensione dei
vettori e delle matrici aumenta di conseguenza; la base si ordina convenzionalmente
secondo il sistema di numerazione binario (|0 . . . 00i, |0 . . . 01i, . . . , |1 . . . 11i). Le
porte logiche quantistiche su N qubit formano il gruppo U (2N ).
Dal punto di vista grafico i collegamenti che trasportano i qubit si rappresentano
come delle linee orizzontali, le porte logiche come dei quadrati e i circuiti si leggono
da sinistra a destra. In figura 2.2 riportiamo alcuni prototipi di circuiti quantistici.
Vi sono delle di↵erenze fondamentali tra i circuiti logici classici e quelli quantistici. In primo luogo nei circuiti quantistici, non è permesso il feedback: essi si
dicono aciclici. In secondo luogo nei circuiti quantistici non può esistere il fanin,
operazione in cui due o più qubit sono uniti in uno solo mediante una qualche porta logica: operazioni come l’and o l’or classici, che mappano quattro stati (00,
01, 10, 11) su due (0, 1) non possono essere invertite, contrariamente a quanto
richiesto dalla 2.7.
Per ultimo osserviamo come il fanout, tramite il quale il ramo di un circuito
logico classico si dirama in due o più bracci, comporti la copia dell’informazione
trasportata dal ramo originale. Come vedremo al paragrafo 3.1.1, la copia dei
qubit è fisicamente impossibile, risultato noto come no–cloning theorem.
2.2.1
Porte logiche di singolo qubit
Se nel modello classico l’unica porta logica non banale di singolo bit è la porta
not, nel modello quantistico esistono invece diverse operazioni di questo tipo.
17
Capitolo 2. Il modello di computazione a circuito quantistico
La naturale estensione del not classico alla logica circuitale quantistica è la porta
X, che scambia i coefficienti dei vettori della base computazionale:
X=
✓
0 1
1 0
◆
Il simbolo X è scelto in riferimento alla matrice di Pauli
hanno
✓
◆
✓
◆
0
i
1 0
Y =
Z=
i 0
0
1
x
⌘ X. Similmente si
Altre tre porte molto utilizzate sono la porta di Hadamard, la fase S, e la porta
⇡/8 (che si indica anche con T ):
1
H=p
2
T =
2.2.2
✓
✓
1
1
1
1
1
0
i⇡/4
0 e
◆
◆
=e
S=
i⇡/8
✓
e
✓
1 0
0 i
i⇡/8
◆
0
ei⇡/8
0
◆
Operatori di rotazione
Le matrici di Pauli hanno delle proprietà notevoli: esse generano gli operatori di
rotazione nello spazio degli stati dello spin.
Ricordiamo che l’operatore di rotazione di un sistema quantistico è
Rû (↵) = exp
✓
1
↵J · û
i~
◆
(2.8)
Esso, agendo su un ket | i, ruota il sistema di un angolo ↵ intorno all’asse diretto
lungo il versore û. J è il momento angolare totale del sistema, dato, nel caso di
una singola particella dotata di spin, da
J=L+S
con L momento angolare orbitale della particella. Siccome si ha che [L, S] = 0
l’operatore della 2.8 si può riscrivere come
Rû (↵) = exp
✓
◆
✓
◆
1
1
↵L · û exp
↵S · û
i~
i~
il quale è formalmente il prodotto tensoriale di due operatore agenti, rispettivamente, nello spazio degli stati orbitale e in quello dello spin.
Calcoliamo questi operatori limitandoci a considerare la parte relativa allo spin.
Sfruttando l’uguaglianza
exp(iAx) = cos(x)I + i sin(x)A
18
x2R
(2.9)
2.2. Circuiti quantistici
possiamo ottenere le rotazioni del sistema attorno agli assi cartesiani
✓
◆
cos 2✓
i sin 2✓
i↵X/2
Rx (↵) = e
=
i sin 2✓
cos 2✓
✓
◆
cos 2✓
sin 2✓
i↵Y /2
Ry (↵) = e
=
sin 2✓ cos 2✓
✓ i✓/2
◆
e
0
i↵Z/2
Rz (↵) = e
=
0
ei✓/2
(2.10)
e anche
Rû (↵) = exp( i↵û · /2) = cos
⇣↵⌘
2
I
i sin
⇣↵⌘
2
(ux X + uy Y + uz Z)
(2.11)
dove ~2 = S. Questi operatori sono unitari, e rappresentano dunque delle valide
porte logiche quantistiche.
2.2.3
Interpretazione geometrica degli operatori di rotazione nella sfera di Bloch
Mostriamo ora che gli operatori dell’equazione 2.10 agiscono su un qubit 2.3 ruotando il corrispondente vettore 2.4 sulla sfera di Bloch.
Richiamiamo innanzitutto la teoria delle particelle quantistiche di spin 1/2: lo
stato più generale di tali particelle è esprimibile nella forma 2.3, che è autovettore
di S · û se il versore u è dato dalla 2.4 (l’autovalore corrispondente è +~/2). Si
avrà perciò, indicando con |ui lo stato del sistema,
(S · û) |ui =
~
|ui
2
E↵ettuando una rotazione R sul sistema e ruotando corrispondentemente lo strumento di misura dello spin in modo che la posizione relativa non sia mutata, ci si
dovrà trovare in una configurazione fisicamente equivalente alla precedente. Dovrà
perciò valere
~
(S · Rû)R |ui = R |ui
2
nella quale R è la matrice di rotazione classica corrispondente all’operatore R.
Vediamo cosı̀ che lo stato R | i deve essere autovettore di S · Rû di autovalore
positivo, e dunque a tale stato sarà associato il vettore Rû nella sfera di Bloch,
come volevasi dimostrare.
Oltre all’appena discussa interpretazione geometrica, gli operatori di rotazione 2.10 hanno un ruolo importante nella teoria delle porte logiche quantistiche:
ciascun operatore unitario di dimensione 2 può infatti essere scritto come
U = ei↵ Rû (✓)
Precedentemente abbiamo trascurato la fase globale dei qubit in quanto fisicamente non rilevante. Nel caso delle porte logiche vale un discorso analogo: anche se la
19
Capitolo 2. Il modello di computazione a circuito quantistico
dimensione di una porta U è minore della della cardinalità della base computazionale, ovvero se essa agisce solo su un sottoinsieme dei qubit del circuito quantistico,
un’eventuale fase globale di U non può introdurre degli sfasamenti relativi tra le
ampiezze complesse:
(ei↵ |ai) ⌦ |bi = ei↵ (|ai ⌦ |bi) ! |ai ⌦ |bi
2.2.4
Decomposizione in rotazioni delle porte logiche di
singolo qubit
Dimostriamo ora alcuni metodi, di cui ci avvaleremo nel seguito, che permettono
di scrivere un generico U 2⇥2 in termini di operatori di rotazione.
Dimostriamo dapprima il teorema di decomposizione Z-Y : dato un operatore
unitario U esistono sempre quattro numeri reali ↵, , e tali che
U = ei↵ Rz ( )Ry ( )Rz ( )
(2.12)
Eseguendo la moltiplicazione al secondo membro si trova
U=
e i( ↵ 2
ei(↵+ 2
) cos
2
2 ) sin
2
2
ei(↵ 2 + 2 ) sin 2
ei(↵+ 2 + 2 ) cos 2
!
la quale è facilmente riconducibile alla seguente parametrizzazione del gruppo U (2)
✓ i
◆
e 1 cos ✓
ei 2 sin ✓
i
e
e i 2 sin ✓ e i 1 cos ✓
Il teorema ha il seguente corollario: per ciascun operatore su singolo qubit U
esistono tre matrici A, B e C tali che ABC = I e U = ei↵ AXBXC.
La dimostrazione procede per costruzione: utilizzando la notazione del precedente
teorema poniamo
◆
✓
◆
⇣ ⌘
⇣
⌘ ✓
+
A = Rz ( )Ry
B = Ry
Rz
C = Rz
2
2
2
2
Tenendo conto delle proprietà Rû (✓) + Rû ( ) = Rû (✓ + ) e Rû (0) = I si può
verificare la prima parte della tesi.
Per la seconda si utilizza l’identità XY X = Y che implica XRy (✓)X = Ry ( ✓);
quest’ultima si verifica per sostituzione sfruttando la 2.9.
Sostituendo le matrici A, B e C nell’espressione di U si ottiene
✓
◆
⇣
⌘
⇣
⌘ ✓ + ◆
+
XBX = XRy
XXRz
X = Ry
Rz
2
2
2
2
Quindi
AXBXC = Rz ( )Ry
⇣ ⌘
⇣ ⌘
Ry
Rz
2
2
= Rz ( )Rx ( )Rz ( )
✓
+
2
◆
Ry
✓
2
◆
come volevasi dimostrare.
La 2.12 si può estendere a due assi arbitrari distinti n̂ e m̂:
U = ei↵ Rn̂ ( )Rm̂ ( )Rn̂ ( )
20
(2.13)
2.2. Circuiti quantistici
Figura 2.3: Porta logica cnot.
2.2.5
Operazioni controllate
Per operazioni controllate intendiamo dei processi algoritmici nei quali una certa
operazione viene eseguita condizionalmente a certi requisiti. Queste operazioni
condizionali sono fondamentali sia nella logica classica che in quella quantistica.
La più semplice di queste porte logiche in ambito quantistico è il cnot, la cui
azione sulla base computazionale è data da
|ci |ti 7! |ci |t
ci
t,c = 0,1
dove indichiamo con il simbolo la somma modulo 2. Il primo qubit viene detto
qubit di controllo in quanto la porta di singolo qubit X viene applicata al qubit
|ti (target qubit) solo quanto c = 1.
La rappresentazione matriciale del cnot è
0
1
1 0 0 0
B0 1 0 0 C
B
C
@0 0 0 1 A
0 0 1 0
e il suo simbolo circuitale è indicato in figura 2.3.
Estendendo questa idea, è possibile e↵ettuare delle operazioni U qualsiasi
controllate:
|ci |ti 7! |ci U c |ti
che si indicano con il simbolo di figura 2.4.
Figura 2.4: Operazione U controllata.
Più in generale il numero di qubit di controllo N e quello dei qubit bersaglio
K può essere scelto a piacere.
L’operazione controllata nel suo insieme si scrive come
C N (U ) |x1 x2 . . . xN i | i = |x1 x2 . . . xN i U x1 x2 ...xN | i
21
Capitolo 2. Il modello di computazione a circuito quantistico
Figura 2.5: Operazione controllata C n (U ), con n qubit di controllo e U matrice unitaria
2k ⇥ 2k .
Figura 2.6: Questa porta logica inverte il qubit inferiore quando quello superiore è
|0i. Si ricava dal tradizionale cnot, invertendo il qubit di controllo prima e dopo la sua
applicazione.
Un esempio grafico di queste porte è riportato in figura 2.5.
Nel seguito assumeremo K = 1.
È utile anche definire delle porte controllate “inverse”, nelle quali l’operatore
U viene applicato ai qubit bersaglio solo se il qubit di controllo è 1 (fig. 2.6).
2.2.6
Implementazione di operazioni controllate
Mostriamo in questo paragrafo come sia possibile realizzare una generica operazione controllata C N (U ) utilizzando solamente porte logiche di singolo qubit e
cnot.
Figura 2.7: Due circuiti equivalenti per l’applicazione controllata di una fase ei↵ .
22
2.2. Circuiti quantistici
Figura 2.8: Applicazione di porte controllate C 1 (U ) qualsiasi mediante cnot e porte
di singolo qubit.
Figura 2.9: Applicazione di porte controllate C 2 (U ) qualsiasi mediante cnot e porte
C 1 (V ). Vale la relazione V 2 = U .
Per prima cosa analizziamo il circuito a sinistra in figura 2.7: esso applica una
fase globale ei↵ condizionatamente al valore del primo qubit.
Dato che
ei↵ |1ti = (ei↵ |1i) ⌦ |ti
questa porta può essere realizzata, in un’altra maniera, utilizzando una singola
operazione U 0 che agisce invece sul qubit di controllo (vedi ancora fig. 2.7 a destra).
Per costruire una qualsiasi operazione C 1 (U ) ci si serve del precedente risultato
unito al teorema di decomposizione 2.12, come dal circuito in figura 2.8: quando
il primo qubit è 1 allora U = ei↵ AXBXC viene applicata al secondo. In caso
contrario agisce solamente ABC = 1, e non si ha alcuna modifica dei qubit.
Occupiamoci ora delle porte C 2 (U ). Esse richiedono la disponibilità di una
porta V scelta in modo che V 2 = U . Il circuito appropriato è rappresentato in
figura 2.9. Facendo uso della logica booleana possiamo calcolare lo stato finale |f i
del qubit bersaglio:
8 2
V |ii
se c1 = c2 = 1
>
>
>
<V † V |ii
se c1 = 1, c2 = 0
c1 c2
|f i = V c2 V †
V c1 |ii =
>
V V † |ii
se c1 = 0, c2 = 1
>
>
:
|ii
se c1 = c2 = 0
Notiamo che il secondo cnot che agisce sui qubit di controllo non ha alcun e↵etto
su |f i: esso ha la funzione di ripristinare c2 al suo valore iniziale (i qubit di controllo
non devono venire modificati dalla porta controllata).
Utilizzando l’operatore C 2 (X), detto porta di To↵oli, è possibile sommare i
qubit modulo 2, rendendo possibile la realizzazione di porte controllate qualsiasi
23
Capitolo 2. Il modello di computazione a circuito quantistico
Figura 2.10: Circuito per la realizzazione di porte controllate C N (U ). Sono necessarie
C 2 (X) (porta di To↵oli) e C 1 (U ). È rappresentato il caso N = 5.
Figura 2.11: Simbolo circuitale della misura su un qubit.
come da figura 2.10. Ancora una volta, le porte che si trovano a destra di U nel
circuito servono a ripristinare i qubit di controllo.
In questo schema, concettualmente semplice, sono necessari N 1 qubit di lavoro
per memorizzare i risultati intermedi delle somme; tuttavia è possibile disegnare
dei circuiti più raffinati che non fanno uso di qubit di lavoro.
Siamo ora giunti al termine di una dimostrazione completa di come eseguire
delle operazioni controllate C N (U ) utilizzando solamente cnot e porte logiche di
singolo qubit. Analizziamo ciascun elemento del circuito 2.10:
• la porta U controllata si può scomporre in cnot e operatori di singolo qubit,
come dal circuito 2.8.
• le porte di To↵oli p
si implementano mediante lo schema 2.9 ponendo U =
X, dunque V = X = (1 i)(1 + iX)/2. Sono necessari il cnot ed
operatori controllati di singolo qubit; per questi ultimi ci riconduciamo al
caso precedente.
Come a↵ermato al paragrafo 2.2.5, ci siamo limitati al caso di U agenti su
singolo qubit (K = 1). Per K qualsiasi il risultato trovato continua ad essere
valido; i metodi da utilizzare sono simili a quelli appena spiegati.
2.2.7
Misurazioni
Come detto nei paragrafi 2.1 e 2.1.3, la misura di un qubit comporta il collasso
dello stesso in uno stato puro e una perdita di informazione. Le misurazioni sulla
24
2.2. Circuiti quantistici
Figura 2.12: Applicazione del principio della misura ritardata.
base computazionale sono utilizzate nei circuiti quantistici per convertire dei qubit
in dei bit probabilistici 2 .
Esse si indicano con il simbolo di figura 2.11, nel quale i rami doppi trasportano
bit classici.
Le misurazioni in un circuito quantistico obbediscono a due regole:
Principio della misura ritardata: le misurazioni possono sempre essere spostate da uno stadio intermedio di un circuito quantistico alla fine dello stesso;
se il risultato della misura viene utilizzato all’interno del circuito, allora l’operazione controllata classicamente può essere rimpiazzata da un operazione
controllata quantisticamente.
La ragione fisica di questo primo principio è da ricercarsi nell’entanglement.
Il circuito di figura 2.12 può essere condensato nella frase “le misurazioni commutano con i controlli”.
Ammettiamo che lo stato iniziale del sistema sia dato dalla 2.1. Possiamo vedere
come nel primo caso (misura ritardata, disegno a sinistra) la perdita dell’informazione associata alle ampiezze corrispondenti allo stato del primo qubit che non
viene misurato sia causata a posteriori dalla proiezione del primo qubit sullo stato che viene misurato. Chiamiamo | 0 i lo stato del sistema dopo l’applicazione
dell’operazione controllata:
|
0
rit. i
0
0
= C(U ) | i = ↵00 |00i + ↵01 |01i + ↵10
|10i + ↵11
|11i
in quanto l’operazione agisce solo sugli stati per i quali il qubit di controllo (rappresentato dal primo delle due cifre binarie) è 1. Se la misura finale sul primo
qubit fornisce l’autovalore legato a |0i, lo stato finale del sistema sarà
|
00
rit. i
1
=p
(↵00 |00i + ↵01 |01i)
|↵00 |2 + |↵01 |2
(2.14)
nell’altro caso avremo invece
|
2
00
rit. i
1
0
0
=p 0
(↵10
|10i + ↵11
|11i)
0 2
2
|↵10 | + |↵11
|
(2.15)
Con “misurazione sulla base computazionale” intendiamo la misura di un osservabile avente
i ket |0i e |1i come autovettori.
25
Capitolo 2. Il modello di computazione a circuito quantistico
Per quanto riguarda la misura non ritardata (disegno di sinistra in figura 2.12) la
proiezione della funzione d’onda avviene prima, lasciando il sistema nello stato
oppure nello stato
1
| 0i = p
(↵00 |00i + ↵01 |01i)
2
|↵00 | + |↵01 |2
1
| 0i = p
(↵10 |10i + ↵11 |11i)
|↵10 |2 + |↵11 |2
(2.16)
(2.17)
Applicando C(U ) alle 2.16 e 2.17 si ritrovano esattamente le 2.14 e 2.15, rispettivamente (teniamo presente che per l’unitarietà di U deve valere |↵10 |2 + |↵11 |2 =
0 2
0 2
|↵10
| + |↵11
| ).
Prestiamo attenzione al fatto che nel caso della misura implicita, prima della
misurazione l’informazione corrispondente a entrambe le possibilità (collasso in |0i
o in |1i del primo qubit) è contenuta nei due qubit.
Si tratta di un aspetto peculiare della meccanica quantistica che è possibile sfruttare a fini algoritmici (vedi parallelismo quantistico, §3.2). Esso si manifesta sperimentalmente in varianti dell’interferenza da doppia fenditura quali il quantum
eraser ed esperimenti ad esso affini.
Principio della misura implicita: si può assumere di misurare ciascun ramo
non terminato (ovvero che non si conclude con una misurazione) di un
circuito quantistico senza perdita di generalità.
Illustriamo più in dettaglio il senso di questo secondo principio. Supponiamo di
avere un sistema di due qubit descritti da un operatore densità
⇢k = |
k ih k |
il quale descrive uno stato puro.
Chiamiamo Pi l’operatore di proiezione sullo stato |ii del primo qubit:
Pi = |iihi| ⌦ 1
E↵ettuando una misura sulla base computazionale del primo qubit l’operatore
densità si trasforma in
Pi | k ih k | Pi
⇢0k,|ii =
h k |Pi | k i
se la misura ha dato risultato i.
Se ignoriamo il risultato della misurazione la nostra conoscenza dello stato del
sistema si può racchiudere in
⇢0k = tr(⇢k P0 )⇢0k,|0i + tr(⇢k P1 )⇢0k,|1i
ovvero, essendo tr(⇢k Pi ) = h
k |Pi | k i,
⇢0k = P0 |
26
k ih k | P0
+ P1 |
k ih k | P1
(2.18)
2.3. Un insieme di porte logiche quantistiche universali
Nel caso generale abbiamo che ⇢ descrive una miscela statistica di stati:
X
⇢=
p k ⇢k
k
Secondo la 2.18 avremo che l’operatore densità dopo la misura sarà ora
X
X⇥
⇤
⇢0 =
pk ⇢0k =
pk (P0 | k ih k | P0 + P1 | k ih k | P1 )
k
(2.19)
k
= P0 ⇢P0 + P1 ⇢P1
(2.20)
Dimostriamo che la statistica delle misurazioni sul secondo qubit non è stata
modificata dalla misurazione e↵ettuata sul primo, ovvero che:
tr1 ⇢ = tr1 ⇢0
Indichiamo con |ui i i vettori della base del primo qubit e con |vi i quelli del secondo.
Per definizione abbiamo
X
(tr1 ⇢)nn0 =
hup vn |⇢|up vn0 i
p
Confrontiamo questo operatore con quello ottenuto da ⇢0 :
X
(tr1 ⇢0 )nn0 =
hup vn |(P0 ⇢P0 + P1 ⇢P1 )|up vn0 i =
p
= hu0 vn |⇢|u0 vn0 i + hu1 vn |⇢|u1 vn0 i =
X
p
hup vn |⇢|up vn0 i (2.21)
che è quanto volevamo dimostrare.
2.3
Un insieme di porte logiche quantistiche universali
In questo paragrafo dimostreremo che le porte logiche H, S, cnot e T formano un
insieme di porte universali, ovvero che qualunque circuito quantistico può essere
realizzato (o, più propriamente, approssimato) utilizzando gli operatori suddetti.
Questo risultato è fondamentale dal punto di vista della realizzazione sperimentale
dei computer quantistici, in quanto nella realtà si ha a disposizione un numero
finito di operazioni e↵ettuabili sul sistema fisico.
2.3.1
Decomposizione in matrici unitarie a due livelli
Per prima cosa dimostriamo che qualunque matrice unitaria U d⇥d può essere scritta
come prodotto di matrici unitarie a due livelli, ovvero matrici unitarie che agiscono
solamente nel sottospazio generato da due vettori qualsiasi della base computazionale.
Consideriamo il caso d = 3; dimostreremo che
U3 U2 U1 U = 1
27
Capitolo 2. Il modello di computazione a circuito quantistico
con U3 , U2 e U1 matrici unitarie a due livelli.
Sia
0
a d
U = @b e
c f
Da ciò segue che U = U1† U2† U3† .
1
g
hA
j
Applichiamo ad U una trasformazione unitaria
della prima colonna (se tale termine è già nullo
0
1
⇤
⇤
p a2 2 p b2 2 0 0
|a| +|b|
B |a| b+|b|
C a d
a
Bp
C@
@ |a|2 +|b|2 p|a|2 +|b|2 0A b e
c f
0
0
1
Allo stesso modo annulliamo il terzo termine
0
1
0⇤
0⇤
p 0a2 0 2 0 p 0c2 0 2 0 0
a
|a | +|c | C
B |a | +|c |
B
C
@
0
1
0
@
A 00
0
0
p 0 c2 0 2 0 p 0 2a 0 2
c
|a | +|c |
|a | +|c |
U1 che annulli il secondo termine
possiamo porre U1 = 1):
1 0 0 0 01
g
a d g
A
@
h = 0 e0 h0 A
j
c0 f 0 j 0
della prima colonna:
1 0
1
d0 g 0
1 d00 g 00
e0 h0 A = @0 e00 h00 A
f 0 j0
0 f 00 j 00
Al secondo membro compare un prodotto di matrici unitarie, che è a sua volta
unitario. Per questo deve essere d00 = g 00 = 0 (le colonne e le righe di una matrice
unitaria hanno norma unitaria).
A questo punto abbiamo ottenuto una matrice diagonale a blocchi, e possiamo
ripetere il procedimento per il secondo blocco trovando infine la matrice identità.
Il metodo si può estendere a matrici di dimensione maggiore; in generale per matrici
d–dimensionali sono necessarie al più d(d 1)/2 matrici Ui . In termini di qubit,
essendo d = 2N , il numero massimo di trasformazioni da utilizzare è 2N 2 (2N 1).
2.3.2
Applicazione di porte unitarie a due livelli qualsiasi
mediate porte di singolo qubit
Cerchiamo ora un metodo che ci permetta di applicare ad un sistema di N qubit
una trasformazione unitaria a due livelli utilizzando le porte logiche e le tecniche
di cui abbiamo parlato al §2.2.
Ricordiamo che una matrice unitaria a due livelli U appare come
0
1
1 0 0 0
B0 a 0 c C
B
C
@0 0 1 0 A
0 b 0 d
Possiamo sempre costruire una matrice bidimensionale Ũ estraendo la parte non
banale di U :
✓
◆
a c
Ũ =
b d
L’idea della procedura che utilizzeremo è quella di e↵ettuare degli scambi di
ampiezze dei vettori della base computazionale in modo da ridurre il problema
28
2.3. Un insieme di porte logiche quantistiche universali
all’applicazione (condizionata) dell’operatore Ũ su un singolo qubit, quindi di eseguire gli scambi inversi per riavere infine l’ordine originale.
Se ad esempio la matrice U agisce solamente sui vettori |00010i e |10101i della
base computazionale, identificati rispettivamente dalle stringhe binarie x1 = 00010
e xm = 10101, facciamo in modo di trasferire l’ampiezza associata a |x1 i ad un
vettore |xm 1 i tale che xm 1 e xm di↵eriscono soltanto per l’i–esima cifra.
Possiamo quindi applicare Ũ all’i–esimo qubit e ripristinare infine l’ordine iniziale
delle ampiezze.
La sequenza di scambi più rapida è un codice di Gray: con questa dicitura si
indica genericamente una successione di stringhe binarie nella quale due stringhe
adiacenti di↵eriscono soltanto per un bit. Nel caso in questione una sequenza del
genere è ad esempio
x1
x2
x3
x4
x5
= 00010
= 00011
= 00001
= 00101
= 10101
(2.22)
Ora ci troviamo di fronte al problema di come e↵etture lo scambio di ampiezze
fra due vettori |xn i e |xn+1 i aventi associate le stringhe binarie xn e xn+1 che
di↵eriscono solamente nell’k–esimo bit. Ciò si può eseguire applicando allo stato
| i del sistema, dato da
X
| i=
↵xj |xj i
j
(la somma è estesa a tutte le stringhe binarie xj possibili) l’operatore X sull’
k–esimo qubit, condizionalmente al valore delle cifre identiche delle due stringhe
binarie.
Illustriamo la procedura completa nel caso di un sistema di N = 3 qubit.
Supponiamo di voler applicare l’operatore
0
1
a 0 0 0 0 0 0 c
B0 1 0 0 0 0 0 0C
B
C
B0 0 1 0 0 0 0 0C
B
C
B0 0 0 1 0 0 0 0C
C
U =B
(2.23)
B0 0 0 0 1 0 0 0C
B
C
B0 0 0 0 0 1 0 0C
B
C
@0 0 0 0 0 0 1 0A
b 0 0 0 0 0 0 d
che agisce solamente sugli stati |000i e |111i. Scriviamo il codice di Gray:
x1
x2
x3
x4
=
=
=
=
A
B
C
0
0
0
1
0
0
1
1
0
1
1
1
29
Capitolo 2. Il modello di computazione a circuito quantistico
Figura 2.13: Circuito che applica la trasformazione U data dalla 2.23.
Il primo scambio si e↵ettua mediante un operatore X sul qubit C condizionato da
A = B = 0; il secondo e ultimo scambio applica X al qubit B condizionalmente a
A = 0 e C = 1.
Ora procediamo applicando Ũ al qubit A condizionalmente a B = C = 1, quindi
e↵ettuiamo le operazioni di scambio in ordine inverso. Il circuito adatto è disegnato
in figura 2.13.
Riassumiamo quanto abbiamo ottenuto finora. Grazie ai risultati del paragrafo
2.2.6 sappiamo realizzare tutti gli elementi contenuti nel circuito 2.13 utilizzando
cnot e porte logiche di singolo qubit. D’altra parte tramite questo circuito riusciamo a realizzare qualsiasi trasformazione U , scomponendola in matrici a due
livelli. Pertanto riusciamo ad applicare qualsiasi matrice U ai qubit limitandoci
ad usare cnot e porte logiche singole.
2.3.3
Approssimazione degli operatori su singolo qubit
Per arrivare al traguardo enunciato all’inizio dell’§2.3 ci resta da dimostrare che
ciascuna trasformazione unitaria su singolo qubit si può approssimare, con un
errore piccolo a piacere, tramite un’insieme finito di porte logiche su singolo qubit.
Tale insieme non è unico; nel nostro caso sarà formato da
H
S
cnot
⇡/8
Errore di approssimazione
Dato che stiamo parlando di un’approssimazione, cerchiamo per prima cosa una
quantità che ci possa dare un indicazione dell’errore intrinseco commesso. Chiamiamo U l’operatore di interesse e V la sua approssimazione. Definiamo l’errore
di approssimazione come
E(U, V ) = max k(U
| i
V )| ik
(2.24)
dove il massimo coinvolge tutti i possibili stati | i della base computazionale.
Per convincerci che la 2.24 rappresenta una buona stima dell’errore, dimostriamo che, essendo PU la probabilità di ottenere una data grandezza misurando un
osservabile A nello stato U | i e PV il corrispettivo per lo stato V | i, vale la
relazione
|PU PV |  2E(U, V )
(2.25)
30
2.3. Un insieme di porte logiche quantistiche universali
Secondo questa definizione la somiglianza tra le due trasformazioni è quantificata
dall’affinità delle statistiche delle misurazioni sugli stati trasformati.
Calcoliamo il primo membro della 2.25:
|PU
PV | = | h | U † M i U | i
h | V † Mi V | i |
Stiamo indicando con Mi l’operatore di proiezione sull’autostato | i i corrispondente al risultato
p della misura dell’osservabile A. Ponendo ora | i = (U V ) | i
— si noti che h | i = E(U, V ) — possiamo scrivere
|PU
PV | = | h | U † M i | i + h | M i V | i |
 | h | U † Mi | i | + | h | Mi V | i |
Sfruttiamo ora la disuguaglianza di Cauchy-Schwarz
|PU
PV |  kMi† U | i k · k | i k + k | i k · kMi V | i k
Calcoliamo
kMi† U | i k = h | U † Mi Mi† U | i =
†
X
j
(2.26)
h | U † Mi | j i h j | Mi† U | i
= h | U | i i h i |U | i = | h i |U | i |2  1
P
dove abbiamo fatto uso della relazione di completezza dell’osservabile A, j | j ih j | =
1, dell’unitarietà di U e della normalizzazione di | i. Allo stesso modo si trova
che kMi V | i k  1.
Tornando ora alla 2.26 abbiamo
|PU
PV |  k | i k + k | i k
= 2E(U, V )
che è la tesi 2.25.
Nel caso volessimo approssimare, piuttosto che una porta logica singola, una
successione di operatori U1 , U2 , . . ., Um mediante la sequenza V1 , V2 , . . ., Vm allora
l’errore totale commesso è limitato superiormente dalla somma degli errori degli
operatori singoli:
E(Um Um
1
. . . U1 , Vm Vm
1
. . . V1 ) 
m
X
E(Uj , Vj )
j=1
Dimostriamo questa a↵ermazione per m = 2; il caso generale segue per induzione.
E(U2 U1 , V2 V1 ) = k(U2 U1 V2 V1 ) | i k
= k(U2 U1 V2 U1 ) | i + (V2 U1 V2 V1 ) | i k
 k(U2 V2 )U1 | i k + kV2 (U1 V1 ) | i k
 E(U2 , V2 ) + E(U1 , V1 )
Dunque nel caso volessimo approssimare un circuito contenente m porte logiche di singolo qubit mantenendo le probabilità corrette entro una tolleranza
, dovremmo fare in modo che E(Uj , Vj )  /(2m) per ciascuna porta logica
(j = 1, 2, . . . , m).
31
Capitolo 2. Il modello di computazione a circuito quantistico
Metodo di approssimazione
Dimostriamo che H e T possono essere usati per approssimare qualsiasi U 2⇥2 .
Da quanto esposto al §2.2 possiamo vedere come T rappresenti, a meno di una fase
globale, una rotazione di ⇡/4 attorno all’asse z nella sfera di Bloch. Similmente
HT H è una rotazione dello stesso angolo attorno all’asse x. Componendo queste
due rotazioni se ne ottiene una terza:
⇣ ⇡ ⌘
⇣ ⇡ ⌘ h
⇡
⇡ ih
⇡
⇡ i
exp
i Z exp
i X = cos 1 i sin Z cos 1 i sin X
(2.27)
8
8
8
8
8
8i
h
⇡
⇡
⇡
⇡
= cos2 1 i cos (X + Z) + sin Y sin
(2.28)
8
8
8
8
Riferendoci alla 2.11 possiamo ricondurre l’espressione di sopra ad una rotazione
attorno al versore
⇣
1
⇡
⇡
⇡⌘
n̂ = p
cos
,
sin
,
cos
8
8
8
1 + cos2 ⇡8
rotazione di un angolo ✓ che soddisfa
(
cos 2✓ = cos2 ⇡8
p
sin 2✓ = sin ⇡8 1 + cos2
⇡
8
Questo sistema ha soluzione, in quanto quadrando e sommando i secondi membri
delle equazioni si trova l’unità. Chiamiamo Rn̂ (✓) l’operatore 2.28.
Secondo alcuni teoremi della teoria dei numeri si può dimostrare che ✓ è un multiplo
irrazionale di 2⇡. Questo permette di approssimare, con un errore arbitrariamente piccolo, qualsiasi rotazione attorno a n̂ tramite applicazioni ripetute dell’operatore Rn̂ (✓). Per dimostrarlo definiamo ✓k = (k✓) mod 2⇡, dove k = 1, . . . , N .
Si dovrà avere che
min |✓i
✓j | 
i,j
2⇡
N
i,j = 1, . . . , N
in quanto in un insieme di N punti su una circonferenza, la distanza angolare
minima tra due punti consecutivi non può superare 2⇡/N radianti. Se assumiamo
i > j allora ✓i j  2⇡/N , pertanto, fissato i j, l’insieme di angoli
{✓l(i
j)
: l soddisfa ✓l(i
j)
< 2⇡}
permette di approssimare qualunque rotazione con un errore
Pertanto è sempre possibile trovare un intero n tale che
E(Rn̂ (↵), Rn̂ (✓)n ) <
"
3
< ✓i
j
 2⇡/N .
(2.29)
A questo punto se riusciamo a trovare un’altra rotazione del genere attorno
a un’asse m̂ 6= n̂ possiamo approssimare qualsiasi porta logica di singolo qubit
mediante la 2.13. Ricordando la 2.8 possiamo trovare che
HRn̂ (✓)H = Rm̂ (✓)
32
2.3. Un insieme di porte logiche quantistiche universali
dove
1
m̂ = p
1 + cos2
⇡
8
⇣
⇡
cos ,
8
⇡
⇡⌘
sin , cos
8
8
Mediante questo operatore possiamo approssimare qualunque Rm̂ (↵) con un errore
E Rm̂ (↵), Rm̂ (✓)n = E HRn̂ (↵)H,(HRn̂ (✓)H)n )
= E HRn̂ (↵)H,HRn̂ (✓)n H)
"
= E Rn̂ (↵), Rn̂ (✓)n ) <
3
dato che H = H † = H 1 e per via della 2.29.
In conclusione data una certa tolleranza ", possiamo contare sull’esitenza di
tre numeri interi n1 , n2 e n3 per i quali
E(U, Rn̂ (✓)n1 HRn̂ (✓)n2 HRn̂ (✓)n3 ) < "
Per comporre l’insieme di porte quantistiche universali aggiungiamo agli operatori H e T il cnot, necessario per le tecniche di decomposizione dei paragrafi
precedenti. La fase S viene anch’essa inclusa nell’insieme in quanto permette di
rendere la computazione quantistica tollerante ai guasti (fault tolerant), ovvero per
acconsentire il calcolo anche in presenza di rumore. Tratteremo questo argomento
al capitolo 4.2.
Efficienza dell’approssimazione
Discutiamo ora brevemente di quanto efficientemente lavori il metodo di approssimazione sviluppato.
Se assumiamo ragionevolmente che i punti relativi agli angoli ✓k si dispongano più
o meno uniformemente lungo la circonferenza, allora sarebbero necessari, secondo
la notazione del precedente paragrafo, ⇥(N ) applicazioni di Rn̂ (✓) per approssimare un’arbitraria rotazione a meno di un angolo < 2⇡/N . In termini della
tolleranza " il numero di porte necessarie è dunque ⇥(1/").
Se volessimo approssimare un circuito contenente m porte logiche di singolo bit
e cnot tramite il nostro insieme universale entro un errore " dovremmo approssimare ciascuna delle m porte con una tolleranza "/m. Il numero di operazioni
necessarie sarebbe perciò ⇥(m2 /"): esso cresce quadraticamente con la grandezza
del circuito, da cui possiamo dedurre che l’approssimazione sia fattibile in maniera
efficiente.
In termini più rigorosi, esiste un teorema di Solovay-Kitaev che a↵erma che
un operatore di singolo qubit arbitrario può essere approssimato col nostro insieme con un numero di operazioni O(logc (1/")), dove c è una costante vicina a 2.
Segue che un circuito contenente soltanto cnot e operatori di singolo qubit si
approssima con O(m logc (m/")). Si tratta di un andamento polilogaritmico per
cui l’approssimazione può considerarsi efficiente.
La situazione si prospetta meno entusiasmante se includiamo nel circuito che
vorremmo costruire operatori U di dimensione arbitraria: si può dimostrare che la
loro realizzazione mediante i metodi descritti richiede un numero di trasformazioni
che cresce esponenzialmente con il numero di qubit del sistema.
33
Bibliografia
Bibliografia
[NC00]
34
Michael A. Nielsen e Isaac L. Chuang. Quantum Computation and
Quantum Information. Cambridge University Press, 2000.
Capitolo 3
Algoritmi quantistici
Dopo la panoramica sui circuiti quantistici, tratteremo in questo capitolo alcuni
algoritmi particolarmente istruttivi per quanto riguarda la manipolazione delle
informazioni praticabile per mezzo della meccanica quantistica.
3.1
Teletrasporto quantistico
Il primo argomento di questo capitolo non è un’algoritmo nel senso stretto del
termine, ma piuttosto un interessante applicazione dell’elaborazione quantistica
dell’informazione e in particolare dell’entanglement.
3.1.1
La questione della copia dei qubit
Approfondiamo il problema della copia dei qubit citato alla fine del paragrafo 2.2.
Nel caso della logica classica è senza dubbio possibile creare una porta logica avente
due bit, x e y, come entrate e altrettante uscite che esegua
x 7! x
y 7! x
y
(3.1)
Trattando l’entrata y come un ancilla qubit, ovvero come un qubit il cui valore
è fissato indipendentemente dall’input del circuito, possiamo creare mediante tale
porta logica un circuito che copia il bit in ingresso x. Ponendo y = 0 nella 3.1
otteniamo infatti
x 7! x
0 7! x 0 = x
(3.2)
L’operazione 3.1 ricorda il cnot quantistico, che esegue |xi |yi 7! |xi |x yi. Siamo per questo tentati di convertire il circuito di copia classico nel suo equivalente
quantistico (figura 3.1).
Tuttavia questo circuito non e↵ettua una copia vera e propria: se il qubit da
copiare (primo input) dato da | i = a |0i + b |1i controlla un cnot che agisce
sull’ancilla qubit (secondo input) |0i, si ottiene come output sul secondo qubit lo
stato a |00i + b |11i che è diverso in generale da
| i | i = a2 |00i + ab |01i + ab |10i + b2 |11i
Come già menzionato, esiste un teorema (no–cloning theorem) che impedisce
la copia di un generico stato quantistico. Per dimostrarlo consideriamo un sistema
35
Capitolo 3. Algoritmi quantistici
Figura 3.1: Circuito classico per la copia di un bit (a sinistra) convertito in circuito
quantistico (a destra).
quantistico composto da due sottosistemi identici ma separati, descritti dagli stati
| i e |si. Il primo di questi rappresenta, nel caso particolare della copia dei qubit,
il qubit da copiare; il secondo è lo stato bersaglio sul quale vorremmo copiare | i.
Supponiamo che esista una trasformazione unitaria U tale che
U | i ⌦ |si = | i ⌦ | i
(3.3)
Sostituendo nella 3.3 a | i due stati arbitrari | 1 i e | 2 i e facendo il prodotto
scalare di ambo i membri delle due espressioni si trova
(h 1 | ⌦ hs|)U † U (| 2 i ⌦ |si) = (h 1 | ⌦ h 1 |)(| 2 i ⌦ | 2 i)
h 1 | 2 i = (h 1 | 2 i)2
che ha per soluzioni h 1 | 2 i = 0 e h 1 | 2 i = 1. Di conseguenza un ipotetico
dispositivo di copia potrebbe funzionare a dovere solo per un certo insieme di stati
di input tra loro ortogonali: un processo per la copia di stati arbitrari non può
esistere.
Ciò che è invece possibile è trasferire lo stato del primo sottostistema sul secondo.
Se i due sottosistemi sono spazialmente distanti il trasferimento prende l’accezione
di teletrasporto. Tale nomenclatura è per certi aspetti impropria, dato che, come
vedremo, è necessario per compiere il trasferimento uno scambio aggiuntivo di
informazione classica tra i due siti distanti — ribadiamo che l’entanglement non
viola la relatività speciale; tuttavia il termine teletrasporto sottolinea il fatto che
il trasferimento avvenga in assenza di un canale di comunicazione quantistico che
acconsenta lo spostamento fisico (nella fattispecie lo spostamento di uno spin in
uno stato 2.1 o di un fotone con il suo stato di polarizzazione) dell’informazione
quantistica.
3.1.2
Stati di Bell
Prima di analizzare lo schema circuitale del teletrasporto quantistico introduciamo
i cosı̀ddetti stati di Bell (noti anche come stati o coppie di EPR, per via del
loro utilizzo nell’omonimo paradosso): si tratta di quattro stati massimamente
entangled di due qubit.
|
36
00 i
=
|00i + |11i
p
2
|
01 i
=
|01i + |10i
p
2
3.1. Teletrasporto quantistico
Figura 3.2: Circuito per la conversione degli stati della base computazionale di due
qubit in stati di Bell.
Figura 3.3: Circuito per il teletrasporto quantistico.
|
10 i
=
|00i |11i
p
2
O più sinteticamente
|
xy i
=
|
11 i
=
|01i |10i
p
2
|0, yi + ( 1)x |1, ȳi
p
2
dove ȳ è la negazione di y.
Gli stati di Bell si possono ottenere a partire dagli stati della base computazionale
mediante il circuito di figura 3.2.
3.1.3
Circuito per il teletrasporto quantistico
A↵rontiamo il seguente problema: Alice e Bob hanno generato, tempo addietro,
una coppia | 00 i, quindi si sono separati prendendo con se ciascuno un qubit del
sistema fisico impiegato. Come può Alice trasferire a Bob un qubit | i = ↵ |0i +
|1i, avendo a disposizione un canale di comunicazione classico? La soluzione è il
circuito 3.3 che ci apprestiamo ad analizzare.
Alice accoppia il suo qubit della coppia 00 al qubit | i da teletrasportare:
|
Applica quindi a |
|
2i
0i
0i
= | i|
00 i
un cnot e una porta di Hadamard ottenendo
⇤
1 ⇥
= H p ↵ |0i (|00i + |11i) + |1i (|10i + |01i)
2
⇤
1⇥
= ↵(|0i + |1i)(|00i + |11i) + (|0i |1i)(|10i + |01i)
2
37
Capitolo 3. Algoritmi quantistici
Raccogliendo i ket corrispondenti ai qubit in possesso di Alice la scrittura diventa
1⇥
| 2i =
|00i (↵ |0i + |1i) + |01i (↵ |1i + |0i)+
(3.4)
2
⇤
+ |10i (↵ |0i
|1i) + |11i (↵ |1i
|0i)
(3.5)
Alice misura ora i suoi due qubit, inviando i risultati a Bob; egli può cosı̀ “aggiustare” lo stato del suo qubit, applicando dei gate X o Z, in modo da farlo
coincidere con | i: il teletrasporto è completato.
3.1.4
Trasferimento dell’informazione
Mostriamo ora rigorosamente che Bob, non conoscendo il risultato della misura
eseguita da Alice, non può ricavare alcuna informazione sullo stato | i misurando
il suo qubit. Dalla 3.5 vediamo che Alice operando la misurazione può far collassare
i suoi due qubit con eguale probabilità negli stati |00i, |01i, |10i e |11i. L’operatore
densità post–misura del sistema è perciò
1⇥
⇢=
|00ih00| (↵ |0i + |1i)(↵⇤ h0| + ⇤ h1|)+
4
+ |01ih01| (↵ |1i + |0i)(↵⇤ h1| + ⇤ h0|)+
⇤
+ |10ih10| (↵ |0i
|1i)(↵⇤ h0|
h1|)+
⇤
⇤
⇤
+ |11ih11| (↵ |1i
|0i)(↵ h1|
h0|)
Ricaviamo ora l’operatore densità ridotto per il qubit di Bob (utilizziamo gli indici
1 e 2 in riferimento al sottosistema di Alice e Bob, rispettivamente). Ricordiamo
che l’operatore densità ridotto del sistema 2 è la traccia parziale sul sistema 1
dell’operatore densità totale. La traccia parziale si può definire come
tr2 (|a1 i ha2 | ⌦ |b1 i hb2 |) = |a1 i ha2 | tr |b1 i hb2 |
nella quale |a1 i e |a2 i sono vettori qualsiasi dello spazio degli stati E1 del sistema 1,
e |b1 i e |b2 i vettori qualsiasi di E2 . Essendo tr |x1 x2 ihx1 x2 | = 1 per ogni x1 , x2 = 0, 1
troviamo che
1⇥
⇢2 = tr1 ⇢ = (↵ |0i + |1i)(↵⇤ h0| + ⇤ h1|) + (↵ |1i + |0i)(↵⇤ h1| + ⇤ h0|)+
4
⇤
⇤
⇤
(↵ |0i
|1i)(↵⇤ h0|
h1|) + (↵ |1i
|0i)(↵⇤ h1|
h0|)
⇤
1⇥
2(|↵|2 + | |2 ) |0ih0| + 2(|↵|2 + | |2 ) |1ih1|
4
|0ih0| + |1ih1|
1
=
=
2
2
⇢2 è completamente slegato da | i.
=
3.2
Parallelismo quantistico
Intendiamo con parallelismo quantistico la capacità di un sistema di n qubit
di memorizzare contemporanemante i valori immagine di una funzione booleana f (x) : {0, 1}⇥n ! {0, 1}.
38
3.2. Parallelismo quantistico
Figura 3.4: Circuito quantistico per la valutazione simultanea di f (0) e f (1).
Figura 3.5: Trasformazione di Hadamard di due qubit.
Consideriamo per esempio n = 1 (fig. 3.4). Chiamiamo Uf l’operatore unitario che
fa l’associazione |x, yi 7! |x, y ⌦ f (x)i. Si verifica che
Uf
|0i + |1i
|0, f (0)i + |1, f (1)i
p
p
|0i =
2
2
Questo stato di un singolo qubit contiene informazioni su due immagini di f .
Il ragionamento si può estendere a funzioni booleane di n bit con n qualsiasi
utilizzando un registro di n qubit per la valutazione parallela di f più uno per la
memorizzazione del risultato (la base computazionale di n qubit ha dimensione 2n ,
quali sono anche i possibili input della funzione). In questo caso l’applicazione della
porta di Hadamard sul singolo qubit del caso n = 1 si generalizza all’applicazione
della trasformata di Hadamard su n qubit: quest’ultima equivale all’applicazione
della porta H su ciascun qubit (fig. 3.5) e si indica con H ⌦n . Possiamo vedere che
↵
1 X
H ⌦n 0| .{z
. . 0} = p
|xi
n
2
x
n cifre
dove la somma è estesa a tutte le possibili stringhe binarie x di n cifre.
L’idea del procedimento è la medesima: dopo aver preparato gli n qubit mediante
la trasformata di Hadarmard e posto l’(n + 1)–esimo nello stato |0i si esegue un
operatore Uf agente su n + 1 qubit secondo
Uf |x1 x2 . . . xn i |0i = |x1 x2 . . . xn i |0
f (x1 , x2 , . . . , xn )i
Lo stato finale del sistema sarà cosı̀
1 X
p
|xi |f (x)i
2 x
In contrasto con il parallelismo classico, dove sono necessari n circuiti per la
valutazione simultanea della funzione f , nel parallelismo quantistico è sufficiente
39
Capitolo 3. Algoritmi quantistici
un circuito soltanto. Notiamo però che questo non fornisce un accesso diretto ai
valori f (x), per quanto a↵ermato al paragrafo 2.1.2. Per ottenere un vantaggio
pratico dal parallelismo quantistico sono necessari degli algoritmi capaci di sfruttarlo. Illustreremo nel seguito due di questi algoritmi: l’algoritmo di Deutsch e
quello di Deutsch-Josza.
3.2.1
Algoritmo di Deutsch
Figura 3.6: Circuito che esegue l’algoritmo di Deutsch.
L’algoritmo di Deutsch permette di calcolare la somma f (0) f (1) tramite una
sola valutazione della funzione. Esso è eseguito dal circuito di figura 3.6.
La trasformata di Hadarmard sullo stato iniziale |01i restituisce


|0i + |1i |0i |1i
p
p
| 1i =
2
2
Notando che
|0i |1i
|0i |1i
p
= ( 1)f (x) p
2
2
Abbiamo che lo stato conseguente all’azione di Uf è
ih
i
8 h
|0i |1i
p
p
<± |0i+|1i
se f (0) = f (1)
2
2
h
ih
i
| 2i =
:± |0ip |1i |0ip |1i
se f (0) 6= f (1)
2
2
Uf |xi
(3.6)
che dopo l’ultima porta di Hadamard diventa
h
i
8
<± |0i |0ip |1i
se f (0) = f (1)
2
h
i
| 2i =
:± |1i |0ip |1i
se f (0) 6= f (1)
2

|0i |1i
p
= ± |f (0) f (1)i
2
Misurando il primo qubit troviamo appunto f (0) f (1). La meccanica quantistica
consente di calcolare una proprietà globale di una funzione mediante una sola
valutazione.
40
3.2. Parallelismo quantistico
Figura 3.7: Circuito per l’algoritmo di Deutsch-Josza
3.2.2
Algoritmo di Deutsch–Josza
Questo algoritmo risolve il cosı̀ddetto problema di Deutsch: supponiamo di avere
una funzione booleana f ad n bit e di sapere che f può essere o bilanciata, ovvero
f (x) = 1 per 2n 1 input (la metà degli input) e f (x) = 0 per i rimanenti, oppure
costante. Vogliamo determinare a quale delle due tipologie appartenga f valutandola il numero minimo di volte possibile. Osserviamo che il precedente algoritmo
(di Deutsch) risolve il problema nel caso n = 1.
Classicamente il numero minimo di valutazioni è uguale alla metà del numero degli input più uno: 2n 1 + 1. Mediante il circuito quantistico di figura 3.7 si riesce
invece a determinare la natura di f mediante una sola valutazione. Come per l’algoritmo del paragrafo precedente abbiamo bisogno di un registro di n qubit a cui
poter associare gli input della funzione e di un qubit aggiuntivo per memorizzare
l’immagine di f .
Lo stato di partenza è
| 0 i = |0i⌦n |1i
La trasformazione di Hadamard muta lo stato in
X |xi  |0i |1i
p
p
| 1i =
n
2
2
n
x2{0,1}
nel quale i primi n qubit sono in una sovrapposizione uniforme di tutti i possibili
stati. Valutando f sul registro si ottiene per la 3.6
X ( 1)f (x) |xi  |0i |1i
p
p
| 2i =
2n
2
x
(3.7)
stato che contiene tutte le possibili immagini di f sugli input.
Adesso applichiamo nuovamente la trasformazione di Hadarmard sul registro. Per
calcolare lo stato risultante scriviamo l’azione di una singola porta di Hadamard
su un singolo qubit |0i o |1i come:
P
( 1)xz |zi
H |xi = z p
x, z = 0, 1
2
41
Capitolo 3. Algoritmi quantistici
tramite la quale possiamo esprimere l’azione di H ⌦n sugli stati della base computazionale degli n qubit come
P
x1 z1 +...+xn zn
|z1 . . . zn i
z1 ,...,zn ( 1)
⌦n
p
H |x1 , . . . , xn i =
(3.8)
2
P
x·z
|zi
z ( 1)
p
=
(3.9)
2
dove con x · z indichiamo il prodotto bit a bit delle due stringhe binarie, modulo
2. Sostituendo la 3.9 nell’espressione di | 2 i 3.7 si ottiene
P

x·z+f (x)
|zi |0i |1i
z ( 1)
p
| 3i =
2n
2
Osserviamo
ora come nel caso in cui f è costante l’ampiezza del vettore |0i⌦n , pari
P
a x ( 1)f (x) /2n , è uguale a 1; diversamente essa è nulla. Misurando gli n qubit del
registro sappiamo dunque con certezza che f è costante se otteniamo l’autovettore
corrispondente a |0i⌦n ; per qualunque altro esito f dovrà essere bilanciata.
Questo algoritmo appare molto più veloce dell’equivalente classico, tuttavia vi
sono alcune osservazioni da fare:
• Il problema di Deutsch non ha applicazioni pratiche.
• I due algoritmi, classico e quantistico, non sono facilmente comparabili dato
che il metodo di valutazione di f che si impiega è assai diverso. v
• Il problema può essere risolto classicamente in maniera probabilistica molto
più efficientemente rispetto alla risoluzione esatta che richiede 2n 1 valutazioni. Supponendo f bilanciata infatti la probabilità di trovare m valori
uguali di f (x) in m valutazioni è
Pm =
m
Y1
i=1
2n 1 i
2n i
che decresce rapidamente all’aumentare di m.
3.3
La trasformata di Fourier quantistica
Uno dei mezzi ritenuti più promettenti per lo sviluppo di algoritmi quantistici in
grado di velocizzare la risoluzione di certi problemi di interesse è la trasformata di
Fourier quantistica.
Introduciamo innanzitutto il concetto di trasformata di Fourier discreta: essa è
un mezzo matematico che trasforma un vettore di N numeri complessi x0 , x1 , . . .,
xn in un secondo vettore della stessa dimensione le cui componenti yk sono date
da
✓
◆
N 1
1 X
2⇡k
yk = p
xj exp i
j
(3.10)
N
N j=0
42
3.3. La trasformata di Fourier quantistica
La trasformazione è invertibile secondo
✓
◆
N 1
1 X
2⇡k
xj = p
yk exp
i
j
N
N k=0
(3.11)
Sostituendo infatti la 3.10 nella 3.11 si trova
✓
◆"
✓
◆#
N 1
N 1
1 X
2⇡k
2⇡k
1 X
p
xj = p
exp
i
y
xm exp i
m
N
N
N k=0
N m=0
✓
◆
N 1
N
X1
1 X
2⇡j
=
xm
exp i
(m k)
N m=0
N
m=0
N 1
1 X
=
xm N
N m=0
mk
= xj
Si può vedere che la somma in m alla seconda riga è nulla se m 6= k.
La trasformata di Fourier quantistica su un vettore di E dato da
N
X1
j=0
xj |ji
si ottiene sostituendo ai coefficienti complessi xj la loro trasformata di Fourier
discreta:
"
✓
◆#
N
N
N
X1
X1
X1 1 N
X1
2⇡k
F
p
xj |ji !
yk |ki =
xj exp i
j
|ki
N
N j=0
j=0
k=0
k=0
"
✓
◆ #
N
N 1
X1
1 X
2⇡k
=
xj p
exp i
j |ki
N
N
j=0
k=0
Si può dunque definire un operatore F che agisce secondo
✓
◆
N 1
1 X
2⇡k
F |ji = p
exp i
j |ki
N
N k=0
(3.12)
Per quanto rigurda l’operatore inverso F 1 abbiamo che
"
✓
◆#
N
N
1
N
1
N
1
X1
X
X
X
1
1
2⇡k
F
p
yk |ki !
xj |ji =
yk exp
i
j
|ji
N
N
j=0
j=0
k=0
k=0
"
✓
◆ #
N
1
N 1
X
1 X
2⇡k
=
yk p
exp
i
j |ji
N
N j=0
k=0
Per cui
F
1
✓
◆
N 1
1 X
2⇡k
|ki = p
exp
i
j |ji
N
N j=0
(3.13)
43
Capitolo 3. Algoritmi quantistici
Figura 3.8: Circuito che esegue la trasformata di Fourier quantistica di n qubit.
Mostriamo un altro modo per scrivere la trasformata di Fourier quantistica
che si rivelerà fondamentale nel seguito. Supponiamo di avere n qubit ai quali è
associata la base computazionale |0i, . . ., |2n 1i costituita da 2n vettori. Per
identificare tali vettori facciamo uso della numerazione binaria:
j = j 1 j 2 . . . jn = j 1 2 n
1
+ j2 2 n
2
+ . . . + jn 2 0
Ci serviremo anche delle frazioni binarie
1
j = 0.jl jl+1 . . . jm = jl 2
+ jl+1 2
2
+ . . . + jm 2
(m l+1)
Riprendiamo la definizione 3.12:
✓
◆
2⇡k
F |ji = n/2
exp i n j |ki
2
2
k=0
"
! #
1
1
n
X
X
1 X
= n/2
...
exp i2⇡
kl 2 l j |k1 . . . kn i
2 k =0 k =0
l=1
n
2 1
1 X
n
1
=
=
=
=
1
2n/2
1
X
k1 =0
...
"
1 O
n
X
kn =0 l=1
n
1
1 O X
2n/2
1
2n/2
l
l=1 kl =0
n h
O
e2⇡ijkl 2 |kl i
l
|0i + e2⇡ij2 |1i
l=1
2⇡i0.jn
(|0i + e
l
e2⇡ijkl 2 |kl i
#
i
|1i)(|0i + e2⇡i0.jn 1 jn |1i) . . . (|0i + e2⇡i0.j1 j2 ...jn |1i)
2n/2
(3.14)
Il circuito per l’esecuzione della trasformata di Fourier quantistica è riportato in
figura 3.8; essendo composto esclusivamente da operatori unitari prova l’unitarietà
della trasformazione F che rappresenta. Esso è riconducibile all’espressione 3.14:
occupiamoci della prima parte del circuito, dedicata alla trasformazione del primo
qubit. La porta di Hadamard modifica lo stato del sistema in
1
21/2
44
|0i + e2⇡i0.j1 |1i |j2 . . . jn i
3.3. La trasformata di Fourier quantistica
dato che e2⇡i0.j1 = ( 1)j1 . La rotazione controllata
✓
◆
1
0
Rk =
k
0 e2⇡i2
con k = 2 applica all’ampiezza del vettore |1i della base computazionale del primo
qubit la fase e2⇡i0.0j2 (se j2 = 0 la porta logica controllata non ha alcun e↵etto).
Seguitando ad applicare gli operatori controllati Rk sul primo qubit come dallo
schema 3.8 si ottiene infine lo stato
1
21/2
|0i + e2⇡i0.j1 j2 ...jn |1i |j2 . . . jn i
identico, per quel che concerne il primo qubit, alla 3.14. Si procede alla stessa
maniera per gli altri n 1 qubit, portando a coincidere lo stato del sistema con la
definizione alternativa 3.14 della trasformata.
Si può notare che per il qubit k–esimo sono sempre necessarie una porta di Hadamard ed n k rotazioni: in totale nel circuito si utilizzano n + (n 1) + . . . + 1 =
n(n + 1)/2 = ⇥(n2 ) operazioni.
L’algoritmo può apparire come un grosso passo in avanti rispetto alla FFT (fast Fourier transform) classica che richiede ⇥(n2n ) operazioni, tuttavia l’algoritmo
quantistico non può essere facilmente utilizzato nel calcolo delle trasformate di Fourier: ciò si deve all’impossibilità della misura diretta delle ampiezze trasformate e,
nondimeno, alle difficoltà nella preparazione degli stati di input. La trasformata
di Fourier quantistica ha comunque delle altre importanti applicazioni tra le quali
la ricerca del fattori di un numero. Arriveremo a trattare il principio che sta alla
base dell’algoritmo di fattorizzazione al paragrafo 3.3.2.
3.3.1
Stima della fase
Sia U un operatore unitario avente un autovettore |ui di autovalore e2⇡i , con
0  < 1 e incognito. L’algoritmo per la stima della fase permette di ricavare
con una certa approssimazione sfruttando la trasformata di Fourier quantistica.
L’algoritmo non ha una sua utilità propria ma può venir utilizzato come subroutine
in altri algoritmi.
Per la sua esecuzione è necessario un registro di t qubit inizializzati a |0i,
in cui si memorizzerà la fase , e un secondo registro nello stato |ui a cui verrà
applicato U . Come vedremo la dimensione del primo registro è il fattore che regola
la precisione con cui si determinerà la fase. Il circuito è illustrato nelle figure 3.9
(prima parte) e 3.10 (schema completo).
L’algoritmo comincia con la trasformata di Hadamard del primo registro, seguita
da delle applicazioni controllate di potenze di U 2 sul secondo registro. Alla fine di
questa fase lo stato del primo registro è
1
2t/2
(|0i + e2⇡i2
t 1
|1i)(|0i + e2⇡i2
t 2
0
|1i) . . . (|0i + e2⇡i2 |1i) =
t
=
2 1
1 X
2t/2
k=0
e2⇡i
k
|ki (3.15)
45
Capitolo 3. Algoritmi quantistici
Figura 3.9: Primo stadio della stima della fase.
Figura 3.10: Circuito completo per la stima della fase. Il simbolo ‘/’ denota un registro
di qubit.
in quanto le fasi controllate non sono applicate ai vettori |0i delle basi computazionali dei singoli qubit.
La seconda parte dell’algoritmo consiste nell’applicazione della trasformata di Fourier inversa: se può essere scritto esattamente come frazione binaria in t bit come
= 0. 1 . . . t allora lo stato 3.15 si può riscrivere nella forma seguente:
1
2t/2
(|0i + e2⇡i0. t |1i)(|0i + e2⇡i0.
t 1 t
|1i) . . . (|0i + e2⇡i0.
1 2 ... t
|1i)
(3.16)
Confrontando la 3.16 con la 3.14 vediamo come applicando la trasformata di Fourier inversa sul primo registro allo stadio del circuito a cui siamo giunti ci ottenga
lo stato | i, da cui è misurabile direttamente l’espansione binaria di .
t
2 1
1 X
2t/2
k=0
e2⇡i
k
|ki |ui
F
↵
1
! e |ui
(3.17)
Il motivo per cui abbiamo utilizzato e in luogo di nella 3.17 è che in generale
non è esprimibile esattamente come frazione binaria. A↵rontiamo ora il caso
generale calcolando esplicitamente la trasformata di Fourier inversa 3.13 del primo
46
3.3. La trasformata di Fourier quantistica
membro della 3.17 (sul primo registro):
t
F
1
2 1
1 X
2t/2
t
e2⇡i
k=0
k
2 1
1 X
|ki |ui =
2t/2
1
= t
2
e2⇡i
k
k=0
t 1
2X
j=0
" 2t 1
X
e
"
t
2 1
1 X
2t/2
2⇡i k
exp
j=0
exp
k=0
✓
i
✓
2⇡k
j
2t
◆ #
2⇡k
i t j |ji |ui
2
◆#
|ji |ui
(3.18)
Chiamiamo ora b l’intero compreso tra 0 e 2t 1 tale che b/2t = 0.b1 . . . bt è la migliore approssimazione per difetto di (vale la disuguaglianza b/2t  ).
Per ricavare la probabilità di ottenere, all’atto della misura, un valore diverso dall’autovalore di |bi calcoliamo dapprima l’ampiezza ↵l dello stato |(b + l) mod 2t i,
ponendo j = (b + l) mod 2t nella 3.18 e notando che
(
"
#)k

(b + l) mod 2t
(b + l)
exp i2⇡k
= exp
i2⇡
2t
2t
Si ha
2t 1
1 X n 2⇡i[
↵l = t
e
2 k=0
(b+l)/2t ]
ok
la quale è la somma parziale di una serie geometrica:
!k
t
1 1 e2⇡i[2 (b+l)]
↵l = t
2 1 e2⇡i[ (b+l)/2t ]
Definiamo
=
b/2t . Allora
1
↵l = t
2
1
1
e2⇡i(2
e2⇡i(
t
l)
l/2t )
!
Vogliamo calcolare la probilità di misurare una grandezza m tale che |m
dove e è un intero che quantifica la tolleranza richiesta. Questa vale
X
X
P(|m b| > e) =
|↵l |2 +
|↵l |2
2t
1 <l
e+1l2t
(e+1)
b| > e,
1
(le due sommatorie insieme coinvolgono i moduli quadri delle ampiezze di tutti i
vettori della base computazionale del registro, esclusi quelli che distano al più e
da b).
Si trova che
1
P(|m b| > e) 
(3.19)
2(e 1)
Per cui la probabilità di determinare con un accuratezza di 2 n , ovvero la probabilità che la stima di sia esatta all’n–esima cifra binaria dopo la virgola, soddisfa,
secondo la 3.19,
1
P |m
b| > 2t
n
1
1
1
2(2t n
2)
(3.20)
47
Capitolo 3. Algoritmi quantistici
dove la tolleranza e è data dal numero massimo esprimibile con t n cifre binarie.
Se volessimo imporre che tale probabilità debba valere al meno 1 " dovremmo
scegliere, per la 3.20,
✓
◆
1
t = n + log2 2 +
2"
Vediamo dunque come il numero t di qubit del primo registro sia regolato dai
vincoli imposti all’errore (parametro n) e alla probabilità di riuscita (parametro
") dell’algoritmo.
3.3.2
Ricerca dell’ordine moltiplicativo
Figura 3.11: Schema del circuito per la ricerca dell’ordine moltiplicativo.
Dati due interi positivi x e N , con x < N , primi tra loro, si definisce ordine moltiplicativo di x modulo N il minore intero positivo r che soddisfa xr = 1
mod N . Non è noto ad oggi alcun algoritmo classico capace di risolvere il problema della ricerca dell’ordine in un tempo polinomiale rispetto al numero L di cifre
binarie di N .
L’algoritmo quantistico che ora illustreremo risolve il problema con un’alta probabilità di successo e con un numero di operazioni O(L3 ). Esso sfrutta l’algoritmo
per la stima di fase applicandolo all’operatore U definito da
U |yi = |xy
mod N i
Adottiamo la convenzione secondo la quale U |yi = |yi se y N .
L’operatore U conserva la norma dei vettori; notiamo che esso è anche invertibile
in quanto l’equazione
xa = xb
mod N
a,b < N
implica a = b se x e N sono coprimi.
L’algoritmo impiega due registri di qubit (vedi figura 3.11): il secondo registro,
formato da L qubit, è quello su cui agisce U . Consideriamo il sottoinsieme di
vettori appartenenti alla base computazionale del secondo registro costituito dagli
elementi
↵
↵
↵
x0 mod N
x1 mod N
. . . xr 1 mod N
Applicando l’antitrasformata di Fourier ad uno di questi vettori si ottiene
✓
◆
r 1
↵
1 X
2⇡s
1
s
|us i = F |x mod N i = p
exp
i
j xj mod N
(3.21)
r
r j=0
48
3.3. La trasformata di Fourier quantistica
che è autovettore di U di autovalore e2⇡is/r :
✓
◆
r 1
1 X
2⇡s
U |us i = p
exp
i
j xj+1
r
r j=0
✓
◆
2⇡s
= exp i
|us i
r
mod N
↵
L’autovalore di U è una fase = s/r legata all’ordine r e ad s (ricordiamo che
vale 0  s < r). Stimando è possibile risalire a r pur non conoscendo s, facendo
uso dell’espansione in frazione continua. Ci limiteremo qui a trattare solamente
la parte dell’algoritmo riguardante la stima della fase.
Il primo registro di t qubit viene utilizzato per memorizzare . L’algoritmo
incomincia applicando la trasformata di Hadamard al primo registro inizialmente
nello stato |00 . . . 0i. Il sistema dopo la trasformazione sarà perciò descritto da
t
2 1
1 X
p
|ji |1i
2t j=0
dato che il secondo registro è inizializzato allo stato |1i. Si applica quindi U 2 al
secondo registro secondo uno schema analogo a quello di figura 3.9:
t
2 1
1 X
t
p
|ji U jt 2
2t j=0
t
1
... U
j 1 20
2 1
1 X
t
|1i = p
|ji U jt 2
2t j=0
1
. . . U j2 2 xj1 2
1
1
. . . xj 1 2
Se esprimiamo xj mod N
abbiamo
1
p
2t
j=0
|ji xj
mod N
t
2 1
1 X
t
=p
|ji xjt 2
2t j=0
t
t 1
2X
0
↵
2 1
1 X
=p
|ji xj
2t j=0
mod N
↵
0
mod N
↵
↵
come trasformata di Fourier servendoci della 3.21
#
✓
◆
r 1
X
1
1
2⇡s
mod N = p
|ji p
exp i
j |us i
t
r
r s=0
2 j=0
"
✓
◆ #
r 1
2t 1
1 X 1 X
2⇡s
p
=p
exp i
j |ji |us i
r
r s=0
2t j=0
↵
t 1
2X
"
Facendo agire infine la trasformata di Fourier sul primo registro si arriva allo stato
r 1
1 X fE
p
s/r |us i
r s=0
da cui è possibile ricavare s/r mediante una misura nella base computazionale
del primo registro. Anche in questo caso, trattandosi pur sempre di una stima di
fase, valgono, relativamente all’errore e alla probabilità di riuscita dell’algoritmo,
considerazioni simili a quelle fatte alla fine del paragrafo 3.3.1.
49
Bibliografia
Algoritmo di Shor
Il problema della fattorizzazione può essere ricondotto a quello della ricerca dell’ordine invocando alcuni teoremi della teoria dei numeri la cui discussione esula
dai limiti della nostra trattazione — l’algoritmo quantistico per la fattorizzazione,
chiamato algoritmo di Shor, restituisce un fattore di un intero N con O((log N )3 )
operazioni.
Bibliografia
[NC00]
50
Michael A. Nielsen e Isaac L. Chuang. Quantum Computation and
Quantum Information. Cambridge University Press, 2000.
Capitolo 4
Dalla teoria alla pratica:
realizzazione fisica dei computer
quantistici
Esamineremo in questo capitolo le difficoltà che si incontrano nella progettazione
e nell’allestimento di un sistema fisico capace di funzionare da calcolatore quantistico. Descriveremo il problema della decoerenza quantistica, quindi elencheremo
i principali requisiti che si richiedono ad un sistema fisico volto alla computazione quantistica, prestando particolare attenzione allo schema di realizzazione
che impiega degli ioni intrappolati da un campo elettromagnetico come qubit;
analizzeremo questo sistema di realizzazione al capitolo 5.
4.1
4.1.1
Decoerenza quantistica
Sovrapposizioni coerenti e miscele statistiche
Per introdurre il concetto di decoerenza rimarchiamo la di↵erenza fra una sovrapposizione coerente di stati e una mistura statistica di stati. Sappiamo (paragrafo
2.1) che la misura nello stato | i di un osservabile A di autovettori |un i
A |un i = an |un i
(stiamo supponendo lo spettro discreto e non degenere) restituisce l’autovalore an
con probabilità | hun | i |2 .
Nel caso avessimo diverse particelle tutte nello stato
X
| i=
cn |un i
(4.1)
n
e misurassimo la grandezza A su ciascuna di esse, allora stando ai risultati delle
misurazioni potremmo (erroneamente) pensare di avere a che fare con una miscela
statistica di N particelle composta da | hu1 | i |2 N = |c1 |2 N particelle nello stato
|u1 i, |c2 |2 N particelle nello stato |u2 i, e via dicendo.
Consideriamo ora anche un secondo osservabile B di autovalori |vm i (assumiamo
51
Capitolo 4. Dalla teoria alla pratica: realizzazione fisica dei computer quantistici
ancora uno spettro discreto e non degenere) e mostriamo come l’ipotesi precedente sia discordante con i postulati della meccanica quantistica. Se adottiamo la
descrizione del sistema data dalla mistura statistica avremo che la probabilità di
misurare un autovalore bm di B è
X
|cn |2 | hvm |un i |2
(4.2)
n
Applicando invece la formula corretta per lo stato coerente 4.1 abbiamo
X
X
2
2
P(vm ) = | hvm | i |2 =
cn hvm |un i =
cn hvm |un i
=
X
i
=
X
n
ci hvm |ui i
n
!
2
X
j
|cn hvm |un i | +
X
i>j
c⇤j hvm |uj i⇤
!n
2 Re ci c⇤j hvm |ui i hvm |uj i⇤
la quale di↵erisce dalla 4.2 per la presenza dei termini dei cosı̀ddetti termini di
interferenza.
Analizziamo un esempio semplice, restringendo il nostro discorso ai sistemi a
due livelli (ad es. una particella di spin 1/2). Lo stato di questi sistemi si può
sempre esprimere come da equazione 2.3, o equivalentemente tramite la seguente
matrice densità:
✓
◆
cos2 2✓
sin 2✓ cos 2✓ e i
⇢=
sin 2✓ cos 2✓ ei
sin2 2✓
Per le ragioni sopra discusse i termini non diagonali di questa matrice vengono
chiamati coerenze. Essi indicano la possibilità di osservare dei termini di interferenza nelle espressioni delle probabilità.
Consideriamo invece adesso una miscela statistica. Ad esempio, l’operatore densità
per una distribuzione di spin orientati casualmente è
Z
Z 2⇡
Z ⇡
1
1
0
⇢ =
d⌦⇢(✓, ) =
d
sin ✓d✓⇢(✓, )
4⇡
4⇡ 0
0
la cui rappresentazione matriciale è
0
⇢ =
✓
1/2 0
0 1/2
◆
Possiamo dunque a↵ermare che la miscela statistica scelta non presenta alcuna
coerenza.
4.1.2
Decoerenza: definizione e tipologie
Il fenomeno della decoerenza si può definire semplificatamente come il passaggio
verso una miscela statistica di stati subito da un sistema quantistico che si trovi
in uno stato coerente. Sebbene tale mutamento sia dovuto a fenomeni diversi a
52
4.1. Decoerenza quantistica
Figura 4.1: Rilassamento trasverso (a) e rilassamento longitudinale (b) nella sfera di
Bloch.
seconda del sistema specifico che si considera, la sua causa principale è la dinamica del sistema quantistico prodotta dal contatto con l’ambiente circostante. La
decoerenza è anche importante in quanto responsabile dell’emergere del comportamento classico.
Il tempo in cui avviene il mutamento dello stato del sistema viene detto tempo di
decoerenza e gioca, come vedremo, un ruolo predominante nelle questioni tecniche
concernenti la realizzazione dei computer quantistici.
Si annoverano principalmente due tipologie di decoerenza:
Rilassamento trasverso. Il rilassamento trasverso è causato dalla perdita di
coerenza tra le fasi relative delle ampiezze di uno stato quantistico. Il tempo
di decoerenza che ne risulta si indica con T20 .
Se consideriamo ancora un sistema a due livelli descritto da
| i = ↵ |0i + |1i
e scriviamo le ampiezze come
↵ = |↵|ei
1
= | |ei
2
vediamo come una variazione casuale di = 2
1 provochi l’annullamento
i( 2
1)
dei termini di coerenza |↵|| |e
della matrice densità del sistema.
È interessante visualizzare il mutamento del vettore di Bloch del sistema
nella sfera di Bloch in seguito al rilassamento trasverso. Se riscriviamo lo
stato | i nella forma 2.3 abbiamo che
✓
✓
= ei cos
2
2
nella 2.4 si ottiene
8
>
<x = 2 Re(↵ )
y = 2 Im(↵ )
>
:
z = | |2 |↵|2
↵ = sin
sostituendo ↵ e
53
Capitolo 4. Dalla teoria alla pratica: realizzazione fisica dei computer quantistici
Vediamo dunque che l’annullamento dei termini ↵ proietta il vettore sull’asse z (vedi prima immagine della figura 4.1); notiamo che il processo non
conserva il modulo del vettore di Bloch. I vettori giacenti sull’asse z della sfera di Bloch rappresentano delle misture statistiche. L’interpretazione
geometrica spiega l’utilizzo del termine trasverso riferito a questo tipo di
decoerenza.
Rilassamento longitudinale Il rilassamento longitudinale è dovuto al decadimento di popolazione: gli stati eccitati tendono a decadere spontaneamente
allo stato fondamentale in un certo tempo tipico T1 . Esso è rappresentato dal secondo disegno di figura 4.1: possiamo osservare che il rilassamento
longitudinale implica anche il rilassamento trasverso.
4.2
Requisiti fisici di un sistema volto alla computazione quantistica
David P. DiVincenzo ha stilato nel 2000 (in [DiV00]) una lista di cinque caratteristiche che si richiedono ai sistemi che si candidano ad essere utilizzati per il calcolo
quantistico. Descriveremo uno per uno i punti di tale decalogo.
Cercheremo di contestualizzare tali requisiti nell’ambito dei computer quantistici
a ioni intrappolati, che descriveremo al capitolo 5.
1. Un sistema fisico scalabile con dei qubit ben caratterizzati
In questo primo punto si richiede che il sistema fisico sia scalabile: ciò si traduce
principalmente nella possibilità di far crescere il numero di qubit del sistema senza
sostanziali modifiche all’apparato tecnologico che si utilizza.
Si richiede inoltre che i qubit siano ben caratterizzati: è fondamentale conoscere in
dettaglio il sistema fisico per quanto riguarda:
L’hamiltoniana interna dei qubit. Essa determina l’energia degli autostati che, solitamente, vengono utilizzati come vettori della base computazionale. Nel
caso degli ioni intrappolati si impiegano solitamente due livelli energetici atomici
stabili.
Eventuali accoppiamenti tra gli stati della base computazionale del
qubit e gli altri stati del sistema. Nel caso degli ioni tale conoscenza riguarda gli altri livelli energetici dell’atomo e in particolare quelli vicini ai due livelli
della base computazionale: possibili transizioni indensiderate sono sorgente di rumore nel calcolo quantistico, per cui la probabilità che si verifichino deve essere
sufficientemente ridotta.
Interazioni tra qubit diversi. L’interazione tra i qubit del sistema è fondamentale per la creazione dell’entanglement, ed è perciò necessario conoscerne
54
4.2. Requisiti fisici di un sistema volto alla computazione quantistica
le dinamiche e poterle controllare. Nel caso degli ioni intrappolati tali interazioni sono principalmente dovute agli stati vibrazionali dei qubit nel loro insieme
(fononi).
Accoppiamento con dei campi esterni. È questo in ultima analisi il mezzo che ci permette di manipolare i qubit. Per gli ioni si sfrutta in particolare l’interazione radiazione–atomo: dei raggi laser sono utilizzati — fra le altre cose —
per e↵ettuare delle pseudorotazioni del vettore di Bloch che rappresenta il qubit
(paragrafi 2.1.1 e 2.2.3).
2. L’abilità di inizializzare lo stato dei qubit ad uno stato noto, come
ad esempio |00 . . . 0i.
Questo è importante non solo per avere un input affidabile, ma anche per soddisfare le esigenze della correzione degli errori (punto successivo).
Gli algoritmi di correzione degli errori richiedono un continuo apporto di qubit
in stati a bassa entropia per poter funzionare; la preparazione di tali qubit, che
rappresenta una mancanza di molti dei sistemi ad oggi candidatisi, non costituisce
tuttavia un problema al livello attuale della tecnologia, in quanto l’utilizzo intensivo di codici per la correzione degli errori non è ancora stato raggiunto. Una delle
possibili soluzioni per il futuro è quella di realizzare una sorta di “nastro trasportatore” tramite il quale i qubit vengono allontanati dal sistema, inizializzati e quindi
reintrodotti.
Vi sono due metodi principali per l’inizializzazione dei qubit. Una strada è
quella del ra↵reddamento degli stessi al fine di portarli allo stato fondamentale.
Una seconda strada è quella della misurazione: essa provoca il collasso del qubit
in un autostato dell’osservabile, a cui è possibile risalire dal risultato della misura.
Una volta che lo stato del qubit è noto è possibile, e↵ettuando delle operazioni
appropriate, modificarlo nello stato voluto. Questo secondo approccio può fruttare
dei tempi potenzialmente inferiori rispetto al ra↵reddamento.
Nel caso degli ioni intrappolati i due sistemi di inizializzazione sono interconnessi in quanto le misurazioni, che si e↵ettuano osservando la fluorescenza
che si origina dall’assorbimento stimolato di radiazione, è anch’essa una forma di
ra↵reddamento.
In alcune implementazioni l’inizializzazione non viene provocata attivamente: è
possibile ad esempio fare in modo che un insieme di spin si allinei spontaneamente
ad un campo magnetico applicato. Questo ha tuttavia lo svantaggio di richiedere dei tempi lunghi, dato che il tempo scala della termalizzazione non può mai
essere inferiore al tempo di decoerenza del sistema; in questo approccio perciò è
indispensabile un “nastro trasportatore”.
3. Lunghi tempi di decoerenza, maggiori del tempo di operazione delle
porte logiche.
Gli algoritmi quantistici si basano su fenomeni di entanglement e interferenza per
cui possiamo capire come la decoerenza, sopprimendo i comportamenti quanto–
meccanici delle particelle, sia rovinosa per il calcolo quantistico.
55
Capitolo 4. Dalla teoria alla pratica: realizzazione fisica dei computer quantistici
Cerchiamo di rispondere alla domanda su quanto debbano essere lunghi i tempi
di decoerenza per non impedire l’esecuzione degli algoritmi. È necessaria a questo
punto una precisazione: un sistema quantistico può presentare diversi tempi di
coerenza a seconda del grado di libertà che si considera. I tempi di coerenza pertinenti al nostro discorso sono quelli relativi ai gradi di libertà su cui sono basati
i qubit. Se per esempio si utilizza come qubit lo spin di un elettrone, i tempi
di decoerenza riguardanti il suo moto spaziale sono irrilevanti al fine del nostro
discorso.
Per rispondere alla domanda iniziale non si deve ignorare l’esistenza di codici di
correzione degli errori quantistici, che permettono sotto certe condizioni di correggere gli errori dovuti alla decoerenza, svolgendo un ruolo simile ai corrispettivi
codici classici. Il lavoro teorico svolto nel campo dell’informatica quantistica negli
ultimi decenni ha permesso di dimostrare che i calcoli quantistici possono essere
resi tolleranti all’errore (fault tolerant): le operazioni di correzione possono essere
interposte tra le procedure dell’algoritmo, e inoltre gli errori che occorrono nella
correzione degli errori stessa non sono critici per la riuscita dell’algoritmo. La
condizione è che l’insorgenza di errori non superi un certo tasso.
Grazie alla correzione degli errori i tempi di decoerenza minimi richiesti passano
dalla durata dell’intera computazione a circa 104 – 105 volte il tempo di clock del
computer quantistico1 ; si tratta ad ogni modo di una richiesta abbastanza stringente.
Allo stato attuale della tecnologia la dimostrazione del funzionamento dei codici
di correzione degli errori è ancora impossibile.
Riportiamo in tabella 4.1 il tempo di decoerenza, il clock e il numero di operazioni
eseguibili entro il tempo di coerenza per vari sistemi fisici utilizzabili come computer quantistici: possiamo notare che l’implementazione a ioni intrappolati è una
delle più promettenti. Gli ioni intrappolati esibiscono lunghi tempi di decoerenza
e consentono una veloce applicazione delle porte logiche: è possibile applicare fino
a 1014 operazioni prima che il sistema perda le sue caratteristiche quantistiche.
1
Il tempo di clock è il tempo richiesto per l’esecuzione di una singola operazione.
sistema
spin nucleare
spin elettronico
trappola per ioni (In+ )
elettrone (Au)
elettrone (GaAs)
quantum dot
cavità ottica
cavità a microonde
Tdec (s)
10
2
÷ 108
10 3
10 1
10 8
10 10
10 6
10 5
100
Top (s)
10
3
÷ 10
10 7
10 14
10 14
10 13
10 9
10 14
10 4
N
6
105 ÷ 1014
104
1013
106
103
103
109
104
Tabella 4.1: Stime, per vari sistemi, del tempo di decoerenza Tdec , del tempo di clock
Top e del numero di operazioni eseguibili N = Tdec /Top (tempi in secondi).
56
4.2. Requisiti fisici di un sistema volto alla computazione quantistica
4. Un insieme universale di porte logiche quantistiche.
Abbiamo già introdotto questo argomento al §2.3. In pratica, in una data implementazione, la disponibilità di porte logiche è legata alla varietà di hamiltoniane che le possono generare. L’apparato sperimentale deve poter provvedere
all’ “accensione” e allo “spegnimento” di una collezione di hamiltoniane H1 , H2 ,
. . . tramite le quali è possibile applicare le diverse trasformazioni U1 = eiH1 t/~ ,
U2 = eiH2 t/~ , . . .; visto che il tempo è un parametro basilare per le trasformazioni, si deve essere in grado di controllare l’hamiltoniana del sistema quasi istante
per istante. Ci ritroviamo cosı̀ con dei vincoli contrastanti: il sistema deve essere
isolato raffinatamente per impedire la decoerenza ma allo stesso tempo dobbiamo
poterlo perturbare in maniera molto precisa.
Nondimeno bisogna interessarsi alle interazioni fra i qubit, necessarie per la costruzione delle porte cnot. In alcuni sistemi, come ad esempio in quelli a risonanza
magnetica nucleare, l’hamiltoniana di interazione tra i qubit è di difficile controllo,
il che può diventare un ostacolo fatale per la computazione. In altri, come ad
esempio negli ioni intrappolati, non è disponibile alcuna interazione diretta tra i
livelli energetici di due qubit: si ha bisogno allora di un sottosistema quantistico
che funzioni da bus qubit mediando l’interazione che si vuole ottenere. Nel caso
degli ioni intrappolati il sottosistema non è altro che lo stato vibrazionale della
catena di ioni.
Un altro aspetto da considerare è che, come abbiamo visto al paragrafo 2.3.3, le
porte logiche quantistiche non sono applicabili — utilizzando un numero finito di
porte logiche — senza un certo errore sistematico, al quale si deve aggiungere anche un’ineliminabile componente casuale. Un certo margine di errore è comunque
tollerabile, a patto di far uso dei codici di correzione. Inoltre alcuni algoritmi,
come ad esempio la trasformata di Fourier, non sono eccessivamente sensibili agli
errori sistematici.
5. Capacità di misurare qubit specifici.
Una misura su uno stato
⇢ = p |0ih0| + (1
p) |1ih1| + ↵ |0i h1| + ↵⇤ |1i h0|
si dice efficiente al 100% se restituisce “0” con probabilità p e “1” con probabilità
1 p proiettando lo stato del qubit nel corrispondente autostato, e lo fa indipendentemente da ↵, dallo stato dei qubit vicini o da qualunque altro parametro del
sistema fisico, non influenzando in alcun modo il resto del sistema. Nella realtà le
misurazioni sono meno efficienti, fatto, questo, che non ostacola irrimediabilmente
la computazione quantistica; si può ad esempio incrementare il gradi di fedeltà di
una misura ripetendola più volte alla fine di diverse istanze di un algoritmo.
L’abilita di eseguire rapidamente le misure, in tempi dell’ordine di 10 4 volte il
tempo di coerenza, è inoltre desiderabile in quanto giova all’esecuzione dei codici
di correzione degli errori.
57
Bibliografia
Bibliografia
[DiV00]
David P. DiVincenzo. “The Physical Implementation of Quantum Computation”. In: Fortschr. Phys. 48 (2000), pp. 771–783.
[Fox06]
Mark Fox. Quantum Optics. Oxford University Press, 2006.
58
Capitolo 5
Il computer quantistico basato
sugli ioni intrappolati
Delineeremo in questo capitolo i principi fisici che stanno alla base dello schema
di realizzazione del computer quantistico a ioni intrappolati, occupandoci del confinamento e ra↵reddamento degli ioni e spiegando come si possano applicare delle
porte logiche per mezzo dell’interazione radiazione–atomo.
5.1
5.1.1
Trappole per ioni
Il problema del confinamento
Per mantenere gli atomi che costituiscono i qubit di un computer quantistico a ioni
intrappolati in una regione spaziale limitata sono necessarie opportune tecniche di
confinamento. Il fatto per cui vengono utilizzati degli ioni in luogo di atomi neutri
è che la forza esercitata da un campo elettrico su uno ione è superiore di diversi
ordini di grandezza a quella che un gradiente di campo magnetico praticamente
realizzabile in un laboratorio può esercitare su di un atomo neutro. E↵ettuando un
rapido calcolo con dei valori tipici per i campi e per il momento di dipolo magnetico
degli un atomi è possibile valutare l’ordine di grandezza delle forze subite nei due
casi: se E = 105 V/m si ha
Fion = eE ⇠ 10
14
N
mentre, con dB/dz = 10T/m si trova
Fneutral = µB
dB
⇠ 10
dz
22
N
Ne concludiamo che la forza elettrica è 108 volte maggiore.
Un voltaggio tipico di una trappola per ioni può essere 500V, il che corrisponde
ad un energia di confinamento massima per un atomo ionizzato una sola volta
pari a 500eV. È questa un energia assai maggiore di 1/40eV, energia di agitazione
termica di un gas a temperatura ambiente. L’energia di legame della trappola
eguaglia l’energia cinetica media associata ad una temperatura di 6 ⇥ 106 K!
59
Capitolo 5. Il computer quantistico basato sugli ioni intrappolati
Figura 5.1: Corrispettivo meccanico della trappola di Paul: la palla sopra la superficie
a sella è sottoposta ad un potenziale gravitazionale simile al potenziale elettrostatico
a cui sono sottoposti gli ioni nella trappola. Ruotando la superficie ad una velocità
opportuna la palla rimane confinata.
Il voltaggio considerato è dunque più che sufficiente per confinare gli ioni, anche se
si considera il rinculo che essi subiscono all’atto della ionizzazione. Il procedimento
che si usa infatti per caricare una trappola per ioni consiste nell’indirizzare verso
di essa un fascio di atomi neutri, i quali vengono ionizzati da un secondo fascio di
elettroni che punta nella zona di confinamento.
5.1.2
Trappole a radiofrequenza
Dall’elettrostatica sappiamo che è impossibile creare un campo elettrico capace di
dar luogo ad una zona di equilibrio stabile nello spazio. Questo risultato è a volte
chiamato teorema di Earnshaw. Esso si può dimostrare a partire dall’equazione di
Laplace, soddisfatta dal potenziale elettrostatico nelle regioni prive di carica:
r2 = 0
Le soluzioni di questa equazione sono funzioni armoniche: esse hanno una proprietà per la quale il valore di una tale funzione in un punto r dello spazio è uguale
al medio della funzione su una sfera centrata in r stesso. È perciò impossibile che
il potenziale elettrostatico presenti una posizione di minimo locale.
Quello da usare per confinare gli ioni deve essere dunque un campo elettromagnetico variabile: sono utilizzati solitamente campi a radiofrequenza.
5.1.3
La trappola di Paul
Una possibile geometria di confinamento è quella ideata da Wolfgang Paul. Per
introdurla consideriamo dapprima un parallelo meccanico: una palla posta sopra
una sella (figura 5.1) di equazione
z=
60
k 2
(x
2
y2)
5.1. Trappole per ioni
Figura 5.2: Schema della trappola di Paul lineare. Fra le due coppie di elettrodi si
genera una d.d.p. Vac variabile a radiofrequenza (disegno a sinistra). Notiamo nel disegno
a destra due elettrodi aggiuntivi (contrassegnati dal segno +), carichi positivamente, che
provvedono al confinamento lungo l’asse z.
È possibile provare, anche sperimentalmente, che ruotando la sella ad una velocità
opportuna la palla vi rimane intrappolata. Sebbene la sua posizione media rimanga
costante, la palla subisce dei moti oscillatori attorno alla posizione di equilibrio.
Uno ione intrappolato in un campo a radiofrequenza è un sistema molto simile a
quello appena descritto.
Lo schema della trappola di Paul (in particolare stiamo trattando la trappola
lineare) è riportato in figura 5.2. Quattro elettrodi sono disposti parallelamente
all’asse z del sistema di riferimento. Due di essi, distanti 2r0 tra loro, sono posizionati in corrispondenza dell’asse x; gli altri due si trovano sull’asse y, distanti
sempre 2r0 tra loro. Fra le due coppie di elettrodi si mantiene una di↵erenza di
potenziale variabile V = V0 cos ⌦t a radiofrequenza.
Per determinare il campo elettrico nella regione compresa tra gli elettrodi possiamo limitarci a far uso dell’elettrostatica in quanto la lunghezza d’onda delle
radiofrequenze è molto maggiore della dimensione degli elettrodi: approssimiamo
il sistema come soggetto, istante per istante, ad un campo elettrostatico. Trascuriamo inoltre gli e↵etti di bordo e consideriamo gli elettrodi infinitamente lunghi:
non commetteremo un grande errore se la separazione tra gli elettrodi è molto minore della loro lunghezza. Similmente possiamo consideriamo gli elettrodi filiformi
se il loro raggio è trascurabile rispetto a r0 .
La simmetria del problema ci suggerisce il seguente potenziale:
= a0 + a2 (x2
y2)
In esso non sono presenti termini lineari per via dell’invarianza della configurazione
degli elettrodi rispetto alle riflessioni sui piani x-z e y-z; i termini in x2 e y 2 hanno
segno opposto per poter soddisfare le condizioni al contorno (il potenziale ha
segno opposto in corrispondenza delle due coppie di elettrodi).
61
Capitolo 5. Il computer quantistico basato sugli ioni intrappolati
Imponiamo dunque le condizioni al contorno:
=
0
=
0
+
V0
cos ⌦t per x = ±r0 , y = 0
2
V0
cos ⌦t per x = 0, y = ±r0
2
(5.1)
(5.2)
Ne risulta
V0
cos(⌦t)(x2 y 2 )
2r02
Per il teorema di unicità dell’elettrostatica questa soluzione, soddisfacente l’equazione di Laplace e le condizioni al contorno, è la soluzione corretta.
Ricaviamo ora il campo elettrico
=
E=
0
+
V0
cos(⌦t)(xêx
r02
r =
yêy )
e quindi l’equazione del moto dello ione
m
d2 x
=
dt2
eV0
cos(⌦t)x
r02
(5.3)
Ponendo ⌧ = ⌦t/2 la 5.3 diventa
d2 x
=
d⌧ 2
4ev0
cos(2⌧ )x
⌦2 mr02
la quale è un caso particolare dell’equazione di Mathieu
d2 x
= +(ax
d⌧ 2
2qx cos 2⌧ )x = 0
(5.4)
per ax = 0 e
2eV0
⌦2 mr02
Un ansatz per la risoluzione dell’equazione del moto è il seguente:
qx =
x = x0 cos A⌧ (1 + B cos 2⌧ )
(5.5)
Sostituendo la 5.5 nella 5.4 si arriva a
x0 [ 4B cos A⌧ cos 2⌧ + 4AB sin A⌧ sin 2⌧ A2 cos A⌧ (1 + B cos 2⌧ )] =
= 2qx x0 cos 2⌧ cos A⌧ (1 + B cos 2⌧ )] (5.6)
Assumiamo A, B ⌧ 1 intepretando l’ansatz 5.5 come la composizione di un’oscillazione principale di frequenza A e un’oscillazione secondaria alla frequenza della
forzante (2⌧ = ⌦t) di ampiezza ridotta. Questa seconda oscillazione, molto più
rapida della prima per via del fatto che A ⌧ 1, viene chiamata micromoto.
Mantenendo dunque solo i termini di primo grado in A e B nella 5.6 si trova che
se B ⌧ 1 allora anche qx ⌧ 1. Si arriva quindi all’uguaglianza
B=
62
qx
=
2
eV0
m⌦2 r02
5.1. Trappole per ioni
Occupiamoci ora dell’oscillazione principale: nell’esaminare il moto per intervalli
di tempo abbastanza lunghi rispetto al periodo del micromoto possiamo sostituire
nella 5.6 i termini oscillanti alla frequenza 2⌧ con laploro media temporale. Si
ottiene cosı̀ A2 cos A⌧ = qx B cos A⌧ ovvero A = qx / 2. Giungiamo dunque alla
seguente soluzione approssimata del moto dello ione nella trappola:
✓
◆h
i
qx ⌧
qx
p
x = x0 cos
+ ✓0 1 + cos 2⌧
2
2
nella quale abbiamo incluso anche una fase iniziale arbitraria ✓0 nell’oscillazione
principale.
Le nostre assunzioni iniziali sui coefficienti A e B si riducono a qx ⌧ 1. Di fatto
la nostra soluzione è molto fedele anche per qx  0,4.
Ci siamo preoccupati finora esclusivamente del confinamento nel piano x-y; per
quanto riguarda quello lungo l’asse z è possibile aggiungere due elettrodi positivi
lungo l’asse della trappola (l’asse z per l’appunto) in z = ±z0 come da figura 5.2.
Se si fa in modo che il confinamento assiale sia molto più debole di quello radiale
allora gli ioni tendono a formare una fila; osserviamo che lungo l’asse z non si ha
micromoto in quanto gli elettrodi aggiuntivi sono posti a un potenziale fisso.
5.1.4
Sistemi di ra↵reddamento
Per ridurre al minimo l’ampiezza delle oscillazioni radiali degli ioni in una trappola
di Paul — condizione necessaria affinché il moto degli stessi sia quantizzato — è
fondamentale il ra↵reddamento delle particelle.
Sperimentalmente nell’intrappolamento degli ioni un vuoto spinto è un requisito
quasi scontato, visto il grado di isolamento che si desidera ottenere. Tuttavia per
e↵ettuare un ra↵reddamento preliminare degli ioni può essere utile la presenza di
un gas tampone costituito da elio alla pressione di circa 10 4 mbar: se gli ioni si
trovano inizialmente sopra la temperatura ambiente tramite gli urti con le molecole del gas tampone essi disperdono energia cinetica raggiungendo rapidamente
l’equilibrio termico. Lo stesso processo d’altra parte per sua stessa natura impedisce un ra↵reddamento rilevante degli ioni, che può essere e↵ettuato solo in alto
vuoto (⇠ 10 11 mbar), ad esempio con la tecnica del ra↵reddamento doppler.
Il ra↵reddamento doppler si pratica mediante un laser accordato a una frequenza
⌫ = ⌫0 +
dove ⌫0 è una frequenza di risonanza per lo ione e è un detuning ( ⌧ ⌫0 ).
Il suo principio è basato sull’e↵etto doppler relativistico: gli ioni che si muovono
verso il laser percepiscono una frequenza ⌫ 0 maggiore in accordo con
s
0
⌫
1+
=
⌫
1
la quale si può approssimare per
⌧ 1 come
⌫0
'1+
⌫
63
Capitolo 5. Il computer quantistico basato sugli ioni intrappolati
Se lo ione si muove verso la sorgente con velocità
=
⌫0
= v/c che soddisfa
v
c
allora si ha che ⌫ 0 = ⌫0 e la frequenza percepita dall’atomo è risonante. Solo quando
questo avviene il fotone viene assorbito dall’atomo, trasferendogli un momento pari
a
h
p=
Quando l’atomo decade subisce un rinculo verso una direzione casuale dello spazio:
dopo molti cicli di assorbimento ed emissione gli e↵etti dei rinculi si annullano,
laddove invece il momento trasferito dai fotoni assorbiti si accumula, rallentando lo
ione lungo la direzione del fascio laser. È questa l’idea alla base del ra↵reddamento
doppler.
La velocità con cui il ra↵reddamento può venire e↵ettuato dipende essenzialmente
dalla vita media degli stati eccitati utilizzati: se indichiamo con ⌧ tale tempo di
vita possiamo scrivere
dp
p
h
F =
=
=
(5.7)
dt
2⌧
2 ⌧
Il fattore 2 al denominatore deriva dal fatto che per grandi intensità luminose i
due stati risonanti tendono a popolarsi uniformemente. Gli atomi eccitati tuttavia,
se raggiunti dai fotoni provenienti dal laser, possono subire l’emissione stimolata
rilasciando un fotone lungo la direzione del raggio stimolante: il rinculo che ne
risulta annulla il momento trasferito allo ione dal laser all’atto dell’eccitazione,
cosı̀cché l’e↵etto complessivo è nullo. Per questa riduzione si ha una perdita di
efficacia del ra↵reddamento.
L’accelerazione corrispondente alla 5.7 sarà
a=
F
=
m
h
2 ⌧
Il numero di cicli necessari per fermare l’atomo si può stimare come
N=
mu
mu
=
| p|
h
È bene notare che l’atomo non potrà essere portato alla quiete completa: quando
il detuning richiesto al laser diventa comparabile con la larghezza di riga ⌫ della
transizione viene a mancare l’e↵etto di selezione per il processo di assorbimento, cosı̀cché il limite minimo di temperatura raggiungibile con il ra↵reddamento
doppler è
kB Tmin ⇠ h ⌫
5.2
Risonanze ottiche in sistemi atomici a due
livelli
Dopo aver a lungo parlato delle porte logiche quantistiche al capitolo 2 esaminiamo ora come queste possano essere implementate, in termini fisici, su dei qubit
64
5.2. Risonanze ottiche in sistemi atomici a due livelli
costituiti da due livelli energetici atomici, utilizzando della radiazione laser.
Indichiamo con E1 ed E2 , dove E1 > E2 , le energie dei due livelli del qubit.
L’interazione dell’atomo con una radiazione di frequenza angolare
! = !0 +
con
⌧ !0
prossima alla frequenza di risonanza
!0 =
E2
E1
~
genera delle rotazioni del vettore di Bloch associato al sistema.
Nell’approssimazione a due livelli possiamo restringere la nostra attenzione a
due soli livelli dello spettro energetico dell’atomo, a patto di utilizzare una radiazione di frequenza prossima a quella di risonanza: in questa condizione la probabilità
di transizioni in altri livelli risulta trascurabile.
5.2.1
Hamiltoniana di interazione dell’elettrone
Studiamo il fenomeno in maniera semiclassica, evitando di quantizzare i campi: è
questa una buona approssimazione per i nostri scopi, e ha il vantaggio di essere
matematicamente più semplice della teoria quantistica esatta.
È utile porsi in una gauge che annulli il potenziale elettrostatico e descrivere
l’onda elettromagnetica in termini del potenziale vettore A(R, t). Le ampiezze dei
campi elettrico e magnetico sono allora legate all’ampiezza del potenziale vettore
dalle relazioni
E0
B0
i!A0 =
ikA0 =
2
2
dove k è il modulo del vettore d’onda della radiazione.
L’hamiltoniana di interazione completa dell’atomo con il campo elettromagnetico
classico si scrive come
Hint =
q
q2
S · B(R, t) +
[A(R, t)]2
m
2m
q
P · A(R, t)
m
(5.8)
I primi due termini dipendono linearmente da A0 a di↵erenza del terzo che vi
dipende quadraticamente: nelle fonti luminose ordinarie l’intensità è sufficientemente bassa da permettere di poter trascurare questo ultimo termine.
Valutiamo ora l’ordine di grandezza dei primi due termini:
q
~kA0
m
q
pA0
m
=
~k
p
Tramite il principio di indeterminazione di Heisenberg possiamo stimare ~/p ⇠ a0 ;
essendo k = 2⇡/ abbiamo
q
~kA0
m
q
pA0
m
=
~k
a0
⇠
⌧1
p
dato che nel nostro caso ⇠ 103 Å mentre a0 ' 0,5Å.
Manteniamo per questo solamente il primo termine e, sempre per via del fatto che
65
Capitolo 5. Il computer quantistico basato sugli ioni intrappolati
la lunghezza d’onda della radiazione è molto maggiore delle dimensioni atomiche
tipiche, facciamo la cosı̀ddetta approssimazione di dipolo: sostituiamo nella 5.8
l’espressione del potenziale vettore
A(r, t) = A0 êz ei(ky
!t)
+ A⇤0 êz e
i(ky !t)
(stiamo considerando un’onda che si muove nella direzione positiva dell’asse y) ed
espandendo in serie gli esponenziali manteniamo soltanto il termine di ordine zero
in quanto appunto kY ' a0 / ⌧ 1. Si ottiene l’hamiltoniana di dipolo elettrico
qE0
Pz sin !t
m!
HDE viene detta di dipolo elettrico in quanto mediante una trasformazione di gauge
assume la forma familiare
HDE = D · E
HDE =
con D = qR. Useremo nel seguito questa seconda forma più semplice.
5.2.2
Equazioni di Bloch
L’hamiltoniana completa dell’atomo è
H = Hatom + Hint ' Hatom
D·E
Lavoriamo nella base |+i, | i degli autovettori di Hatom corrispondenti al nostro sistema atomico a due livelli. Scriviamo la rappresentazione matriciale degli
operatori Hatom e D:
✓
◆
✓
◆
E2 0
0
Dr + iDi
Hatom =
D=
(5.9)
0 E1
Dr iDi
0
(abbiamo scomposto gli elementi di matrice di D in parte reale Dr e parte immaginaria Di ). Gli elementi diagonali dell’operatore momento di dipolo negli stati
atomici sono nulli, in quanto D è un operatore dispari e gli autovettori di H hanno
parità definita.
Utilizzeremo per determinare l’evoluzione del sistema la rappresentazione di Heisenberg. Scomponiamo le due matrici 5.9 mediante le matrici di Pauli, e riscriviamo H come
1
1
H = (E2 + E1 )1 + (E2 E1 ) z (Dr · E) x + (Di · E) y
(5.10)
2
2
e calcoliamo l’evoluzione delle matrici
nella rappresentazione di Heisenberg
mediante
i~ ˙ = [ , H]
Si ottengono le equazioni seguenti
2
+ [Di · E(t)] z (t)
~
2
˙ y (t) = !0 x (t) + [Dr · E(t)] z (t)
~
2
2
˙ z (t) =
[Dr · E(t)] y (t)
[Di · E(t)] x (t)
~
~
˙ x (t) =
66
!0
y (t)
(5.11)
5.2. Risonanze ottiche in sistemi atomici a due livelli
Ricordiamo che le matrici di Pauli soddisfano
2
x
=
2
y
=
2
z
=1
Questa proprietà si conserva anche nell’evoluzione temporale in quanto si verifica
dalle 5.11 che, ad esempio,
d 2
(t) = 0
dt x
e dunque
2
x (t)
=
2
x (0)
=1
(5.12)
Calcolando il valor medio delle 5.11 nello stato iniziale dell’atomo otteniamo un
sistema di equazioni per i valori medi si (t) = h i i (t) con i = x, y, z:
2
!0 sy (t) + [Di · E(t)]sz (t)
~
2
ṡy (t) = !0 sx (t) + [Dr · E(t)]sz (t)
~
2
2
ṡz (t) =
[Dr · E(t)]sy (t)
[Di · E(t)]sx (t)
~
~
ṡx (t) =
(5.13)
I valori medi si (t) soddisfano una legge di conservazione simile alla legge di conservazione operatoriale 5.12: moltiplicando le tre equazioni del sistema 5.13 per
s1 (t), s2 (t) ed s3 (t) rispettivamente, si ottiene
s2x (t) + s2y (t) + s2z (t) = cost.
Per mostrare che la costante è unitaria calcoliamo
sx (0) = h | x | i = a⇤ b + ab⇤
sy (0) = h | y | i = i(a⇤ b + ab⇤ )
sz (0) = h | z | i = |a|2 |b|2
da cui si verifica
s2x (0) + s2y (0) + s2z (0) = |a|2 + |b|2
2
=1
per la condizione di normalizzazione.
Per quanto appena dimostrato possiamo interpretare il vettore
s(t) = (sx (t), sy (t), sz (t))
come un punto sulla sfera di Bloch che rappresenta lo stato del sistema a due livelli.
Cerchiamo di dare un significato fisico alle si (t): dalla 5.10 possiamo vedere che
1
~!0 sz (t) rappresenta l’energia interna dell’atomo relativa alla media 12 (E1 + E2 ),
2
mentre sx (t) e sy (t) sono legate all’energia di interazione di dipolo elettrico.
67
Capitolo 5. Il computer quantistico basato sugli ioni intrappolati
Per molte applicazioni si può assumere che i due stati abbiamo lo stesso numero
quantico magnetico m: in questo caso si ha che Di = 0 e il sistema 5.13 si semplifica
in
ṡx (t) = !0 sy (t)
ṡy (t) = +!0 sx (t) + aE(t)sz (t)
ṡz (t) = aE(t)sy (t)
(5.14)
2
2D
Dr · E(t) =
D̂r · E(t) = aE(t)
~
~
(5.15)
Con a dato definito da
Col passare del tempo lo pseudospin s traccia una traiettoria sulla sfera di
Bloch in accordo con la 5.14 (figura 5.3).
Figura 5.3: Evoluzione temporale dello pseudospin nella sfera di Bloch.
5.2.3
Approssimazione di onda rotante
Il sistema di equazioni 5.14 può essere condensato in un unica equazione vettoriale
d
s(t) = ⌦F (t) ⇥ s(t)
dt
con
⌦Fx (t) =
aE(t)
⌦Fy (t) = 0
⌦Fz (t) = !0
(5.16)
La componente z di ⌦F è quella predominante, infatti le transizioni ottiche hanno
energie caratteristiche dell’ordine dell’eV, mentre il dipolo elettrico atomico, legato
ad a dalla 5.15, è dell’ordine di ea0 : per avere ~aE ⇡ ~!0 si deve procurare un
68
5.2. Risonanze ottiche in sistemi atomici a due livelli
Figura 5.4: Precessione del vettore s attorno a un asse fisso ⌦F .
campo elettrico pari a circa 1V/a0 ovvero E ⇡ 108 V/cm. Delle intensità luminose
simili sono ottenibili con dei laser, ma sono maggiori di parecchi ordini di grandezza
a quelle che si utilizzano negli esperimenti di risonanza.
In conclusione, possiamo considerare aE ⌧ !0
La precessione dello pseudospin nella sfera di Bloch si può interpretare come
da figura 5.4 a patto che il periodo di rotazione sia molto maggiore del tempo
scala delle variazioni di ⌦F . Ma siccome in risonanza si ha ! ⇡ !0 vediamo dalla
5.16 che questa condizione non è verificata, e dunque s non può tracciare una
circonferenza attorno a ⌦F prima che quest’ultimo sia variato significativamente.
Per visualizzare il moto di s si utilizza l’espediente del cambiamento di coordinate,
ponendosi in un sistema di riferimento rotante.
Scomponiamo ⌦F in tre componenti:
⌦F = ⌦+ + ⌦ + ⌦0
con
⌦0 = (0, 0, !0 )
⌦+ = ( aE0 cos !t, aE0 sin !t,0)
⌦ = ( aE0 cos !t, +aE0 sin !t,0)
E0 è l’ampiezza del campo elettrico: E(t) = E0 (ei!t + c.c.).
Dato che s ruota principalmente attorno all’asse z — per via del fatto che aE ⌧ !0
— e che ! ⇡ !0 , nel sistema di riferimento in cui ⌦+ è stazionario s è pressoché
costante. In questo sistema di riferimento ⌦ ruota con velocità 2!, e si suoi
e↵etti sul vettore di Bloch si annullano circa 1015 ÷ 1016 volte al secondo.
L’approssimazione di onda rotante consiste nel trascurare questa ultima componente del momento torcente generalizzato ⌦F limitandosi a considerare ⌦0 e ⌦+ .
69
Capitolo 5. Il computer quantistico basato sugli ioni intrappolati
Sotto queste ipotesi il sistema 5.14 diventa
ṡx (t) = !0 sy (t) aE0 sz (t) sin !t
ṡy (t) = +!0 sx (t) + aE0 sz (t) cos !t
ṡz (t) = aE0 [sy (t) cos !t sx (t) sin !t]
(5.17)
E↵ettuando il cambio di coordinate
0 1 0
10 1
u
cos !t sin !t 0
sx
@ v A = @ sin !t cos !t 0A @sy A
w
0
0
1
sz
otteniamo dalla 5.17 l’equazione che regola l’evoluzione del vettore di Bloch nel
sistema rotante:
u̇ = (!0 !)v
v̇ = +(!0 !)u + aE0 w
ẇ = aE0 v
(5.18)
equivalente all’equazione vettoriale
d
⇢=⌦⇥⇢
dt
(5.19)
dove ⇢ = (u, w, z) e ⌦ = ( aE0 , 0, !0 !). Possiamo dunque dedurre dalla
piccolezza delle componenti di ⌦ come in questo sistema il vettore di Bloch si
muova lentamente.
Notiamo che w = s3 : w è legato al valor medio dell’energia del sistema, e viene
chiamato talvolta inversione.
5.2.4
Soluzione nel caso di risonanza esatta
Discutiamo la soluzione delle equazioni di Bloch 5.18 nel caso di risonanza esatta:
! = !0 .
Definiamo la quantità adimensionale
Z t
✓(t) =
aE0 (t0 )dt0
(5.20)
1
Non escludiamo la possibilità che l’ampiezza E0 del campo elettrico possa variare
temporalmente.
Le equazioni 5.18 prendono la forma
u̇ = 0
˙
v̇ = +✓w
˙
ẇ = ✓v
La soluzione della prima equazione è immediata: u(t) = u0 . Per risolvere le ultime
due eliminiamo una delle due variabili. Sostituiamo la terza equazione
w=
70
v̇
✓˙
5.2. Risonanze ottiche in sistemi atomici a due livelli
Figura 5.5: In caso di risonanza esatta il vettore ⇢(t) è ruotato in senso antiorario
attorno all’asse u di un angolo ✓(t) dato dalla 5.20, rispetto allo stato iniziale (in
questo caso coincidente con lo stato fondamentale w = 1).
nella derivata della seconda trovando
✓¨
v̈
v̇ + ✓˙2 v = 0
˙✓
Cerchiamo una soluzione del tipo v(t) = C cos ✓(t); verifichiamo che essa soddisfa
l’equazione. La soluzione più generale risulta essere una combinazione lineare di
seni e coseni — le costanti sono legate alle condizioni iniziali:
u = uo
v = +w0 sin ✓(t) + v0 cos ✓(t)
w = v0 sin ✓(t) + w0 cos ✓(t)
La quantità ✓(t) altro non è che l’angolo di inclinazione di ⇢ rispetto alla direzione
negativa delle w nella sfera di Bloch, come mostrato in figura 5.5.
Se l’ampiezza E0 del campo elettrico non varia nell’intervallo t2 t1 nel quale
è applicato si ha che (figura 5.6)
✓ = aE0 (t2
t1 ) = ⌦(0)(t2
t1 )
⌦(0) = aE0 è la frequenza di Rabi in risonanza; essa fornisce una misura di quanto
tempo impieghi il campo elettrico utilizzato a compiere delle rotazioni dello pseudospin.
Notiamo che se l’atomo si trova allo stato fondamentale (w0 = 1) e gli si applica
un impulso di durata t tale che aE0 t = ⇡ esso si porterà allo stato eccitato
(w0 = +1); un tale impulso viene chiamato di frequente impulso ⇡.
71
Capitolo 5. Il computer quantistico basato sugli ioni intrappolati
Figura 5.6: Nel caso in cui E0 = cost. (soluzione di Rabi) l’angolo ✓ è semplicemente
aE0 (t2 t1 ). L’area sottesa dalla curva è detta area di impulso.
5.2.5
Soluzione in caso di detuning
In generale le equazioni di Bloch prevedono un detuning = !0 ! della radiazione
laser rispetto alla frequenza di risonanza del sistema a due livelli.
Riscriviamo la 5.18 in forma matriciale:
0 1 0
10 1
u
0
0
u
d @ A @
v = +
0
aE0 A @ v A
(5.21)
dt
w
0
aE0 0
w
Consideriamo ora il caso in cui E0 è costante (soluzione di Rabi). Se e↵etuiamo
una rotazione attorno all’asse y di un angolo che soddisfa
tan
=
aE0
ci riconduciamo al caso precedente, ovvero ad un moto rotatorio attorno all’asse
x. Per dimostrarlo consideriamo il vettore ⇢0 = (u0 , v 0 , w0 ) a cui si arriva mediante
il cambio di coordinate
0 1 0
1 0 01
u
cos
0 sin
u
@v A = @ 0
A
@
1
0
v0 A
w
sin
0 cos
w0
Esso obbedisce all’equazione
0 01 0
u
0
d @ 0A @
v
= 0
dt
0
w
0
dove
⌦( ) =
1 0 01
0
0
u
0
⌦( )A @ v 0 A
⌦( )
0
w0
p
2
+ (aE0 )2
(5.22)
(5.23)
è la frequenza di Rabi, già menzionata al paragrafo precedente. Notiamo come la
5.22 sia equivalente all’equazione che si ottiene dalla 5.21 ponendo
= 0, che è
quanto volevamo mostrare.
72
5.2. Risonanze ottiche in sistemi atomici a due livelli
Per completare la risoluzione dell’equazione operiamo una seconda rotazione che
renda stazionario il vettore di Bloch
0 01 0
1 0 00 1
u
1
0
0
u
@ v 0 A = @0 cos ⌦t
A
@
sin ⌦t
v 00 A
w0
0 sin ⌦t cos ⌦t
w00
essa ruota il sistema intorno all’asse x in senso antioriario di un angolo
Per ricavare ⇢ e↵ettuiamo le rotazioni
0 1 0
10
1 0 00 1
u
cos
0 sin
1
0
0
u
@v A = @ 0
1
0 A @0 cos ⌦t
sin ⌦tA @ v 00 A
w
sin
0 cos
0 sin ⌦t cos ⌦t
w00
e notando che ⇢00 (t) = ⇢00 (0) = ⇢0 (0) si ha
0 1 0
10
u
cos
0 sin
1
0
@v A = @ 0
A
@
1
0
0 cos ⌦t
w
sin
0 cos
0 sin ⌦t
10
0
cos
A
@
sin ⌦t
0
cos ⌦t
sin
0
1
0
⌦(t).
10 1
sin
u0
A
@
0
v0 A
cos
w0
Nel caso non esattamente risonante le espressioni per l’evoluzione temporale del
vettore di Bloch sono più complicate.
Il comportamento dell’inversione nel tempo al variare del detuning è riportato in
figura 5.7: all’aumentare del detuning w oscilla con frequenze crescenti (vedi 5.23),
mentre l’ampiezza delle oscillazioni diminuisce. Ci si riferisce a queste oscillazioni
con il nome di oscillazioni di Rabi.
Figura 5.7: Il grafico mostra l’inversione w in funzione del tempo nel caso di ampiezza
stazionaria del campo elettrico (soluzione di Rabi). La curva più alta corrisponde alla
risonanza esatta; quella appena più in basso si ottiene con un detuning
= 0,2 aE0 .
Similmente si trovano a scendere le oscillazioni associate a
= 1,0 aE0 ,
= 1,2 aE0 ,
= 2,0 aE0 e = 2,2 aE0 .
73
Capitolo 5. Il computer quantistico basato sugli ioni intrappolati
5.3
Stato dell’arte dei computer quantistici a ioni intrappolati
Diamo ora un’esposizione di alcuni degli ultimi risultati sperimentali raggiunti nel
campo degli ioni intrappolati.
Per quanto riguarda la stabilità del confinamento, con le attuali tecniche sperimentali si riescono a mantenere gli ioni all’interno delle trappole per mesi. Questo
limite è spesso dettato dal livello di vuoto raggiungibile all’interno della camera
sperimentale: gli ioni subiscono degli urti inelastici con le molecole del gas residuo
che ne possono alterare la natura. Gli urti elastici invece, che alla pressione di
10 11 torr occorrono circa una volta all’ora, e non implicano necessariamente l’espulsione degli ioni dalla trappola.
Facendo uso di camere criogeniche il verificarsi di questi eventi può essere ulteriormente ridotto.
Le specie atomiche adatte per l’utilizzo nella computazione devono presentare
delle transizioni tali da poermettere il ra↵reddamento laser, l’inizializzazione dei
qubit e la loro misura. Sono queste prerogative di ioni semplici esibenti un solo
elettrone nella shell di valenza come i metalli alcanino–terrosi — Be+ , Mg+ , Ca+ ,
Sr+ e Ba+ — o di alcuni particolari metalli di transizione — Zn+ , Hg+ , Cd+ e
Yb+ .
+
Per rappresentare i qubit si scelgono dei livelli particolarmente stabili. Nell’171 Yb
+
Figura 5.8: Diagramma ridotto dei livelli energietici dell’171 Yb . Gli stati eccitati
|ei ed |e0 i sono separati dallo stato fondamentale da una transizione ottica a 369,53nm.
Nel caso b è rappresentata l’inizializzazione dello stato | i eseguita tramite un laser
bicromatico accordato alle transizioni |+i ! |ei e |+i ! |e0 i: nello stato | i il sistema
non interagisce con la radiazione. Nel disegno c a destra si illustra la misura del qubit
nella base computazionale: se si osserva la fluorescenza allora il qubit si trova nello stato
|+i.
si utilizzano due livelli iperfini, che chiamiamo |+i e | i, separati da una frequenza
⌫HF = 12,642812GHz (figura 5.8). Altri due stati eccitati |ei ed |e0 i, anch’essi
separati da una transizione iperfine, acconsentono il ra↵reddamento doppler.
I singoli qubit si riescono a inizializzare con una fedeltà essenzialmente del 100%.
Le misure si e↵ettuano eccitando la transizione |+i
|ei: se l’atomo si trova nello
74
5.3. Stato dell’arte dei computer quantistici a ioni intrappolati
Figura 5.9: La stringa di 20 ioni
risonante, esibendo la fluorescenza
171 Yb+
intrappolati è illuminata da una radiazione
stato |+i si osserva una forte fluorescenza (figura 5.9), e anche solo pochi fotoni
rilevati permettono di e↵ettuare una misura quasi perfettamente efficiente.
Il moto degli ioni all’interno di una stringa è quello di un sistema di oscillatori
accoppiati: un metodo per rendere entangled gli ioni è quello di usare il moto
vibrazionale come intermediario.
Supponiamo che gli ioni reagiscono ad un campo esterno mostrando una separazione dei livelli energetici del tipo ±µE, dove E è il campo e µ è una costante
caratteristica dell’interazione (può trattarsi nella fattispecie dell’e↵etto Stark o
dell’e↵etto Zeeman).
Se il campo applicato non è omogeneo spazialmente, lo stato degli ioni varia con
la loro posizione all’interno della stringa:
Fx = ±µE 0 (x)
dove con E 0 (x) indichiamo la componente del gradiente del campo lungo la direzione x.
Se il campo E è creato da una radiazione elettromagnetica di vettore d’onda k
allora
Fx = ±hk⌦
dove ⌦ = µE0 /h rappresenta la frequenza di Rabi relativa all’accoppiamento dei
qubit con il campo: tramite la radiazione è possibile trasporre lo stato interno dei
singoli qubit in uno stato di moto collettivo di N ioni. La velocità caratteristica
con cui si è capaci di eseguire queste operazioni vale
p
Rgate = ⌦ ⌫R /⌫
(5.24)
con
⌫R = hk 2 /(8⇡ 2 M )
(5.25)
frequenza caratteristica del rinculo subito dallo ione (M è la massa complessiva
della stringa di ioni) e ⌫ frequenza associata al moto vibrazionale della catena di
ioni: una sovrapposizione di stati interna al qubit viene trasposta in una sovrapposizione di modi vibrazionali (fononi).
Attualmente queste trasformazioni, la cui fedeltà è maggiore del 99%, operano con
frequenze dell’ordine di Rgate ⇠ 10 ÷ 100kHz; in futuro si aspira a raggiungere il
GHz utilizzando campi ottici ultraveloci.
p
Dalla 5.24 e dalla 5.25 vediamo che Rgate ⇠ 1/ N : la frequenza delle operazioni
diminuisce al crescere di N . All’aumentare del numero di ioni inoltre la varietà di
75
Capitolo 5. Il computer quantistico basato sugli ioni intrappolati
modi vibrazionali possibili favorisce, per via di meccanismi dissipativi, la decoerenza degli stati vibrazionali. Alla decoerenza della stringa contribuiscono anche
i campi oscillanti, che a lungo andare producono degli sfasamenti sui qubit. Per
queste ragioni non pare possibile scalare l’architettura a singola stringa di ioni.
Le moderne tecniche ottiche, applicate ad una singola stringa di N = 10 ÷ 100
ioni, acconsentirebbero ciononostante la dimostrazione di algoritmi di simulazione
quantistica applicati a sistemi a molti corpi, quali ad esempio ensemble di spin.
Tali sistemi sono notorialmente intrattabili dai computer classici.
Per scalare un processore a ioni intrappolati oltre il limite sopra descritto si
volge lo sguardo verso nuove architetture quali la QCCD (quantum charge coupled
device). Essa consiste nell’accoppiare un piccolo numero di ioni in una catena
singola per mezzo dei moti vibrazionali, e quindi di muovere gli ioni verso altre
zone del processore, in maniera classica. È in questo modo possibile propagare
l’entanglement.
Il controllo del moto dei singoli ioni nella QCCD richiede una refrigerazione del
sistema molto efficiente; si utilizzano per questo degli ioni ausiliari per il ra↵reddamento simpatetico.
L’architettura QCCD ha già portato alla dimostrazione di semplici algoritmi, e
del teletrasporto quantistico: essa rappresenta una nuova frontiera per il calcolo
quantistico. Tuttavia la complessità delle interconnessioni richieste e la di↵razione
dei raggi laser pongono dei limiti alla sua scalabilità.
Vi sono recenti tecnologie che prova a spingersi oltre la QCCD: lo schema che
si cerca di seguire è quello di generare dapprima l’entanglement tra due ioni appartenenti a due diversi registri, quindi di sfruttare tali ioni per applicare delle
porte su due qubit fra ioni dei diversi registri.
Per accoppiare tali registri, chiamati ELU (elementary logic units), si usano dei
fotoni emessi dai due ioni di comunicazione i quali memorizzano lo stato dei qubit
nello stato di polarizzazione. Tali connessioni fotoniche operano oggi alla frequenza di 1000Hz, e si prospettano sostanziali miglioramenti.
Un problema che si incontra sperimentale è dovuto al fatto che gli ioni di comunicazione devono essere sufficientemente isolati dal resto della catena, per evitare
che la radiazione da essi di↵usa influenzi gli altri qubit: si usano per questo delle
+
+
specie atomiche di↵erenti — ad esempio 171 Yb per i qubit di memoria e 138 Ba
per i qubit di comunicazione.
La scalabilità delle trappole si può perseguire anche mediante la costruzione
di chip a ioni intrappolati, costituiti da microelettrodi di precisione. Sono stati
fabbricati dei chip molto complessi in grado di manipolare decine di ioni in diverse
zone di confinamento. A questa scala le operazioni di entanglement sono più
difficoltose per via dell’elevato rumore dei dispositivi elettronici. La decoerenza
che ne deriva non è ancora stata del tutto compresa: gli e↵etti del rumore sembrano
comportarsi come 1/d4 , dove d è la distanza tipica degli ioni dagli elettrodi.
Si sperimentano anche delle interfacce ottiche che possano funzionare da connessioni per diverse ELU di un possibile multicomputer quantistico per il calcolo
distribuito, nel quale porte logiche agenti su qubit appartenenti a diverse ELU
sono applicate per via fotonica. Sarebbe in questo modo possibile costruire un
computer a ⇠ 106 qubit, nel quale ciascuna ELU potrebbe lavorare in parallelo ed
76
Bibliografia
essere entangled con le altre. Sono questi dei buoni presupposti per il raggiugimento della tolleranza agli errori.
Se il meccanismo delle porte fotoniche si riuscisse ad estendere a grandi distanze
sarebbe possibile distribuire entanglement su distanze macroscopiche, e realizzare
protocolli di comunicazione quantistici come la quantum key distribution (QKD).
Tuttavia i fotoni impiegati nella realizzazione delle porte logiche fotoniche hanno
lunghezze d’onda nella regione dell’ultravioletto, e sono per questo poco adatti alla trasmissione su lunghe distanze; si progettano per questo dei convertitori
quantistici di frequenza.
I chip a ioni intrappolati potrebbero portare alla realizzazione di sistemi quantistici estesi, cosı̀cché la ricerca in questo campo permettere l’investigazione del
comportamento dei sistemi quantistici su scala macroscopica.
Bibliografia
[AE87]
L. Allen e J. H. Eberly. Optical Resonance and Two–Level Atoms. Dover,
1987.
[Foo05]
Christopher J. Foot. Atomic Physics. Oxford University Press, 2005.
[Fox06]
Mark Fox. Quantum Optics. Oxford University Press, 2006.
[MK03]
C. Monroe e J. Kim. “Scaling the Ion Trap Quantum Processor”. In:
Science 339 (2003), pp. 1164–1169.
77
Bibliografia
78
Capitolo 6
Conclusione
Riassumiamo la discussione generale portata avanti in questo scritto.
Siamo partiti discutendo la formalizzazione del concetto di algoritmo legata alla
tesi di Church–Turing: un algoritmo si definisce essenzialmente come un processo
eseguibile da una macchina di Turing.
Abbiamo quindi parlato della teoria della complessità computazionale, che cerca
di quantificare le risorse richieste per l’esecuzione di specifici algoritmi o più in
generale per la risoluzione di certi problemi: si ritengono intrattabili quei problemi
che richiedono un tempo di calcolo che cresce esponenzialmente con la grandezza
dell’input. Questa distinzione tra problemi trattabili e intrattabili trova ragion
d’essere nella tesi di Church–Turing forte, la quale a↵erma che qualsiasi problema
trattabile è risolubile efficientemente dalla macchina di Turing — o meglio dalla
sua variante probabilistica.
Le diverse accuse mosse contro la tesi forte hanno spinto a cercare delle motivazioni
fisiche per formulare dei validi criteri di computabilità. Con la nascita e lo sviluppo
del modello di computazione quantistico la fondatezza della tesi di Church–Turing
è stata messa fortemente in discussione: l’algoritmo quantistico di Shor potrebbe
rendere possibile la fattorizzazione dei numeri in un tempo polinomiale, cosa che
si crede irrealizzabile, al giorno d’oggi, con i computer classici.
Nel capitolo 2 abbiamo riassunto i principi del modello di computazione quantistico, dando la definizione di qubit e mettendo in evidenza le nuove possibilità
di calcolo o↵erte dalla meccanica quantistica. Abbiamo illustrato le porte logiche
principali e le tecniche per la realizzazione delle porte logiche controllate. Siamo arrivati infine a dimostrare che ogni circuito quantistico può essere costruito
utilizzando solamente un insieme finito di porte logiche detto universale — un
risultato simile si dimostra per i circuiti logici classici. È questo un risultato di
fondamentale importanza per la realizzazione fisica dei computer quantistici.
Successivamente abbiamo applicato il modello di computazione quantistico alla
risoluzione di certi problemi.
Sebbene non sia possibile copiare un qubit, il teletrasporto quantistico permette
di trasferirne l’informazione non–localmente, a prezzo di un supplemento di informazione classica scambiata.
Abbiamo discusso poi come il principio di sovrapposizione quantistico possa essere
sfruttato per risolvere alcuni problemi più efficientemente di quanto non possano
79
Capitolo 6. Conclusione
fare gli algoritmi classici.
Per finire abbiamo dato la definizione di trasformata di Fourier quantistica e abbiamo descritto la sua utilità nel trattamento di problemi di grande importanza
quali in particolare la fattorizzazione dei numeri.
Ci siamo poi occupati, nel capitolo 4, di stabilire quali sistemi fisici possano fungere da calcolatori quantistici, sviluppando i problemi che si pongono nel
costruire e controllare un sistema che esibisce dei comportamenti quantistici. Abbiamo per questo parlato della decoerenza e dei diversi meccanismi tramite i quali
vengono meno le peculiari caratteristiche di un sistema quantistico in contatto con
l’ambiente esterno.
Nell’ultimo capitolo abbiamo infine esaminato i principi fisici che stanno alla base del funzionamento dei computer quantistici a ioni intrappolati. Abbiamo
preso in considerazione un sistema di confinamento (trappola di Paul) trovando la
soluzione per il moto di uno ione all’interno della trappola e abbiamo accennato
ad alcuni dei sistemi di ra↵reddamento principali che solitamente si utilizzano.
Nella seconda parte del capitolo abbiamo visto come sia possibile e↵ettuare delle
rotazioni del vettore di Bloch che rappresenta lo stato di un atomo nell’approssimazione a due livelli mediante l’interazione con una radiazione risonante: un’onda
esattamente risonante produce variazioni dell’angolo polare ✓ nella sfera di Bloch,
mentre una radiazione leggermente desintonizzata provoca delle rotazioni attorno
ad assi diversi.
Nell’ultimo decennio si sono susseguite diverse dimostrazioni sperimentali di
computer quantistici a ioni intrappolati. Sono stati prodotti stati entangled anche
di 8 qubit, e sono stati eseguiti semplici algoritmi. Si è riusciti a realizzare il cnot
e porte logiche agenti su due qubit fedeli al 99% (probabilità di errore dell’1%);
per permettere il funzionamento dei codici di correzione degli errori è tuttavia necessaria una fedeltà di almeno 99,99%. Si cerca per questo di ridurre ulteriormente
le perturbazioni esterne a cui gli ioni sono sottoposti.
Si cerca ora anche di scalare questi prototipi ancora rudimentali, incrementando il
numero di qubit. Una difficoltà da a↵rontare è dovuta al fatto che lunghe stringhe
di ioni (dell’ordine di 20 elementi) sono difficilmente controllabili per via della varietà dei moti vibrazionali collettivi; si cerca di sviluppare un sistema di trasporto
che renda possibile la separazione dei qubit da processare da quelli di memoria.
Le interazioni tra i qubit nell’implementazione a ioni intrappolati sono mediate
dalle vibrazioni collettive, le quali tuttavia rendono difficile scalare l’architettura
del computer. Un secondo approccio è quello di utilizzare dei fotoni per accoppiare
i qubit: in questo tentativo si è riusciti a creare uno stato entangled a partire da
due ioni distanti 1m.
Anche se si è ancora lontani dalla costruzione di un computer quantistico in grado
di tradurre in pratica i più audaci disegni teorici, la computazione quantistica promette di riformare i nostri standard di computazione. Gli ioni intrappolati sono gli
apripista più accreditati di questa trasformazione per via dell’elevato isolamento
raggiungibile tramite le trappole. Si tratta di un campo di ricerca fruttuoso anche
in vista di altre applicazioni: alcune operazioni logiche su due qubit sono già in
uso in certi orologi atomici che utilizzano come campione di tempo la frequenza
delle transizioni atomiche. Tecniche simili trovano utilizzo in esperimenti di spet80
troscopia.
Negli anni a venire si pianifica la realizzazione di una nuova generazione di chip a
ioni intrappolati (alcuni chip sono già stati costruiti), che potranno forse soddisfare
le più ardite prospettive.
81
Capitolo 6. Conclusione
82
Bibliografia
[AE87]
L. Allen e J. H. Eberly. Optical Resonance and Two–Level Atoms. Dover,
1987.
[CDL91] Claude Cohen–Tannoudji, Bernard Diu e Franck Laloë. Quantum Mechanics. Wiley, 1991.
[DiV00]
David P. DiVincenzo. “The Physical Implementation of Quantum Computation”. In: Fortschr. Phys. 48 (2000), pp. 771–783.
[Foo05]
Christopher J. Foot. Atomic Physics. Oxford University Press, 2005.
[Fox06]
Mark Fox. Quantum Optics. Oxford University Press, 2006.
[MK03]
C. Monroe e J. Kim. “Scaling the Ion Trap Quantum Processor”. In:
Science 339 (2003), pp. 1164–1169.
[NC00]
Michael A. Nielsen e Isaac L. Chuang. Quantum Computation and
Quantum Information. Cambridge University Press, 2000.
83