71
Liceo Cantonale di Locarno Lavoro di maturit ` a Quantum Computer Doriano Hautl ´ e e Gionata Genazzi 2008-2009 Professore responsabile: Christian Ferrari

Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

Embed Size (px)

Citation preview

Page 1: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

Liceo Cantonale di Locarno

Lavoro di maturita

Quantum Computer

Doriano Hautle e Gionata Genazzi

2008-2009

Professore responsabile: Christian Ferrari

Page 2: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor
Page 3: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

For those who are not shocked when they first come across quantum theory

cannot possibly have understood it. (N. Bohr, 1971)

Page 4: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor
Page 5: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

Indice

1 Introduzione 8

1.1 La motivazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.2 Le origini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.3 La fisica quantistica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.4 Il computer quantistico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2 I principi del calcolo quantistico 12

2.1 Qubits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.1.1 La misura su un qubit . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.1.2 Interpretazione geometrica . . . . . . . . . . . . . . . . . . . . . . . 13

2.1.3 Interpretazione fisica . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.2 Registri quantistici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.3 Il principio del calcolo quantistico . . . . . . . . . . . . . . . . . . . . . . . 17

2.4 Quantum gates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.4.1 Operatori lineari . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.4.2 Porte logiche quantistiche a un qubit . . . . . . . . . . . . . . . . . 19

2.4.3 Porte logiche quantistiche a piu qubits . . . . . . . . . . . . . . . . 20

2.5 Circuiti quantistici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.6 Due particolarita del calcolo quantistico . . . . . . . . . . . . . . . . . . . 22

3 L’algoritmo di Deutsch e Deutsch Jozsa 26

3.1 L’algoritmo di Deutsch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.2 L’algoritmo di Deutsch-Jozsa . . . . . . . . . . . . . . . . . . . . . . . . . 27

4 L’algoritmo di ricerca di Grover 34

4.1 Problemi di ricerca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.2 L’oracolo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.3 L’algoritmo di ricerca di Grover . . . . . . . . . . . . . . . . . . . . . . . . 36

4

Page 6: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

4.4 Interpretazione geometrica . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

5 L’algoritmo di Shor 42

5.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.2 Motivazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.3 Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

5.4 Parte classica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

5.5 Parte quantistica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

6 Aspetti sperimentali 56

6.1 Problemi di realizzabilita . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

6.2 Confinamento ionico lineare (Trapped Ions) . . . . . . . . . . . . . . . . . 56

6.3 Risonanza magnetica nucleare (NMR) . . . . . . . . . . . . . . . . . . . . . 58

6.4 Spin nucleare basato sulla tecnologia al silicio . . . . . . . . . . . . . . . . 59

6.5 Esperimenti e realizzazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

6.5.1 Orion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

6.5.2 Nucleo atomico usato come memoria quantistica . . . . . . . . . . . 61

6.5.3 Purificazione dell’entanglement . . . . . . . . . . . . . . . . . . . . 62

A Il teletrasporto 66

Bibliografia 70

5

Page 7: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

Prefazione

Questo testo ha lo scopo di presentare in modo didattico e completo le basi di un’ap-

plicazione moderna e oggi ancora futuristica della fisica quantistica: la computazione

quantistica.

L’idea di svolgere un lavoro su questo argomento e stata proposta dal professor Ferrari e

da noi subito accolta con molto interesse. Dopo alcune lezioni introduttive si e pero rive-

lata tutt’altro che semplice. L’argomento proposto era nuovo, estraneo anche al professor

Ferrari, che ha dovuto documentarsi al riguardo. Grazie a numerosi sforzi da parte sua

e il nostro interesse e stato possibile superare le difficolta, che hanno comunque lasciato

il loro segno: era infatti previsto un approfondimento maggiore, che e stato tralasciato a

causa della mancanza di tempo.

Operare con i concetti della fisica quantistica ha significato per noi anche adottare nuovi

metodi matematici. Con questo testo abbiamo cercato di rendere ogni passaggio il piu

comprensibile possibile, nonostante cio ci potrebbero essere delle difficolta di lettura,

soprattutto se il lettore non e pratico del campo.

Ringraziamenti

Realizzare questo testo ha compromesso lunghe ore di lavoro non solo per gli autori stessi.

Si vogliono ringraziare tutti coloro che hanno aiutato nella sua realizzazione. Per primo, il

docente responsabile nonche professore di fisica Christian Ferrari, che ha proposto il tema

ed e sempre stato disponibile per domande o incertezze, sempre con grande prontezza e

velocita d’esecuzione. Karima Pabst, docente di matematica, che si e gentilmente messa

a disposizione per una breve introduzione all’insieme dei numeri complessi e ci ha cosı

permesso di avere una base matematica necessaria.

6

Page 8: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor
Page 9: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

Capitolo 1

Introduzione

1.1 La motivazione

E da ormai mezzo secolo, che ogni due anni la velocita dei computer raddoppia e la

dimensione delle loro componenti si dimezza. Attualmente la dimensione dei cavi e dei

transistori e meno di un centesimo di quella di un capello umano. Questo progresso

esponenziale fa si che i calcolatori diventino sempre piu veloci e compatti; le attuali

macchine sono infatti milioni di volte piu potenti dei loro umili antenati. Si prevede pero

che questo progresso esplosivo e quasi giunto al suo culmine, a causa di forti limitazioni

fisiche. Con le tecniche litografiche del giorno d’oggi, si e in grado di produrre componenti

100 volte piu piccole di quelle in commercio, ma a queste dimensioni ridottissime la materia

comincia a comportarsi come un aggregato di atomi, e cosı l’eseguire di circuiti diventa

problematico. Gia a dimensioni 10 volte inferiori, i singoli atomi si separano con forza e

basta un minimo difetto per creare un disastro.

Se si vogliono quindi in futuro costruire componenti piu piccoli e aumentare la potenza

di calcolo dei computer, e necessario introdurre nuove tecnologie. E questo il motivo piu

banale per cui la fisica quantistica e la scienza dei calcolatori sono destinati ad incontrarsi.

Un’altra motivazione, ancora parecchio speculativa, e quella secondo cui il cervello umano

opera sulla base di leggi quantistiche. L’ipotesi sembra poco plausibile, ma e suffragata da

alcune osservazioni. Si pensi ad esempio - facendo eccezione dei parziali successi di Deep

Blue - ai computer programmati per giocare a scacchi. Una tale macchina utilizza per

confrontarsi con il campione del mondo, circa 1010 byte di memoria e analizza un milione di

posizioni al secondo. Ora, dato che il tempo operativo di un neurone umano e nell’ordine

dei millesimi di secondo, ci si chiede come un cervello umano come quello di Kasparov

possa, ricorrendo ad algoritmi classici, mostrare altrettanta efficienza. Ma anche compiti

8

Page 10: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

piu semplici, come la comprensione di un linguaggio, sembrano sfide insormontabili per

un computer classico. Pur essendoci un numero limitato di elementi da analizzare, questi

si combinano in un albero di alternative, di modo che il numero di possibilita cresce

esponenzialmente, e l’ammontare di dati presenti nel database diventa enorme, non piu

gestibile da un computer che si limita all’utilizzo di algoritmi classici.

1.2 Le origini

Alcuni decenni fa due pionieri del Thomas J. Watson Research Center della IBM, Rolf

Landauer e Charles H. Bennett, erano al capo di un progetto che era destinato a studi-

are la natura fisica dei circuiti di calcolo dell’informazione, chiedendosi a cosa avrebbe

portato una miniaturizzazione. Si chiesero fino a che punto si potevano rimpicciolire le

componenti e quanta energia era necessaria per seguire un calcolo. Dato che i calcolatori

sono strutture fisiche e quindi in ultima istanza il funzionamento dei circuiti e descritto

dalla fisica, gli studiosi capirono ben presto che a dimensione piccolissime e necessario

formulare una descrizione in termini quantistici.

Partendo dai risultati ottenuti dagli esperimenti di Landauer e Bennett, nei primi an-

ni ottante Paul Benioff dell’Argonne National Laboratory, dimostro che un calcolatore

potrebbe funzionare anche su una base esclusivamente quantistica. Poco tempo dopo,

David Deutsch, dell’Istituto di matematica dell’Universita di Oxford e altri studiosi amer-

icani e israeliani, costruirono modelli di computer su base quantistica per confrontarli con

quelli classici e studiare la possibilita di uno sfruttamento della fisica moderna per velo-

cizzare i processi o eseguire i calcoli in modo completamente nuovo.

Negli anni a seguire la ricerca diminuı fortemente, soprattutto perche gli studiosi non con-

sideravano vere entita fisiche ma cercavano di effettuare i calcoli con unita quantistiche

astratte e con un’impostazione che secondo Landauer comportava parecchie lacune. Si

scoprı poi che potrebbero esserci errori nei calcolatori quantistici di difficile correzione.

Richard P. Feyman del California Institute of Technology scoprı che i calcolatori quantis-

tici potevano essere utilizzati per simulare stati nuovi o non osservabili della materia, ma

non era pero affatto evidente se essi portassero ad una piu veloce risoluzione di problemi

matematici.

Negli anni a seguire vi e pero stata una svolta di notevole importanza. Nel 1993 Seth

Loyd, del Massachusetts Institute of Technology, descrisse un’ampia classe di sistemi fisici

ben noti, con la quale potrebbe esser possibile eseguire operazioni di calcolo quantistico

aggirando alcune delle obiezioni di Landauer. Peter Shor degli AT&T Bell Laboratories

9

Page 11: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

ha dimostrato che con un calcolatore quantistico e possibile scomporre in fattori numeri

molti grandi, il che metterebbe in pericolo anche le piu potenti macchine tradizionali.

1.3 La fisica quantistica

La fisica quantistica e bizzarra. Il fisico Niels Bohr, uno dei fondatori, sosteneva che creava

vertigini a chiunque l’avrebbe capita. Questa teoria contiene infatti numerosi fenomeni

per niente intuitivi, ma piu volte verificati per via sperimentale. Per rendersi conto della

stranezza, di cui sono una prova i cacolatori quaantistici, basta considerare un solo fatto

stravagante, la cosiddetta delocalizzazione delle particelle quantistiche. Essa coincide

con il fenomeno seguente: una particella quantistica (come ad esempio un fotone o un

elettrone) non ha le classiche proprieta di un corpo macroscopico (ad esempio una pallina

da tennis) ma gode, in un certo senso, del dono dell’ibiquita. Un elettrone puo quindi, in

un certo senso quantistico, essere in uno stato dove e allo stesso qui e lı. In quel caso, la

posizione rimane sconosciuta, finche una qualche interazione (per esempio un fotone che

rimbalza sull’elettrone) non rivela se l’elettrone si trova qui o lı.

Quando due stati quantistici sono sovrapposti si dicono coerenti, e quando riacquistano la

loro identita individuale si parla di perdita di coerenza. Nel caso di un fotone questa puo

richiedere anche tempi molto lunghi: possono passare giorni prima che esso urti un oggetto

piccolo come un elettrone e la posizione corretta viene rivelata. Teoricamente anche una

palla potrebbe essere simultaneamente sia qui che lı, in pratica pero questo fenomeno non

e visibile, dato che il tempo necessario affinche un fotone rimbalzi sulla palla e troppo

breve per esser percepito dall’occhio o rilevato da uno strumento. In altre parole, la palla

e troppo grande per nascondersi dai fasci di fotoni, e non puo quindi rimanere in una

posizione indeterminata. Questa stranezza della fisica quantistica si manifesta quindi solo

con entita di dimensioni ridottissime.

1.4 Il computer quantistico

Un computer quantistico e un apparecchio per la computazione che fa uso diretto di

fenomeni quantistici, come la superposizione e l’entaglement per eseguire operazioni su

dei dati. In un computer classico le informazioni sono salvate in bits, mentre nel comput-

er quantistico sono registrate in cosiddetti qubits (quantum binary digits). Alla base del

quantum computer sta la possibilita di strutturare e rappresentare dati nelle proprieta

quantistiche, e i meccanismi quantistici possono essere utilizzati per compiere operazioni

10

Page 12: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

su questi dati.

Sebbene gli studi sul computer quantistico siano ancora agli inizi, sono gia stati portati a

termine esperimenti in cui vengono eseguite operazioni quantistiche su un numero molto

ridotto di qubits.

Se potranno essere costruiti computer quantistici su grande scala, questi saranno in gra-

do di risolvere certi problemi molto piu rapidamente di ogni computer classico attuale,

mettendo per esempio in pericolo gli attuali sistemi di crittografia. Infatti, l’algoritmo di

Shor permettera di fattorizzare un numero n = pq, dove p e q sono numeri primi, molto

velocemente, mettendo in crisi la sicurezza del protocollo di crittografia RSA, oggi il piu

utilizzato.

Per dare un’idea di quanto verrebbe accelerato il processo di fattorizzazione e stata ri-

portata una tabella con un confronto diretto del computer classico e quello quantistico.

Negli esempi qui riportati, il computer classico utilizza l’algoritmo classico attualmente

piu veloce, mentre quello quantistico utilizza l’algoritmo quantistico di Shor. Entrambi i

computer hanno una frequenza operativa nell’ordine dei THz.

Ecco i dati stimati nel caso in cui il numero da fattorizzare e di 300 cifre.

computer classico computer quantistico

1024 processi 1010 processi

150′000 anni < 1 secondo

Se il numero da fattorizzare ha 5′000 cifre la situazione diventa ancora piu estrema: il

computer classico impiegherebbe ben 5 bilioni di anni per fattorizzare il numero (si ricorda

che l’universo ha un eta stimata di 10-16 miliardi di anni), mentre quello quantistico poco

piu di 2 minuti.

Siamo quindi di fronte ad una macchina che una volta realizzata avrebbe un potenziale

enorme ed aprirebbe nuove strade verso calcolazioni oggigiorno ritenute impossibili.

11

Page 13: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

Capitolo 2

I principi del calcolo quantistico

2.1 Qubits

Nella teoria classica della computazione e dell’informazione, il bit e il concetto fonda-

mentale. La teoria della computazione e dell’informazione quantistica e costruita su un

concetto analogo, il bit quantistico, piu comunemente chiamato qubit. Un bit classico puo

avere due stati, notati 0 e 1, analogamente il qubit puo avere due stati quantistici notati

|0〉 e |1〉. Questi stati sono a priori due stati ortogonali di un qualsiasi sistema a due

livelli.

Indipendentemente dalla realizzazione fisica concreta, e necessario dal punto di vista teori-

co avere degli stati a due livelli, in modo da poter manipolare gli stati quantistici. D’ora

in avanti supponiamo di avere un prototipo ideale descritto dallo spazio di Hilbert H = C2

che ci fornisce due qubit ortogonali |0〉 e |1〉. Questi stati vengono rappresentati in C2 dai

vettori

|0〉 =

(1

0

)

|1〉 =

(0

1

)

.

Nello spazio di Hilbert H il prodotto scalare e dato da

〈ψ |φ〉 =

2∑

i=1

ψiφi

dove |ψ〉 =

(ψ1

ψ2

)

e |φ〉 =

(φ1

φ2

)

.

Un prima differenza fondamentale tra i bit classici e i qubit, e il fatto che classicamente

gli stati possono essere unicamente 0 o 1, mentre quantisticamente lo stato puo essere |0〉,

12

Page 14: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

|1〉 o una qualsiasi combinazione lineare in H. Il qubit piu generale e quindi dato da

|ψ〉 = α |0〉 + β |1〉 con le ampiezze α, β ∈ C e |α|2 + |β|2 = 1

2.1.1 La misura su un qubit

Se si effetua una misura sul sistema nello stato |ψ〉 si otterranno due possibili valori,

convenzionalmente indicati con 0 e 1. Secondo le leggi della fisica quantistica il risultato

della misura e intrinsecamente aleatorio e le probabilita sono date da

Prob|ψ〉{0} = |〈0 |ψ〉 |2 = |α|2,

rispettivamente

Prob|ψ〉{1} = |〈1 |ψ〉 |2 = |β|2.

Dopo la misura, se si e osservato il valore 0 lo stato del sistema sara |0〉, se invece si e

osservato 1 lo stato sara |1〉.

2.1.2 Interpretazione geometrica

Una visualizzazione utile del qubit e ottenuto con una rappresentazione geometrica nella

quale gli stati di un qubit vengono associati ai punti su una sfera di raggio unitario. Il

polo posto a sud della sfera corrisponde allo stato 1 e quello a nord allo stato 0. Tutte

le posizioni intermedie sono le sovrapposizioni quantistiche di 0 e 1. Questa sfera e nota

come la Sfera di Bloch ed e illustrata nella figura 2.1.

Esiste una corrispondenza tra un generico stato di un qubit

|ψ〉 = α |0〉 + β |1〉

e un punto sulla sfera di raggio 1 posta in R3 rappresentato come

cosθ

2|0〉 + eiϕ sin

θ

2|1〉 ,

dove θ e ϕ sono numeri reali equivalenti alle coordinate sferiche del punto.

13

Page 15: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

|0〉

|1〉

x

y

z

|φ〉

ψθ

Figura 2.1. La Sfera di Bloch rappresentante un qubit.

I numeri complessi

Un numero complesso ha la forma

z = a+ ib (a, b ∈ R),

dove i =√−1, a = Re(z) rappresenta la parte reale e b = Im(z) la parte immaginaria.

Il modulo di z e |z| =√a2 + b2, e il coniugato di z e dato da z∗ = a− ib.

L’insieme dei numeri complessi viene denotato C.

Un numero complesso si puo vedere come un punto nel piano complesso definito dagli

assi Re(z) e Im(z), e utilizzando le coordinate cartesiane o polari.

Coordinate cartesiane

Il punto z ha coordinate a (sull’asse reale Re) e b (sull’asse immaginario Im).

Coordinate polari

Se l’angolo formato dall’asse Re e dal vettore z e di ampiezza φ e r =√a2 + b2 e il

modulo di z, allora a = r cosφ e b = r sin φ. Il punto z e quindi individuato dalle

coordinate (r, φ), e si puo scrivere z = r(cosφ + i sinφ). Utilizzando la formula di

Eulero

eiφ = cosφ+ i sinφ.

otteniamo z rappresentato come reiφ.

Un qubit |ψ〉 = α |0〉 + β |1〉, dove α e β sono numeri complessi tali che |α|2 + |β|2 = 1,

14

Page 16: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

puo quindi esser scritto in coordinate polari come

|ψ〉 = r0eiφ0 |0〉 + r1e

iφ1 |1〉 ,

con

r20 + r2

1 = 1. (2.1)

L’equazione (2.1) descrive un cerchio unitario in R2. Introducendo l’angolo ρ e con

r0 = cos ρ e r1 = sin ρ,

possiamo rappresentare i moduli di α e β. Ponendo ρ = θ/2 si ottiene

|ψ〉 = eiγ cosθ

2|0〉 + eiϕ sin

θ

2|1〉 ,

con ϕ = φ1 − φ0 e γ = φ0, 0 ≤ ϕ ≤ 2π e 0 ≤ θ ≤ π. Dal punto di vista fisico il fattore eiγ

non ha effetti osservabili, infatti durante la misurazione va perso, e dunque dal punto di

vista osservazionale i due stati eiγ |ψ〉 e |ψ〉 sono identici.

Notiamo infine che l’angolo θ che un punto sulla sfera forma con l’asse z, varia nello stesso

intervallo 0 ≤ θ ≤ π dell’angolo θ nella rappresentazione del qubit

|ψ〉 = cosθ

2|0〉 + eiϕ sin

θ

2|1〉 . (2.2)

Inoltre, l’angolo ϕ di questa rappresentazione soddisfa le stesse condizioni 0 ≤ ϕ ≤ 2π

dell’angolo formato dalla proiezione di un vettore nella sfera di Bloch sul piano (x, y) con

l’asse x.

Esiste quindi una corrispondenza biunivoca tra i qubit rappresentati come nell’equazione

(2.2) e i punti della sfera di Bloch.

2.1.3 Interpretazione fisica

Un qubit, descritto in modo astratto come un vettore nello spazio bi-diminesionale com-

plesso, ha un corrispondente nel mondo reale. In particolare puo essere rappresentato da

qualsiasi sistema fisico con almeno due livelli di energia discreti e sufficientemente sep-

arati. Gli approcci piu comuni per la realizzazione fisica di un qubit sono quelli basati

su:

• le due diverse polarizzazioni di un fotone;

15

Page 17: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

• l’allineamento di uno spin nucleare in un campo magnetico uniforme;

• due livelli di energia1 di un elettrone che ruota in un singolo atomo.

Consideriamo ad esempio il sistema costituito da un atomo di idrogeno H2. In questo

sistema, lo stato |0〉 puo esser rappresentato dal primo livello di energia (n = 0), cor-

rispondente allo stato base dell’elettrone, e lo stato |1〉 dal secondo livello di energia

(n = 1), corrispondente allo stato eccitato. Si puo passare da uno stato all’altro sottopo-

nendo l’elettrone ad un raggio laser di appropriata intensita, durata e lunghezza d’onda.

Riducendo la durata del irradiamento laser e possibile ottenere uno stato intermedio, come

ad esempio 1√2|0〉 + 1√

2|1〉.

2.2 Registri quantistici

Abbiamo considerato un sistema quantistico a due stati, un qubit. Un sistema quantistico

non e pero limitato a due stati. Il discorso in precedenza applicato per il sistema a due

stati e in gran parte applicabile anche nel caso generale con m qubit.

Matematicamente il sistema a due stati e completamente descritto con

|φ〉 = α |0〉 + β |1〉 .

Per due qubit lo spazio di Hilbert e per definizione il prodotto tensoriale H1 ⊗H2, dove

H1 = C2 descrive il primo qubit e H2 = C2 descrive il secondo. Gli elementi di H1 ⊗H2

sono della forma

|ψ1〉 ⊗ |ψ2〉 ≡ |ψ1〉 |ψ2〉 (2.3)

ed il prodotto non e commutativo. In H1 ⊗ H2 vi sono 4 stati che definiscono una base

ortonormata

|0〉 |0〉 |0〉 |1〉 |1〉 |0〉 |1〉 |1〉 (2.4)

Il prodotto scalare in H1 ⊗H2 tra |ψ1〉 |ψ2〉 e |φ1〉 |φ2〉 e cosı definito

〈ψ1 |φ1〉 〈ψ2 |φ2〉

ossia e il prodotto in C dei prodotti scalari nei rispettivi spazi di Hilbert.

1In un atomo i livelli di energia degli elettroni sono discreti e corrispondono a specifici stati dieccitazione. Selezionando due di questi livelli e possibile rappresentare i valori logici 0 e 1.

2Negli esperimenti reali vengono tipicamente utilizzati atomi di rubidio e berillio.

16

Page 18: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

Un vettore generico in |ψ1〉 |ψ2〉 e una combinazione lineare dei 4 stati di base definiti

in (2.4).

Da notare che non tutti gli stati sono esprimibili come in (2.3). Gli stati che non fattor-

izzano, e sono quindi delle combinazioni lineari, sono detti stati entangled .

Questo formalismo si generalizza a m qubit.

Notasi che in generale, un registro quantistico composto da m qubit, necessita 2m vettori

di base per descrivere completamente il suo stato. Nel sistema a m qubit, lo spazio di

Hilbert ha 2m assi perpendicolari, che rappresentano i possibili stati in cui il sistema puo

essere misurato. Come nel sistema a due stati, quando si effetua una misura sul sistema

a 2m stati, questo sara sempre in uno stato preciso e non in uno stato di superposizione,

mentre prima della misura, il sistema puo essere in qualsiasi superposizione degli 2m stati

|Φ〉 =

2m−1∑

k=0

αk |xk〉 , (2.5)

dove gli |xk〉 (0 ≤ k ≤ 2m − 1) definiscono i vettori di base dello spazio di Hilbert a 2m

qubit. Il registro a m qubit puo quindi essere misurato in 2m stati diversi.

La misura su piu qubit e la generalizzazione di quella su un qubit, per esempio la

probabilita di osservare lo stato |xℓ〉, se lo stato del registro e (2.5) e data da

Prob|Φ〉{xℓ} = |〈Φ |xℓ〉 |2 = |αℓ|2.

Utilizzando queste informazioni possiamo costruire un registro quantistico, nel quale pos-

siamo salvare qualsiasi numero x, finche abbiamo abbastanza qubit a disposizione, cosı

come in un registro classico si possono salvare numeri x finche ci sono abbastanza bit

disponibili.

Osserviamo quindi che in un registro quantistico puo esser salvato un numero di infor-

mazioni esponenzialmente piu grande che in un registro classico. Questo e un primo

suggerimento della maggiore potenza del computer quantistico.

2.3 Il principio del calcolo quantistico

Il calcolo classico e dato da una serie di operazioni logiche effettuate sull’insieme dei

bit; analogamente il calcolo quantistico consiste in una successione di operazioni sullo

17

Page 19: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

stato piu generale dell’insieme dei qubit. Questo tipo di operazioni e rappresentato con

una matrice unitaria U(t0, t) che trasforma lo stato iniziale t in uno stato finale t0, nel

quale viene effettuata una misurazione sull’insieme dei qubit o su un loro sottoinsieme,

cosı da ottenere un risultato dell’operazione. I processi del calcolo quantistico vengono

solitamente modellizzati in cosiddetti circuiti quantistici.

2.4 Quantum gates

Dopo aver studiato la descrizione quantistica degli stati di una computazione, vediamo ora

come questi stati evolvono per dar luogo ad una computazione quantistica. Analogamente

al computer classico, un computer quantistico e formato da circuiti quantistici, costruiti

da porte logiche (quantum gates). Contrariamente al caso classico, un’operazione definita

su un qubit non puo limitarsi a stabilire un’azione per gli stati di base |0〉 e |1〉, ma deve

specificare una trasformazione anche per i qubit che si trovano in una sovrapposizione

degli stati |0〉 e |1〉. Questo risultato e ottenuto con le operazioni lineari , che per

convenienza rappresenteremo con delle matrici.

2.4.1 Operatori lineari

Una funzione L : C2 7→ C

2 e detta lineare se per ogni a1, a2 ∈ C e v1, v2 ∈ C2 vale

L(a1v1 + a2v2) = a1L(v1) + a2L(v2).

Nella base computazionale |0〉 e |1〉, una funzione lineare L definita da

L(|0〉) = a11 |0〉 + a21 |1〉

e

L(|1〉) = a12 |0〉 + a22 |1〉

e rappresentata dalla matrice unitaria

A =

(

a11 a12

a21 a22

)

.

Una porta logica e quindi sostanzialmente definita da una matrice unitaria. Si distinguono

porte quantistiche che agiscono su un solo qubit e porte che agiscono su piu qubit.

18

Page 20: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

Matrici unitarie

Una matrice U : C2 7→ C2 e detta unitaria se per ogni v1, v2 ∈ C2 vale la relazione

〈Uv1 |Uv2〉 = 〈v1 |v2〉 .

Questo e equivalente a

U−1 = U∗ = Ut.

2.4.2 Porte logiche quantistiche a un qubit

Un’operazione su un qubit e generalmente definita da una matrice 2 x 2, tuttavia non tutte

le matrici 2 x 2 sono delle operazioni lecite sui qubit. La condizione di normalizzazione

|α|2 + |β|2 = 1 deve essere mantenuta anche nello stato ottenuto dopo la trasformazione.

L’unitarieta della matrice soddisfa questo requisito.

L’operazione fondamentale ad un qubit e nota come Hadamard gate, l’effetto della quale

e trasformare uno stato di base in una sovrapposizione. La porta di Hadamard e data

dalla matrice unitaria

H =1√2

(

1 1

1 −1

)

che applicata sui qubit della base di calcolo corrisponde a

H |0〉 =1√2(|0〉 + |1〉) H |1〉 =

1√2(|0〉 − |1〉).

La porta di Hadamard viene indicata con il simbolo

H

Contrariamente al caso classico, dove vi e un un’unica operazione non banale su un bit,

nel caso quantistico esistono molte operazioni non banali su un qubit. Oltre alla porta di

Hadamard, altre operazioni importanti sono

• Pauli-X gate o NOT gate, data da

X =

(

0 1

1 0

)

che corrisponde a

α |0〉 + β |1〉 X β |0〉 + α |1〉 .

19

Page 21: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

• Pauli-Y gate , data da

Y =

(

0 −ii 0

)

che corrisponde a

α |0〉 + β |1〉 Y i(β |0〉 − α |1〉).

• Pauli-Z gate , data da

Z =

(

1 0

0 −1

)

che corrisponde a

α |0〉 + β |1〉 Z α |0〉 − β |1〉 .

2.4.3 Porte logiche quantistiche a piu qubits

Non sempre e possibile scomporre un registro di due qubits nel prodotto tensoriale dei

singoli qubit componenti. Sono quindi necessarie delle operazioni che agiscono su piu

qubit, definendo delle trasformazioni per gli stati composti, in particolare per gli stati

entangled. Anche le operazioni che agiscono su piu qubits sono unitarie. La porta logica

piu importante e la porta CNOT (controlled-NOT), che agisce su due qubits, chiamati qubit

di controllo e qubit target.

La porta e rappresentata graficamente dal circuito

|A〉 • |A〉|B〉 �������� |B ⊕ A〉

Figura 2.2. La porta CNOT.

Si nota subito che se il controllo e zero, il target e inalterato, e se il controllo e uno, il

target viene negato, ossia

|00〉 7→ |00〉 , |01〉 7→ |01〉 , |10〉 7→ |11〉 , |11〉 7→ |10〉 .

In generale CNOT si puo quindi scrivere

|a〉 |b〉 7→ |a〉 |b⊕ a〉 ,

dove |a〉 e |b〉 sono rispettivamente i qubit di controllo e target, e ⊕ e la somma modulo 2

(come nella corrispondente operazione classica XOR). La porta CNOT e rappresentata dalla

20

Page 22: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

matrice unitaria

1 0 0 0

0 1 0 0

0 0 0 1

0 0 1 0

,

dove ogni colonna rappresenta la trasformazione sul rispettivo vettore della base di calcolo

|00〉 , |01〉 , |10〉 , |11〉. E di fondamentale importanza osservare che la porta CNOT, come

tutte le trasformazioni unitarie, e invertibile, ossia dall’output e sempre possibile ottenere

l’input. Questo e in grande contrasto con le operazioni classiche su due qubit, che sono

generalmente sempre irreversibili.

Esempio d’applicazione: qubit swap circuit

Questo circuito quantistico scambia la posizione di due qubits.

|A〉 • �������� • |B〉

|B〉 �������� • �������� |A〉

Analizziamo il procedimento

|a〉 |a⊕ (a⊕ b)〉 = |b〉 |b〉

|a〉 • �������� • |b〉

|b〉 �������� • �������� |a〉

|a⊕ b〉 |a⊕ b〉 |b⊕ (a⊕ b)〉 = |a〉

2.5 Circuiti quantistici

Un circuito quantistico e costituito da dei quantum wires rappresentati da linee, che

simboleggiano il passaggio di una particella quantistica (qubit). Lo stato in entrata di

un singolo qubit e solitamente dato da |00...0〉 ≡ |0〉. Vi sono poi una successione di

quantum gates che rappresentano le operazioni unitarie eseguite sui qubit. Infine vi e

una quantum measure, indicata con il simbolo di un metro, che trasforma il qubit in

un bit classico (rappresentato da due linee) tramite una misura probabilistica. Lo schema

generale del calcolo quantistico e illustrato nella figura sottostante.

Un’altro esempio di circuito quantistico e riportato sotto.

21

Page 23: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

|0〉

U(t, t0)

NM

|0〉NM

|0〉|0〉|0〉

Figura 2.3. Lo schema generale del calcolo quantistico.

• �������� •U

�������� �������� •

• •NM

��������

• HNM

Figura 2.4. Un esempio di circuito quantistico.

2.6 Due particolarita del calcolo quantistico

Reversibilita

Il calcolo quantistico effetua delle operazioni reversibili (esclusa la misura). Questo e

dato dal fatto che le operazioni sono rappresentate da una matrice unitaria, come gia

detto in precedenza. L’esistenza di una matrice inversa ad U garantisce la reversibilita

dell’operazione. Questo aspetto differenzia il calcolo quantistico da quello classico, nel

quale esistono molte operazioni irreversibili, tipicamente quelle che a due bit in entrata

ne associano uno solo in uscita. Un esempio classico e la porta NAND

x ↑ y = 1 ⊕ xy

dove ⊕ e la somma modulo 2. I risultati di questa operazioni sono riassunti nella seguente

tavola delle verita.

input output

0 0 0 ↑ 0 = 1

0 1 0 ↑ 1 = 1

1 0 1 ↑ 0 = 1

1 1 1 ↑ 1 = 0

22

Page 24: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

Si nota subito che dato il risultato 1 e impossibile risalire ai due bit iniziali.

Un’altro esempio classico e quello della porta XOR, che agisce nel modo seguente

x XOR y = x⊕ y,

e i suoi risultati sono riassunti nella tavola della verita sottostante.

input output

0 0 0 ⊕ 0 = 0

0 1 0 ⊕ 1 = 1

1 0 1 ⊕ 0 = 1

1 1 1 ⊕ 1 = 0

E ora triviale notare che quest’operazione e irreversibile, in quanto dal risultato ottenuto

non e possibile determinare la x e la y iniziale.

Parallelismo quantistico

In un computer quantistico si puo valutare una funzione f(x) su diversi valori di x

contemporaneamente. Questa proprieta e nota come parallelismo quantistico ed e una

caratteristica fondamentale del calcolo quantistico. Consideriamo una funzione della

forma

f : A −→ B

dove A e B sono insiemi finiti. Per calcolare f(x) mediante una computazione quantistica

e necessario definire f(x) come una trasformazione unitaria Uf . Per far cio, applichiamo

sullo stato iniziale |a〉 |b〉 l’insieme di porte logiche quantistiche Uf , che portano allo stato

finale secondo la seguente trasformazione

|a〉 |b〉 −→ |a〉 |b⊕ f(a)〉

dove |a〉 e un elemento dello spazio degli stati del registro di input e |b〉 e un elemento

dello spazio degli stati del registro di output.

|a〉Uf

|a〉|b〉 |b⊕ f(a)〉

Figura 2.5. Schema del circuito quantistico della funzione f .

Consideriamo ora il caso in cui lo stato iniziale del registro di input sia una combinazione

23

Page 25: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

lineare del tipo∑

a∈A αa |a〉 e |b〉 = 0. Applicando Uf otteniamo lo stato del registro di

output

Uf∑

a∈Aαa |a〉 |0〉 =

a∈AαaUf |a〉 |0〉 =

a∈Aαa |a〉 |0 ⊕ f(a)〉 =

a∈Aαa |a〉 |f(a)〉 = |ψ〉 (2.6)

dove e stata sfruttata la linearita di Uf .

a αa |a〉Uf

a αa |a〉 |f(a)〉|0〉

Figura 2.6. Principio del parallelismo quantistico.

Constatiamo quindi che eseguendo Uf una sola volta otteniamo informazioni su tutti i

valori di f , che possono venire calcolati e quindi si possono utilizzare per ottenre deter-

minati risultati (ma attenzione: misurando lo stato |ψ〉 dell’equazione (2.6) si ottiene un

solo valore di f). Questo e possibile grazie al parallelismo quantistico, che e fondato sulla

possibilita di avere delle combinazioni lineari di stati, ossia degli stati intrecciati a piu

qubit.

24

Page 26: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor
Page 27: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

Capitolo 3

L’algoritmo di Deutsch e Deutsch

Jozsa

Quantum computation is... a distinctively new way of harnessing nature... It

will be the first technology that allows useful tasks to be performed in collabo-

ration between parallel universes. (D. Deutsch, 1997)

3.1 L’algoritmo di Deutsch

L’algoritmo di Deutsch, concepito da David Deutsch nel 1985, e un primo esempio che

dimostra la migliore performance dei circuiti quantistici rispetto a quelli classici. Qui

descriviamo una versione semplificata e migliorata dell’algoritmo, che combina il paral-

lelismo quantistico con la proprieta della fisica quantistica della sovrapposizione di stati.

Consideriamo pertanto una funzione con dominio e insieme delle immagini un singolo

qubit.

f : {0, 1} → {0, 1}.

Utilizziamo inizialmente la porta di Hadamard per preparare un qubit nello stato di

superposizione (|0〉 + |1〉)/√

2 e uno nello stato (|0〉 − |1〉)/√

2. Questo lo si ottiene

applicando il gate H rispettivamente ai qubit |0〉 e |1〉. Seguiamo gli stati lungo il circuito

quantistico, rappresentato nella figura 3.1.

|0〉 HUf

H

|1〉 H

Figura 3.1. Il circuito quantistico dell’algoritmo di Deutsch.

26

Page 28: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

Allo stato iniziale

|ψ0〉 = |0〉 |1〉

viene applicata la porta di Hadamard. Si ottiene il nuovo stato

|ψ1〉 =

[ |0〉 + |1〉√2

][ |0〉 − |1〉√2

]

.

Sappiamo che Uf applicato allo stato |x〉 (|0〉 − |1〉)/√

2 da come risultato

(−1)f(x) |x〉 (|0〉 − |1〉)/√

2,

quindi se applicando Uf allo stato |ψ1〉 si ottengono le due possibilita

|ψ2〉 =

±[|0〉+|1〉√

2

][|0〉−|1〉√

2

]

, se f(0) = f(1)

±[|0〉−|1〉√

2

][|0〉−|1〉√

2

]

, se f(0) 6= f(1).

Applicando la porta di Hadamard per la secondo volta sul primo qubit, otteniamo

|ψ3〉 =

± |0〉[|0〉−|1〉√

2

]

, se f(0) = f(1)

± |1〉[|0〉−|1〉√

2

]

, se f(0) 6= f(1).

Constatando che f(0) ⊕ f(1) e 0 quando f(0) = f(1) e 1 altrimenti, possiamo riscrivere

lo stato come

|ψ3〉 = ± |f(0) ⊕ f(1)〉[ |0〉 − |1〉√

2

]

,

cosı che misurando il primo qubit possiamo determinare f(0) ⊕ f(1). Questo e molto

interessante, infatti il circuito quantistico ci ha dato la possibilita di determinare una

proprieta globale di f(x), ossia f(0) ⊕ f(1), con una sola valutazione di f(x)! Questo

e piu rapido di quanto e possibile fare con un computer classico, che richiederebbe due

valutazioni.

3.2 L’algoritmo di Deutsch-Jozsa

L’algoritmo di Deutsch e un caso semplice di un algoritmo quantistico piu generale, l’al-

goritmo di Deutsch-Jozsa. L’applicazione, conosciuta come il problema di Deutsch puo

essere descritta con un semplice gioco. Alice, che sta ad Amsterdam, sceglie un numero

27

Page 29: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

x incluso tra 0 e 2n− 1 e lo invia in una lettera a Boston, dove Bob, calcola una funzione

f(x) e rispedisce il risultato, che puo essere rispettivamente 0 o 1. Ora, Bob ha promesso

di utilizzare un funzione che sia o costante, e che quindi assume lo stesso valore per ogni

x, oppure bilanciata, ossia che assume il valore 0 per esattamente la meta dei possibili

valori di x e il valore 1 per l’altra meta. Lo scopo di Alice e di determinare con certezza di

che tipo e la funzione utilizzata da Bob, comunicando il meno possibile con lui. Quanto

tempo impieghera Alice per arrivare alla soluzione?

Nel caso classico, Alice puo spedire unicamente un valore nella stessa lettera. Alla peg-

gio, Alice dovra quindi interrogare Bob 2n/2 + 1 volte, dato che potrebbe ricevere come

risultati 2n/2 zeri, prima di ottenere un 1 e constatare che la funzione di Bob e bilanciata.

Dunque, il miglior algoritmo classico utilizzabile per determinare il tipo della funzione,

richiede 2n/2 + 1 richieste.

Se Bob e Alice fossero in grado di scambiare qubits, invece dei bit classici, e se Bob

accettasse di calcolare f(x) utilizzando una trasformazione unitaria Uf , Alice potrebbe

raggiungere il suo obiettivo in un’unica corrispondenza con Bob, utilizzando l’algoritmo

di Deutsch-Jozsa.

Come nell’algoritmo di Deutsch, Alice ha un registro di n qubit dove salva la sua doman-

da, e un registro di un qubit dove Bob salvera la risposta. Alice iniziera a preparare il suo

registro come una superposizione di altri valori, in seguito Bob calcolera f(x) utilizzando

il parallelismo quantistico e lascera il risultato nel registro della risposta. Alice combinera

gli stati utilizzando la trasformazione di Hadamard sul registro della domanda, e conclude

effettuando una misura per determinare se f e costante o bilanciata.

Il procedimento dell’algoritmo e visibile nella figura 3.2.

|0〉⊗n H⊗n

UfH⊗n

NM

|1〉 H

Figura 3.2. L’algoritmo di Deutsch-Jozsa.

Seguiamo ora i diversi stati nel circuito. Lo stato di input

|ψ0〉 = |0〉⊗n |1〉

e simile a quello dell’algoritmo di Deutsch, ma qui il registro della domanda descrive lo

stato di n qubits tutti preparati nello stato |0〉. Dopo l’applicazione della trasformata di

Walsh-Hadamard sul registro di domanda e la porta di Hadamard sul registro di risposta

28

Page 30: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

otteniamo lo stato

|ψ1〉 =∑

x∈{0,1}n

|x〉√2n

[ |0〉 − |1〉√2

]

.

La trasformata di Walsh-Hadamard

La trasformata di Walsh-Hadamard e una generalizzazione della porta di Hadamard

utile per creare uno stato contenente informazioni di n qubits, che servira a valutare

una funzione f contemporaneamente su tutti gli n qubits. L’operazione consiste in n

porte di Hadamard che agiscono in parallelo su n qubits. Ad esempio, per n = 2, la

trasformata di Walsh-Hadamard viene indicata con H⊗2 = H ⊗ H e applicata a due

qubit nello stato iniziale |0〉 da come risultato

|0〉 + |1〉√2

⊗ |0〉 + |1〉√2

=|00〉 + |01〉 + |10〉 + |11〉

2.

In generale, H⊗n applicato a n qubits preparati nello stato |0〉, si scrive

1√2n

x

|x〉 ,

dove x e la rappresentazione binaria dei numeri da 0 a 2n − 1. La trasformata di

Walsh-Hadamard produce quindi una sovrapposizione di tutti gli stati della base com-

putazionale di n qubits. Si osserva che per ottenere una sovrapposizione di 2n stati

vengono utilizzate soltanto n porte logiche di Hadamard.

Il registro della domanda e ora una superposizione di tutti i valori, mentre il registro

della risposta e una superposizione di 0 e 1. Ora viene calcolata la funzione f (da Bob)

utilizzando Uf : |x〉 |y〉 → |x〉 |y ⊕ f(x)〉, e si ottiene

|ψ2〉 =∑

x∈{0,1}n

(−1)f(x) |x〉√2n

[ |0〉 − |1〉√2

]

.

Alice possiede ora una quantita di qubits nei quali e salvato il risultato della funzione

calcolata da Bob. Ora e necessario calcolare H⊗n. Per determinare questo risultato e utile

analizzare prima l’effetto della trasformazione di Hadamard su uno stato |x〉. Verificando

separatamente i casi x = 0 e x = 1, otteniamo per un singolo qubit

H |x〉 =1√2

z∈{0,1}(−1)xz |z〉 .

29

Page 31: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

Quindi

H⊗n |x1, ..., xn〉 =1√2n

z1,...,zn∈{0,1}n

(−1)x1z1+...+xnzn |z1, ..., zn〉 ,

che puo essere scritto in modo compatto come

H⊗n |x〉 =1√2n

z∈{0,1}n

(−1)x·z |z〉 ,

dove x · z e il prodotto scalare modulo 2. Grazie a questa formula, si puo ora calcolare lo

stato finale del registro

|ψ3〉 =1

2n

z∈{0,1}n

x∈{0,1}n

(−1)x·z+f(x) |z〉(

|0〉 − |1〉√2

)

.

Analizzando i casi possibili, osserviamo che se f e costante, la probabilita di ottenere

z = 00...0 nella misura degli n qubit e uguale a 1, infatti

Prob|ψ3〉{00...0} = |〈00...0 |ψ3〉 |2 =

∣∣∣∣∣

x∈{0,1}n

(−1)f(x)

2n

∣∣∣∣∣

2

= 1,

e chiaramente tutte le altre possibilita sono nulle. Se f e bilanciata invece, la possibilita

di ottenere z = 00...0 nella misura degli n qubit del registro input, e uguale a 0, infatti

Prob|ψ3〉{00...0} = |〈00...0 |ψ3〉 |2 =

∣∣∣∣∣

x∈{0,1}n

(−1)f(x)

2n

∣∣∣∣∣

2

= 0,

poiche meta delle volte f(x) = 0 e l’altra meta f(x) = 1, quindi nella misura si ottera un

valore diverso da 0 su almeno un qubit del registro della domanda. Concludendo, se Alice

misura tutti gli n valori 0, la funzione e costante, altrimenti e bilanciata.

Si e quindi mostrato che un computer quantistico puo risolvere il problema di Deutsch

eseguendo un unico calcolo della funzione f , rispetto al requisito classico di 2n/2 + 1

calcoli.

Esempio con n = 2

Consideriamo una funzione il cui insieme di denominazione contiene 4 elementi. Come

visto in precedenza il problema vuole che la funzione sia obbligatoriamente costante oppure

bilanciata.

30

Page 32: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

Seguiamo il procedimento illustrato dal circuito quantistico nella figura 3.3.

|0〉 H

UfH⊗2 NM

|0〉 HNM

|0〉 X H

Figura 3.3. L’algoritmo di Deutsch-Jozsa con n = 2.

Inizializziamo il sistema nello stato

|ψ0〉 = |00〉 |0〉 .

Come primo passaggio applichiamo X al qubit di controllo

|ψ1〉 = |00〉 ⊗X |0〉 = |00〉 |1〉 ,

poi l’operatore di Hadamard

|ψ2〉 = H⊗2 ⊗H |ψ1〉 =|00〉 + |01〉 + |10〉 + |11〉

2⊗ |0〉 − |1〉√

2.

Nei passaggi seguenti non riscriveremo piu lo stato del qubit di controllo visto che restera

invariato.

Applichiamo ora Uf , il cui effetto, come visto precedentemente, e riassumibile in |x〉 7→(−1)f(x) |x〉 non modificando lo stato del qubit di controllo.

Si suppone che la funzione f(x) assume valore 1 per x = 00 e x = 11, mentre assume

valore 0 nei casi in cui x = 01 e x = 10. La funzione risulta quindi essere bilanciata,

ma in la verita non lo sappiamo ancora, poiche questo stato non e visibile nella realta

di un calcolatore quantistico, che ci permettera solo con la misurazione finale di venire a

conoscenza di un valore concreto.

Otteniamo

|ψ3〉 = Uf |ψ2〉 =(−1)1 |00〉 + (−1)0 |01〉 + (−1)0 |10〉 + (−1)1 |11〉

2

=− |00〉 + |01〉 + |10〉 − |11〉

2.

31

Page 33: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

Non ci resta infine che far passare il tutto attraverso un’altra porta di Hadamard, otte-

nendo

H⊗2 |ψ3〉 =−H⊗2 |00〉 +H⊗2 |01〉 +H⊗2 |10〉 −H⊗2 |11〉

2=

=1

2

[

−( |00〉 + |01〉 + |10〉 + |11〉

2

)

+

( |00〉 − |01〉 + |10〉 − |11〉2

)

+

( |00〉 + |01〉 − |10〉 − |11〉2

)

−( |00〉 − |01〉 − |10〉 + |11〉

2

)]

=1

2

[

0 |00〉 + 0 |01〉 + 0 |10〉 + 2 |11〉]

= |11〉 .

La misurazione emette quindi, con probabilita uguale a 1, il valore |11〉 che, essendo

diverso da |00〉, ci permette di affermare che la funzione e bilanciata.

32

Page 34: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor
Page 35: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

Capitolo 4

L’algoritmo di ricerca di Grover

Nel 1996 Lov Grover ha sviluppato un metodo quantistico per risolvere problemi di ricerca

non strutturata fornendo un elevato miglioramento di prestazioni rispetto agli algoritmi

di ricerca classici.

4.1 Problemi di ricerca

I problemi di ricerca consistono in una numerosa classe di problemi. Generalmente, la

forma di un problema di ricerca e la seguente: ”trovare un numero x in un insieme di

possibili soluzioni, per il quale una certa condizione p(x) sia soddisfatta”. Un problema di

ricerca non strutturato e ancora piu complesso, perche non si conosce la struttura dello

spazio delle soluzioni. In un problema di ricerca strutturato e invece possibile ottenere delle

informazioni sulla struttura, il che permette di costruire algoritmi efficienti. Il migliore

algoritmo classico per la risoluzione di un problema di ricerca non strutturato e quello che

controlla la condizione p(x) su ogni elemento x nell’insieme delle possibili soluzioni. Se lo

spazio delle soluzioni e di dimensione N , l’algoritmo classico richiede O(N) valutazioni di

p. Su un computer quantistico, utilizzando l’algoritmo di Grover, questo problema richiede

solo O(√N) valutazioni. L’algoritmo di Grover e quindi ottimale per la risoluzione di

problemi di ricerca non strutturati.

4.2 L’oracolo

Supponiamo di voler cercare degli elementi in un insieme di N = 2n elementi (con n ≥ 1;

nei problemi concreti solitamente n e molto grande). Invece di cercare gli elementi diret-

tamente ci concentriamo sull’indice e assegnamo a ogni elemento un numero da 0 a N −1

34

Page 36: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

attraverso una sequenza di n bits. Supponiamo inoltre che il problema di ricerca abbia

esattamente M soluzioni con 1 ≤ M ≤ N e che esista un oracolo che determini se una

data sequenza di n bits sia una soluzione oppure no. Al momento non ci interessiamo della

realizzazione dell’oracolo anche se il tutto puo risultare un po’ astratto. Piu precisamente,

l’oracolo e una trasformazione unitaria O che implementa una funzione booleana f :

f : {0, 1}n 7→ {0, 1} (4.1)

che da come risultato f(x) = 1 se x e una soluzione e f(x) = 0 nel caso contrario.

L’oracolo corrisponde quindi alla trasformazione unitaria

O : |x〉 |q〉 7→ |x〉 |q ⊕ f(x)〉 (4.2)

dove x ∈ {0, 1}n e |q〉 e un singolo qubit. Se |q〉 e inizializzato a |0〉, |q〉 diventa 1

quando f(x) = 1, mentre diventa 0 se |q〉 e inizializzato a |1〉. Nell’algoritmo di ricerca e

conveniente che il qbit |q〉 sia preparato nello stato |q〉 = 1√2(|0〉 − |1〉). In questo modo

l’azione dell’oracolo e quella di invertire le ampiezze (nella nostra definizione di qubit: i

coefficienti α e β) degli stati |x〉 che sono soluzioni, lasciando invariati gli altri stati, come

e visibile nella figura 4.1. Possiamo quindi scrivere la trasformazione come segue:

O : |x〉 |0〉 − |1〉√2

7→ (−1)f(x) |x〉 |0〉 − |1〉√2

. (4.3)

Il qubit |q〉 non viene modificato, possiamo quindi ignorarlo. Pertanto applicato ad un

generico stato quantistico O agisce secondo la trasformazione

O :∑

x∈{0,1}n

αx |x〉 7→∑

x∈{0,1}n

(−1)f(x)αx |x〉 . (4.4)

media

Figura 4.1. Effetto dell’oracolo sulle ampiezze.

35

Page 37: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

4.3 L’algoritmo di ricerca di Grover

L’algoritmo di Grover e definito su un registro input preparato nello stato |0〉⊗n. La

trasformata di Hadamard viene applicata per ottenere la superposizione equiprobabile di

stati

|ψ〉 =1√N

x∈{0,1}n

|x〉 (4.5)

A questo punto si ripete per un numero appropriato di volte l’applicazione dell’operatore

di Grover

G = H⊗nP0H⊗nO (4.6)

dove l’operatore P0 effettua uno shift di fase di −1 su tutti gli stati computazionali diversi

da |0〉, cioe

P0 : |x〉 7→{

|x〉 se x = 0

− |x〉 se x 6= 0, (4.7)

per ogni 0 ≤ x ≤ N − 1. L’operazione H⊗nP0H⊗n puo essere scritta come 2 |ψ〉 〈ψ| − I,

poiche

H⊗n(2 |0〉 〈0| − I)H⊗n = H

[

2

(

1 0

0 0

)

− I

]

H (4.8)

=

(

1 1

1 1

)

− I (4.9)

= 2 · 1√2(|0〉 + |1〉) · 1√

2(〈0| + 〈1|) − I (4.10)

= 2 |ψ〉 〈ψ| − I. (4.11)

Questa operazione e chiamata ”inversione intorno alla media” perche il suo effetto e quello

di invertire e amplificare le ampiezze degli stati soluzione, le quali erano state moltiplicate

per −1 dall’oracolo, innalzandole del doppio al di sopra della media di tutte le ampiezze

(vedi figura 4.2). Applicandola ad uno stato generico |a〉 =∑

x∈{0,1}n αx |x〉 otteniamo

(2 |ψ〉 〈ψ| − I)(∑

x∈{0,1}n

αx |x〉) =∑

x∈{0,1}n

(2〈α〉 − αx) |x〉 (4.12)

dove 〈α〉 ≡ 1N

x∈{0,1}n αx e il valore medio di αx. Per il risultato visto in (4.11) possiamo

scrivere l’operatore di Grover come

G = (2 |ψ〉 〈ψ| − I)O. (4.13)

36

Page 38: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

media

Figura 4.2. Inversione intorno alla media.

Cominciamo dall’applicare O allo stato iniziale |ψ〉. Questo risulta in

/n

O

H⊗n P0 H⊗n

Figura 4.3. L’operatore G in dettaglio.

|ψ′〉 = O |ψ〉 =1√N

x∈{0,1}n

(−1)f(x) |x〉 . (4.14)

Ora applichiamo la parte restante di G e otteniamo

(2 |ψ〉 〈ψ| − I) |ψ′〉 =1√N

x∈{0,1}n

(2〈α〉 − αx) |x〉

=1

N√N

x∈{0,1}n

[

2

(∑

y∈{0,1}n

(−1)f(y)

)]

−N(−1)f(x))|x〉

Adesso non ci resta che interpretare il risultato. Per tutti i valori ricercati x ∈ S (con

S l’insieme delle soluzioni) f(x) = 1, mentre per tutti gli x /∈ S f(x) = 0. Questo

ci permette di scrivere la sommatoria∑

y∈{0,1}n(−1)f(y) come (N −M)(+1) +M(−1) e

sviluppando il tutto otteniamo lo stato dopo un’applicazione di G

N − 4M

N√N

x/∈S|x〉 +

3N − 4M

N√N

x∈S|x〉 (4.15)

Come si puo osservare, l’ampiezza dei termini che ci interessano e aumentata. Ripetendo

questa operazione per varie iterazioni, questo effetto sara incrementato. Alla fine dell’al-

37

Page 39: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

goritmo si effettua quindi una misurazione che dara con molta probabilita uno dei risultati

cercati.

|0〉 /n H⊗n

G G GNM

|0〉 X H

Figura 4.4. Il ciruito quantistico dell’algoritmo di Grover.

4.4 Interpretazione geometrica

Si puo interpretare l’operatore di Grover come una rotazione nel piano bi-dimensionale

generato dal vettore |ψ〉 e dal vettore soluzione del problema di ricerca. Consideriamo

pertanto i vettori normalizzati e ortogonali

|σ〉 =1√

N −M

x/∈S|x〉 e |τ〉 =

1√M

x∈S|x〉 (4.16)

dove come prima S = {x|f(x) = 1}. Questi stati sono delle sovrapposizioni uniformi degli

stati che non sono soluzioni e di quelli che sono soluzioni, e permettono quindi di scrivere

|ψ〉 =

N −M

N|σ〉 +

M

N|τ〉 (4.17)

Per vedere che G effettua una rotazione, osserviamo che l’azione dell’oracolo O e una

riflessione intorno all’asse |σ〉 nel piano generato da |σ〉 e |τ〉. Infatti, per ogni stato

a |σ〉 + b |τ〉 (con |a|2 + |b|2 = 1)

O(a |σ〉 + b |τ〉) = a |σ〉 − b |τ〉 . (4.18)

In modo simile, anche 2 |ψ〉 〈ψ| − I effettua una riflessione, nel piano definito da |σ〉 e |τ〉,attorno al vettore |ψ〉. Il prodotto di due riflessioni e una rotazione. Per analizzare meglio

l’azione di G scriviamo

|ψ〉 =

N −M

N|σ〉 +

M

N|τ〉 = cos

θ

2|σ〉 + sin

θ

2|τ〉, (4.19)

dove θ e definito da

cosθ

2=

N −M

N. (4.20)

38

Page 40: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

Come gia visto in (4.18), applicando O otteniamo una riflessione rispetto a |σ〉:

|ψ′〉 = O |ψ〉 = cosθ

2|σ〉 − sin

θ

2|τ〉 (4.21)

Poi, applicando il resto di G e considerando che 〈ψ |ψ′〉 = cos θ:

G |ψ′〉 = [2 |ψ〉 〈ψ| − I] |ψ′〉 = 2〈ψ |ψ′〉 |ψ〉 − |ψ′〉

= (2 cos θ − 1) cosθ

2|σ〉 + (2 cos θ + 1) sin

θ

2|τ〉 = cos

2|σ〉 + sin

2|τ〉(4.22)

e quindi G |ψ〉 si ottiene da |ψ〉 con una rotazione di θ. In modo analogo la successiva

iterazione di G si ottiene da G |ψ〉 con una rotazione di un angolo θ. Questo vuol dire

che dopo k iterazioni il vettore Gk |ψ〉 si ottiene da |σ〉 con una rotazione di un angolo

(2k + 1)θ2

e che la formula generale e quindi

Gk |ψ〉 = cos(2k + 1)θ

2|σ〉 + sin

(2k + 1)θ

2|τ〉 . (4.23)

Si puo notare che l’effetto delle successive applicazioni di G e quello di avvicinare Gk |ψ〉 al

vettore degli stati soluzione |τ〉, come e graficamente visibile nella figura. Per determinare

il numero ottimale di volte k0 che occorre reiterare l’algoritmo poniamo

0 = cos(2k + 1)θ

2= cos kθ cos

θ

2− sin kθ sin

θ

2=

N −M

Ncos kθ −

M

Nsin kθ (4.24)

da cui si deduce tan kθ =√

N−MM

e, utilizzando 1 + tan2 x = 1cos2 x

, otteniamo cos kθ =√

MN

. Pertanto

k0 = ⌊arccos

√MN

θ⌉ = ⌊

arccos√

MN

2 arccos√

N−MN

⌉ (4.25)

dove ⌊a⌉ denota l’intero piu vicino al numero reale a e abbiamo utilizzato (4.20) per

ricavare θ. Per N ≫ M si ha che√

N−MN

= cos θ2

viene approssimato 1 − 12N

≈ 1 − θ2

8, e

quindi

k0 ≈

√N

2arccos

M

N≈π

4

N

M. (4.26)

Per ottenere con la piu alta probabilita un risultato cercato, l’algoritmo di Grover necessita

di iterare l’operatore G un numero di volte O(√N). Dopo questo numero di iterazioni

39

Page 41: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

infatti la probabilita che la misurazione dello stato dia un risultato positivo e

ProbGk0 |ψ〉{x = y} = |〈τ |Gk0 |ψ〉 |2 = sin2 (2k0 + 1)θ

2. (4.27)

Quando N ≫M , otteniamo

ProbGk0 |ψ〉{x = y} = sin2 (2k0 + 1)θ

2≈ sin

2+

1

N

)

≈ 1 −O

(1

N

)

. (4.28)

Cio significa che la probabilita d’errore e dell’ordine di O(1/N) .

Esempio con n = 2

Proponiamo ora un esempio per il caso in cui si effettua la ricerca di un elemento (M = 1),

in un insieme composto da 4 elementi (N = 4 e quindi n = 2). Utilizzando (4.25)

otteniamo che occorre applicare esattamente una volta l’operatore di Grover per ottenere

il risultato cercato. Infatti

k0 = ⌊arccos

√14

2 arccos√

4−14

⌉ = 1.

Lo stato di input e il seguente

|ψ0〉 = |0〉 |0〉 |0〉

L’ultimo qubit e il qubit di controllo e da ora via non lo rappresenteremo piu poiche risulta

ininfluente rispetto all’azione dell’algoritmo. Supponiamo che il valore cercato sia x = 2

dove |0〉 = |00〉, |1〉 = |01〉, |2〉 = |10〉, |3〉 = |11〉.Si applica la porta di Hadamard H⊗2 e si ottiene la sovrapposizione equiprobabile di stati:

|ψ1〉 =|0〉 + |1〉 + |2〉 + |3〉

2

Si applica O:

|ψ2〉 = O |ψ1〉 =|0〉 + |1〉 − |2〉 + |3〉

2

Notiamo che l’ampiezza dell’elemento cercato e stata invertita da α a −α. Si applica la

parte restante di G, ovvero l’operatore (2 |ψ〉 〈ψ| − I):

G |ψ1〉 = (2 |ψ〉 〈ψ| − I) |ψ2〉 =N − 4M

N√N

(|0〉 + |1〉 + |3〉) +3N − 4M

N√N

|2〉

= 0(|0〉 + |1〉 + |3〉) + 1(|2〉) = |2〉

40

Page 42: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

Nell’ultimo passaggio l’ampiezza di |2〉 e stata ancora invertita ed inoltre amplificata del

doppio al di sopra della media. Questo perche, riconducendo l’effetto di (2 |ψ〉 〈ψ| − I) |x〉a (2 1

N

x∈{0,1}n αx − αx) |x〉 (come visto in (4.12)), avremo per tutti gli x che non sono

soluzioni:

(

21

N

x∈{0,1}n

αx − αx

)

|x〉 =

(

2 · 1

4· 1 + 1 − 1 + 1

2− 1

2

)

|x〉 =

(1

2− 1

2

)

|x〉 = 0

mentre per gli x che sono soluzioni (nel nostro caso solo x = 2):

(1

2+

1

2

)

|2〉 = |2〉

Tutto cio e possibile grazie all’inversione dell’ampiezza da α = 12

a α = −12

effettuata

precedentemente dall’operatore O.

Effettuando una misurazione otteniamo quindi con probabilita uguale a 1 il valore cercato

|2〉 = |10〉.Lo svolgimento dell’algoritmo ha richiesto, con il computer quantistico, una sola iterazione.

L’algoritmo classico invece, richiederebbe di calcolare il valore di f(x) per ogni elemento

fino a trovare un valore che dia 1 e confermi che sia quindi una soluzione. In media tutto

cio richiederrebbe N/2 valutazioni di f(x). Nel nostro esempio cio corrisponderebbe a 2

valutazioni invece di 1. Certo, dover effettuare una valutazione in meno non rappresenta

sicuramente un grande guadagno in termini di tempo, ma pensiamo all’applicazione in

database di una certa vastita. Se per esempio si cerca un elemento in un database di

105 elementi, l’algoritmo di Grover richiederebbe solamente 248 iterazioni, mentre un

computer classico dovrebbe valutare in media 105/2 = 50000 volte la condizione p(x). Il

guadagno di tempo che ne deriva e sicuramente importante.

41

Page 43: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

Capitolo 5

L’algoritmo di Shor

5.1 Introduzione

All’inizio degli anni ’90 si sapeva che un computer quantistico poteva essere piu veloce

di uno classico nel risolvere certi problemi. Nonostante la curiosita di molti, nessuno

era motivato a fare grandi investimenti per tentare di costruire un computer quantistico.

Questo cambio nel 1994, quando Peter Shor, uno scienziato di Bell Labs, concepı un

algoritmo quantistico in grado di fattorizzare numeri a molte cifre in tempi polinomiali.

La scoperta di Shor attiro molta attenzione sul campo del computer quantistico.

5.2 Motivazione

L’algoritmo di Shor suscito grande interesse per via della sua utilita nel combattere la

crittografia classica. Infatti la sicurezza di molti sistemi di crittografia e basata sulla

difficolta di fattorizzare numeri grandi: se viene creato un metodo sicuro e veloce per

fattorizzare numeri grandi, molti sistemi di crittografia diventerebbero insicuri. Sebbene

non e stato dimostrato che con un computer classico non e possibile fattorizzare numeri

grandi in un tempo polinomiale, l’algoritmo classico attualmente piu veloce impiega tempi

esponenziali dell’ordine O(ec(logN)1/3(log logN)2/3) per fattorizzare un numero grande N . In

contrasto a cio, l’algoritmo di Shor completa la stessa operazione in un tempo polinomiale

O((logN)2 log logN)) sul computer quantistico, con un post processing di O(logN) passi

sul computer classico. Questa scoperta suscito molto interesse per il quantum computer e

ne porto avanti gli studi. L’algoritmo di Shor e oggi uno dei piu importanti e piu studiati

algoritmi del computer quantistico.

42

Page 44: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

5.3 Problema

Il problema che dobbiamo risolvere e il seguente: dato un numero composto N = pq,

dobbiamo determinare p e q. La soluzione per la risoluzione del problema consiste nel

ricondurre il problema di fattorizzazione a un problema di determinazione dell’ordine o

del periodo di una funzione. Per far cio, dividiamo le operazioni in due parti:

• parte classica, per ridurre il problema alla determinazione del periodo

• parte quantistica, per determinare il periodo e risolvere il problema complessivo

5.4 Parte classica

Per ridurre il problema della fattorizzazione di N = pq ad una determinazione del periodo,

scegliamo innanzitutto un numero a casuale, tale che a < N .

Calcoliamo MCD(a,N) utilizzando l’algoritmo di Euclide. Nel caso piu semplice, quando

MCD(a,N) 6= 1,

che significa che a e uno dei due fattori non triviali di N , il problema della fattorizzazione

e risolto.

Nella maggior parte dei casi (quasi sempre, lavorando con numeri grandi) invece a e

coprimo a N (cioe MCD(a,N) = 1) ed si rende quindi necessario procedere nel modo qui

analizzato.

Dati N e a coprimi, esiste un piu piccolo r > 0 tale che

ar ≡ 1 mod N, (5.1)

dove r e chiamato l’ordine di a modulo N .

Determinare l’ordine r, equivale a determinare il periodo della funzione

f(x) = ax mod N,

infatti da (5.1) otteniamo

f(x+ r) = ax+r mod N = ax mod N = f(x),

dove r indica il periodo di f , ossia il minor numero intero r per cui f(x+ r) = f(x).

43

Page 45: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

Ora, se r e dispari o ar/2 ≡ ±1 mod N si deve ricominciare da capo scegliendo un

altro a, altrimenti e possibile proseguire.

Teniamo in considerazione che per determinare il periodo di f dobbiamo scrivere x in no-

tazione binaria e l’insieme di partenza deve corrispondere ad un insieme finito di {0, 1}nelementi. Quindi la funzione non risulterebbe periodica nel caso in cui 2n non e un mul-

tiplo di r. D’altronde se 2n e sufficientemente grande, dell’ordine di O(N2) (cioe con

N2 ≤ 2n < 2N2), allora la trasformata di Fourier quantistica, la parte dell’algoritmo

quantistico che permette di estrarre la periodicita, non pone problemi.

Una volta trovato un a che non rispetti le due condizioni precedenti, abbiamo

ar ≡ 1 mod N → ar − 1 ≡ 0 mod N → (ar/2)2 − 1 ≡ 0 mod N,

da cui

(ar/2 − 1)(ar/2 + 1) ≡ 0 mod N.

Cio significa che N divide il prodotto αβ, con α = (ar/2 − 1) e β = (ar/2 + 1). Se ne α

ne β e un multiplo di N , allora N divide in parte α = α1α2 . . . αk (dove α1α2 . . . αk e la

fattorizzazione in numeri primi di α) e in parte β = β1β2 . . . βk. Esiste dunque un fattore

primo αi = p ed uno βj = q. Questi si ottengono calcolando MCD(α,N) e MCD(β,N),

quindi

p = MCD(ar/2 − 1, N) q = MCD(ar/2 + 1, N).

Questo risultato viene ottenuto svolgendo i calcoli con l’algoritmo di Euclide.

44

Page 46: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

L’algoritmo di Euclide

L’algoritmo di Euclide permette di calcolare in modo semplice e rapido il massimo

comune divisore MCD tra due numeri naturali. Siano a e b questi numeri con a > b.

La coppia di partenza e allora (a, b). La formulazione dell’algoritmo e la seguente:

Ad ogni passo, sulla base della coppia precedente, si calcola la coppia (b, r),

dove r e il resto della divisione euclidea di a per b. Si reitera poi il processo

fino a quando r = 0; l’altro numero e il MCD(a, b).

Ad esempio, prendendo a = 56 e b = 42:

Iterazione a b r Commento

1 56 42 14 56 = 42 + 14

2 42 14 0 42 = 3 · 14 + 0

3 14 0 r = 0, quindiMCD(56, 42) = 14

5.5 Parte quantistica

La parte quantistica del problema di Shor consiste in un algoritmo di ricerca della peri-

odicita della funzione f : {0, 1}n → {0, 1}m, dove l’insieme di partenza ha 2n elementi e

quello di arrivo 2m. La funzione f e periodica di periodo r (vedi figura 5.1), quindi

f(x+ r) = f(x) ∀x ∈ {0, 1}n

f(x)

x

r

Figura 5.1. Funzione periodica di periodo r definita su {0, 1}4

Il registro input a n qubit |x〉 contiene i valori della variabile x, mentre al registro di

output a m qubit |f(x)〉 sono associati i valori della funzione f per i diversi x. Poniamo

45

Page 47: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

N = 2n, e supponendo che r divida N , ossia che esista K ∈ N tale che Kr = N e r < N .

L’algoritmo di Shor e rappresentato attraverso il circuito quantistico illustrato nella figura

5.2.

|0〉 /n H⊗n

Uf

UQFTNM

|0〉 /mNM

Figura 5.2. Il ciruito quantistico dell’algoritmo di Shor.

Applicando la porta di Hadamard allo stato iniziale |0〉 |0〉 otteniamo

|ψ1〉 = (H⊗n |0〉) |0〉 =

(

1√N

N−1∑

x=0

|x〉)

|0〉 .

Ora e necessario definire Uf partendo dalla funzione iniziale. Sapendo che f(x) = ax mod N

si ottiene

Uf : |x〉 |0〉 7→ |x〉 |0 ⊕ f(x)〉 ,

dove 0 ⊕ f(x) e la somma modulo 2 di ognuno degli m qubit dello stato. Applicando Uf

allo stato |ψ1〉 si ottiene

|ψ2〉 = Uf |ψ1〉 =1√N

N−1∑

x=0

|x〉 |f(x)〉 .

Questo stato contiene tutti i valori di f e quindi anche le informazioni sulla periodicita,

tuttavia ottenere il valore di r non e immediato.

Effettuando ora una misura sui qubit del registro di output si ottiene f0, il che modifica

lo stato dei qubit del registro di input nel modo seguente

|ψ3〉 =1

A

x:f(x)=f0

|x〉

dove A e la normalizzazione dello stato. Ora, se x0 e il primo valore in {0, 1}n per cui

f(x) = f0

x = x0 + kr con k = 0, ..., K − 1

46

Page 48: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

dove K = Nr

indica il numero di periodi. Lo stato |ψ3〉 puo quindi esser scritto come

|ψ3〉 =1√k

K−1∑

k=0

|x0 + kr〉 .

Si osserva che 0 ≤ x0 ≤ r− 1 e aleatorio e dipende dal valore f0 ottenuto nella misura sul

registro output.

Per determinare r utilizziamo la quantum fourier transform , che e definita dalla

matrice unitaria UQFT agente su |x〉 come

UQFT |x〉 =1√N

N−1∑

y=0

e2πixyN |y〉 .

Questa trasformazione richiede O((log2N)2) operazioni.

Applicando UQFT agli n qubit dello stato |ψ3〉 otteniamo

|ψ4〉 = UQFT |ψ3〉 =1√K

K−1∑

k=0

UQFT |x0 + kr〉 =1√KN

K−1∑

k=0

N−1∑

y=0

e2πi(x0+kr)y

N |y〉

Cerchiamo ora di scrivere lo stato |ψ4〉 in maniera piu semplice.

Innanzitutto dividiamo gli esponenti di e

K−1∑

k=0

e2πi(x0+kr)y

N = e2πix0yN

︸ ︷︷ ︸

(a)

K−1∑

k=0

e2πikryN

︸ ︷︷ ︸

(b)

. (5.2)

Ora, la parte (a) dell’equazione (5.2) non contiene il fattore k, quindi e stata tolta dal-

la sommatoria. La parte (b), che denotiamo αK,r(y) viene trasformata, utilizzando le

proprieta delle sucessioni geometriche e Kr = N , in

K−1∑

k=0

e2πikryN =

K−1∑

k=0

(e2πi

ryN

)k=

1 −(e2πi

ryN

)K

1 − e2πiryN

=1 − e2πiy

1 − e2πiy/K. (5.3)

47

Page 49: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

Sucessioni e serie geometriche

Data una progressione geometrica u1, u2, u3, ... di ragione r vale

un = u1rn−1.

La serie, o somma della sucessione, viene scritta come

n∑

k=1

= u11 − rn

1 − r

con r 6= 1.

Formula d’Eulero

Nell’insieme dei numeri complessi C esiste la formula di Eulero

eiφ = cosϕ+ i sinϕ

che mette in relazione e con il seno e il coseno, e da cui si ottiene la formula

sinϕ =eiϕ − e−iϕ

2i.

In seguito, riscriviamo (5.3) nel modo seguente

1 − e2πiy

1 − e2πiy/K=

1 − e2πiy

1 − e2πiy/K

(

e−πiy

e−πiy

)(

e−πiyK

e−πiyK

)

=−e−iπy + eiπy

−e−iπ yK + eiπ

yK

e−iπyK

e−iπy;

infine, utilizzando la formula di Eulero, troviamo αK,r(y)

αK,r(y) = eiπy(1−1/K) sin πy

sin π yK

.

Possiamo quindi scrivere lo stato |ψ4〉 come

|ψ4〉 =1√KN

N−1∑

z=0

e2πix0zN αK,r(z) |z〉 .

48

Page 50: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

A questo punto, per determinare r e necessario effettuare una misura sui qubit del registro

input. La probabilita di osservare un valore y e data da

Prob|ψ4〉{y} = |〈y |ψ4〉 |2 =1

KN

∣∣∣e2πi

x0zN

∣∣∣

2

|αK,r(z)|2

=1

r

1

K2

sin2 πy

sin2 π yK

,

dove abbiamo calcolato

〈y |ψ4〉 =1√KN

N−1∑

xz0

e2πix0z

N αK,r(z)〈y |z〉

=1√NK

e2πix0zN αK,r(z).

Analizzando la funzione, definita sugli interi, ottenuta dal calcolo della probabilita e

ricordando che |y〉 e in relazione con y ∈ {0, 1}n (quindi y ≤ N − 1), otteniamo

Probψ4{y} =

1r

se y = jK

0 se y 6= jK.con j ≤ r − 1, j ∈ N,

e quindi i valori osservabili sono y = jNr.

Figura 5.3. Grafico della funzione ottenuta in (5.4) con r = 3 e K = 8.

Ottenuto y dalla misura e conosciuto N abbiamo

y

N=j

r. (5.4)

49

Page 51: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

Da (5.4) e possibile estrarre i valori di j e r, utilizzando il metodo classico delle frazioni

continue. Quest’ultimo ci fornisce il rapporto yN

= jr

nella forma di una frazione ir-

riducibile jkrk

, quindi MCD(jk, rk) = 1.

Il metodo delle frazioni continue

Lo scopo di questo metodo e descrivere numeri reali unicamente in termini di interi,

utilizzando espressioni della forma

[a0, ...am] ≡ a0 +1

a1 + 1a2+ 1

...+ 1am

dove a0, ..., am sono numeri interi positivi.

L’algoritmo delle frazioni continue e un metodo utilizzato per determinare la frazione

continua di un numero arbitrario reale. Si puo facilmente capire il procedimento con

un esempio: scriviamo 31/13 come una frazione continua. Il primo passo e decomporre

31/13 nella sua parte intera e quella razionale e invertire quest’ultima, ottenendo

31

13= 2.3846... = 2 +

5

13= 2 +

1135

.

Questo procedimento - decomposizione e inversione - vengono ora applicati a 13/5 =

2.6, dando31

13= 2 +

1

2 + 35

= 2 +1

2 + 153

.

ora decomponiamo e invertiamo 5/3 = 1.6666, ottenendo

31

13= 2 +

1

2 + 11+ 2

3

= 2 +1

2 + 11+ 1

23

.

La decomposizione e ora terminata, dato che 32

= 1 + 12

puo essere scritto con un 1 al

numeratore senza dover essere invertito, dando come frazione continua finale di 3113

2 +1

2 + 11+ 1

1+ 12

.

Notiamo facilmente che l’algoritmo delle frazioni continue termina dopo un numero

finito di ’decomposizioni e inversioni’ per ogni numero razionale, dato che i numeratori

(nel nostro esempio 31, 5, 3, 2, 1) decrescono strettamente.

50

Page 52: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

Ora, se j e r sono comprimi, ossia MCD(j, r) = 1, si ottiene direttamente r = rk. Calcol-

iamo quindi la probabilita per cui si ottiene questo risultato.

Dalla teoria dei numeri sappiamo che il numero di primi inferiori ad r e dato da

♯{primi ≤ r} ≈ r

ln r,

otteniamo quindi (j ≤ r − 1)

Prob{MCD(j, r) = 1} ≥ Prob{j primo} =♯{primi ≤ r}

r≈ 1

ln r≥ 1

lnN =

1

ln 2 log2N,

ricordando che r < N ⇔ ln r < lnN .

Ripetendo l’algoritmo di ricerca del priodo di r un numero di volte dell’ordine O(log2N

otteniamo, nella misura di y, un valore di j coprimo con r con una probabilita prossima a

1. Dall’espressione in frazioni continue dei valori conosciuti yN

si ottiene r. E ora spiegato

perche l’algoritmo trattato e di tipo probabilistico.

Per verificare se r e effetivamente il periodo, calcoliamo classicamente f(x) e f(x + r)

e compariamo i risultati. Osserviamo che il valore di r puo solo essere minore o uguale

al periodo, in caso contrario avremmo infatti f(x) 6= f(x + r), il che sta chiaramente in

contrasto con la definizione del periodo di una funzione.

Abbiamo cosı trovato un algoritmo quantistico capace di determinare la periodicita di una

funzione in un totale di O(n4) operazioni, suddivise nel modo seguente (ricordiamo che

N = 2n):

• O(n) operazioni per il parallelismo quantistico (incluso H⊗n),

• O(n2) operazioni per la quantum Fourier transform,

• O(n) operazioni per la ripetizione probabilistica della misura del registro input.

Classicamente per determinare il periodo di una funzione e necessario un numero di op-

erazioni dell’ordine O(2n), questo per il semplice fatto che per determinare due valori

uguali di f sono necessari O(2n) tentativi. Possiamo quindi concludere che l’algoritmo

quantistico velocizza drasticamente il processo, passando da un ordine esponenziale ad

uno polinomiale.

Esempio: fattorizzazione di 39

Procediamo ora ad illustrare un esempio concreto di come lavora l’algoritmo di Shor.

Ammettiamo di voler fattorizzare il numero 39 (quindi N = 39) e scegliamo a = 5 che e

51

Page 53: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

coprimo a N . Calcoliamo la funzione f(x) = 5x mod 39, otteniamo:

f(0) = 50 mod 39 = 1

f(1) = 51 mod 39 = 5

f(2) = 52 mod 39 = 25

f(3) = 53 mod 39 = 8

f(4) = 54 mod 39 = 1

f(5) = 55 mod 39 = 5

f(6) = 56 mod 39 = 25

f(7) = 57 mod 39 = 8

f(8) = 58 mod 39 = 1

f(9) = 59 mod 39 = 5

f(10) = 510 mod 39 = 25

...

Notiamo chiaramente che il periodo r = 4. Calcoliamo ora questo valore con l’algoritmo

di Shor. Per far cio, poiche N2 = 392 = 1521, scegliamo n = 10 di modo che 210 = 1024 =

O(N2).

Lo stato iniziale e quindi

|ψ0〉 = |0〉⊗10 |0〉 .

Dopo aver applicato la porta di Hadamard abbiamo

|ψ1〉 = H⊗10 |ψ〉 = H⊗10 |0〉⊗10 |0〉 =1

32

1023∑

x=0

|x〉 |0〉 ,

in seguito calcoliamo Uf |ψ1〉, che da

|ψ2〉 = Uf |ψ1〉 =1

32

1023∑

x=0

|x〉 |f(x)〉

=1

32

(|0〉 |1〉 + |1〉 |5〉 + |2〉 |25〉 + |3〉 |8〉 + |4〉 |1〉 + |5〉 |5〉 + |6〉 |25〉 + . . .

).

Adesso misuriamo lo stato del registro output e otteniamo con uguale probabilita uno dei

risultati 1, 5, 25, 8. In base al risultato della misurazione il registro input e percio uno

dei seguenti

misura registro output stato registro input (dopo la misurazione)

1 |Ψ1〉 = 116

(|0〉 + |4〉 + |8〉 + |12〉 + |16〉 + . . .

)

5 |Ψ5〉 = 116

(|1〉 + |5〉 + |9〉 + |13〉 + |17〉 + . . .

)

25 |Ψ25〉 = 116

(|2〉 + |6〉 + |10〉 + |14〉 + |18〉 + . . .

)

8 |Ψ8〉 = 116

(|3〉 + |7〉 + |11〉 + |15〉 + |19〉 + . . .

)

52

Page 54: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

Supponiamo di trovare il valore 1, ci ritroviamo quindi con lo stato |Ψ1〉.

Ora, non rimane che applicare la trasformata di Fourier quantistica UQFT :

UQFT |Ψ1〉 =1

16

(UQFT |0〉 + UQFT |4〉 + UQFT |8〉 + UQFT |12〉 + . . .+ UQFT |1020〉

)

=1

16

1

32

(1023∑

y=0

|y〉 +1023∑

y=0

e2πi4y

1024 |y〉 +1023∑

y=0

e2πi8y

1024 |y〉 + . . .+511∑

y=0

e2πi508y1024 |y〉

)

=1

512

1023∑

y=0

(1 + e2πi

4y1024 + e2πi

8y1024 + e2πi

12y1024 + . . .+ e2πi

1020y1024

)|y〉

=1

512

1023∑

y=0

255∑

k=0

e2πi4ky1024 |y〉 =

1

512

1023∑

y=0

255∑

k=0

e2πiky256 |y〉

=1

512

(256 |0〉 + 0 |1〉 + . . .+ 256 |256〉 + . . .+ 256 |512〉 + . . .+ 256 |768〉 + . . .

)

=1

2

(|0〉 + |256〉 + |512〉 + |768〉

).

Effettuando la stessa operazione sugli altri tre stati ottenibili dopo la misurazione di |ψ2〉,ovvero |Ψ5〉, |Ψ25〉, |Ψ8〉, il risultato sarebbe lo stesso.

Misurando poi lo stato del sistema, i risultati possibili sono (con uguale probabilita di 14)

0, 256, 512, 768. Supponiamo di ottenere 512. Lo sviluppo in frazione continua di 5121024

e

semplicemente512

1024= 0 +

1

2≡ [0, 2] =

1

2.

Abbiamo quindi trovato r = 2, ma sappiamo benissimo che invece r = 4. L’algoritmo

e infatti di tipo probabilistico e finche non otterremo come risultato della misurazione

finale 256 o 768, il periodo risultera essere sbagliato. In effetti, se utilizziamo r = 2 per

proseguire attraverso la parte classica, abbiamo 522 − 1 = 4 e 5

22 − 1 = 6, il che significa

p = MCD(4, 39) = 1

q = MCD(6, 39) = 3.

Si nota chiaramente che pq = 3 6= 39 e quindi l’esecuzione dell’algoritmo non ha avuto

esito positivo. In questo caso occorre ripetere un’altra volta l’algoritmo.

Ammettiamo che ora, dopo aver eseguito una seconda volta l’algoritmo, ci ritroviamo

53

Page 55: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

con la misurazione finale che da come risultato 768, il cui sviluppo in frazione continua e

768

1024= 0 +

1

1 + 13

≡ [0, 1, 3] =3

4.

Abbiamo r = 4. Visto che 4 non e dispari e 542 ±1 mod 39 6= 0, il criterio di applicabilita

dell’algoritmo e soddisfatto. Non ci resta che calcolare il massimo comun divisore tra

542 − 1 = 24 e 39, nonche tra 5

42 − 1 = 26 e 39. Grazie all’algoritmo di Euclide otteniamo

p = MCD(24, 39) = 3

q = MCD(26, 39) = 13.

Si puo ora facilmente notare che pq = 3 · 13 = 39. Abbiamo infine trovato, dopo due

iterazioni dell’algoritmo, lo sviluppo in fattori primi di 39.

54

Page 56: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor
Page 57: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

Capitolo 6

Aspetti sperimentali

6.1 Problemi di realizzabilita

La realizzabilita fisica di dispositivi in grado di effettuare calcolazioni quantistiche e forte-

mente condizionata da un fenomeno chiamato decoerenza quantistica, ossia l’inevitabile

interazione tra il sistema quantistico e l’ambiente circostante. Questo effetto e parago-

nabile ad un semplice fenomeno classico: una moneta lanciata su un tavolo assume nel

momento dell’impatto con la superficie uno stato definitivo, testa o croce, annullando

cosı la sovrapposizione presente durante il volo conseguenze all’impatto. Similmente, la

sovrapposizione quantistica viene annullata dall’interscambio con l’ambiente, nel quale

il sistema e necessariamente immerso. Lo stupefacente fenomeno della sovrapposizione

quantistica e del conseguente parallelismo quantistico, che compongono gran parte della

potenzialita del quantum computer, vengono cosı fortemente messi in discussione dalla de-

coerenza quantistica. D’altra parte, i molti progressi effettuati in quest’ambito inducono

a credere che in qualche modo il problema della decoerenza possa venire superato.

In questa sezione viene fornita qualche informazione riguardo le attuali tecnologie svilup-

pate nei laboratori attivi in questo campo, per sviluppare dispositivi in grado di funzionare

sui principi della fisica quantistica.

6.2 Confinamento ionico lineare (Trapped Ions)

Nel 1995 Cirac e Zoller hanno realizzato un metodo per realizzare il quantum comput-

er chiamata di confinamento ionica linera, o trapped ions. La tecnologia consiste nel-

56

Page 58: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

l’allineare un gruppo di ioni1 in un’area di confinamento ottenuta con un campo elettro-

magnetico. Ogni ione rappresenta un qubit, i cui due stati stabili (|0〉 e |1〉) sono dati

dallo stato di riposo e dallo stato d’eccitazione dello ione. I singoli ioni sono allineati

formando una sorta di registro e possono essere irradiati singolarmente da raggi laser di

diverse intensita: questo e possibile in quanto la distanza fra le particelle e molto maggiore

della lunghezza d’onda della luce laser utilizzata.

ioni

fasci laserd’eccitazione

Figura 6.1. Registro a confinamento ionico lineare (trapped ions)

Gli impulsi cambiano l’eccitazione degli ioni, cambiando quindi lo stato dei qubit, e po-

sizionandoli in uno stato di sovrapposizione oppure nello stato opposto.

Figura 6.2. Questa immagine colorizzata rap-presenta la fluorescenza di tre ioni di Berilio,illuminati con un raggio laser UV.

Gli ioni confinati nel registro hanno tutti la

stessa carica, e visto che effettuano l’uno sul-

l’altro una repulsione mutua elettrostatica,

il movimento di ogni ione e trasmesso sug-

li altri; questo puo creare movimenti collet-

tivi detti fononi2. Con le opportune ma-

nipolazioni e possibile creare correlazioni fra

le coppie di particelle e ottenere l’entangle-

ment.

Un notevole passo in avanti e stato fatto

con questo modello, in quanto permette di

creare bus quantistici delle dimensioni volute.

1Tipicamente si usavano ioni di Berillio Be+

2Il fonone e una quasiparticella che descrive un quanto di vibrazione in un reticolo cristallino rigido.

57

Page 59: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

L’ostacolo maggiore consiste tutt’ora nel fenomeno della decoerenza: il tempo impiegato

da una particella a ritornare in uno stato stabile e stato misurato in millisecondi. Un

meccanismo per superare il problema della decoerenza, forse il piu significativo, prevede

il riscaldamento dei modi dei fononi.

Attenendosi ai risultati sperimentali fin’ora ottenuti, si puo prevedere che fra circa 10 anni

sara possibile realizzare registri a confinamento lineare contenenti qualche decina di ioni.

Figura 6.3. Rappresentazione del sistema a confinamento ionico lineare.

6.3 Risonanza magnetica nucleare (NMR)

Il metodo della risonanza magnetica nucleare utilizza lo spin del nucleo atomico come

corrispondente al qubit, e i cambiamenti di stato vengono provocati da campi magnetici

esterni. Si e riuscito a realizzare con questo sistema delle porte logiche semplici agenti

su un singolo qubit, utilizzando campi prodotti con radiofrequenze, con i quali e possibile

agire sugli spin con buona precisione. Hanno invece creato difficolta nella realizzazione

le azioni piu complesse, dirette ad influenzare molti qubit irraggiandone solo uno, per la

necessita di far interagire i qubit tra di loro.

Il grosso problema in questo sistema consiste nel fatto che il segnale emesso da una singola

molecola e troppo debole per essere rilevato; e quindi necessario ricorrere a molte molecole

per ottenere un segnale utilizzabile. Questa circostanza non crea di per se alcun problema,

dato che anche grosse quantita di molecole sono facilmente ottenibili. La grossa difficolta

sta nel preparare tutte le molecole nello stesso stato iniziale. Nel 1997 alcuni ricercatori

58

Page 60: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

sono riusciti ad ottenere uno stato puro con una miscela, che consentiva di far partire

il sistema dallo stesso stato. Nonostante cio, gli studiosi sono abbastanza scettici sulla

possibilita di poter realizzare un computer quantistico basato sul sistema NMR, in quanto

il processo di creazione dello stato puro diventa meno redditizio all’aumentare dal numero

di molecole. Altri problemi segnalati riguardano la difficolta di agire su qubit singoli in

presenza di molte molecole.

Attualmente si ritiene possibile, in termini temporali accettabili, che si arrivi a realizzare

un computer NMR con non piu di 6 qubit. Sebbene un sistema del genere non permet-

ta di sfruttare al completo le potenzialita della computazione quantistica, consentirebbe

tuttavia di risolvere interessanti problemi e sembra piu a portata di mano delle altre idee

proposte.

6.4 Spin nucleare basato sulla tecnologia al silicio

Recentemente ideato, questo metodo permette di creare dispositivi per la computazione

quantistica impiegando la tecnologia dello stato solido, gia utilizzata con enorme successo

nella tecnologia di produzione elettronica. L’idea consiste nell’integrare gli spin nucleari

in un dispositivo elettronico e rilevarli con opportune tecniche di controllo. Gli spin elet-

tronici e nucleari sono accoppiati mediante l’interazione iperfine3. Avendo le condizioni

adatte, e possibile effettuare un trasferimento di polarizzazione tra due spin, il che per-

metterebbe di rilevare lo spin nucleare attraverso i suoi effetti elettronici sul campione.

Attualmente si lavora sulla proposta che prevede l’utilizzo di Silicio Si come host e fosforo31P come donor. L’informazione dei qubit verrebbe codificata negli spin nucleari degli

atomi donor, posti in dispositivi al silicio opportunamente preparati. Applicando campi

elettrici esterni sarebbe possibile effettuare operazioni logiche sugli spin e le misurazioni

verrebbero eseguite usando correnti di elettroni polarizzati di spin. La caratteristica vin-

cente di questo sistema e pero il fatto che riesca ad impedire il fenomeno decoerenza dei

qubit: infatti questi ultimi sono ben isolati dal sistema e quindi privati di ogni grado

di liberta che potrebbe provocare il fenomeno. Inoltre, a concentrazioni sufficientemente

basse e alla temperatura di 1.5 K, il tempo di rilassamento degli spin elettronici ammonta

a migliaia di secondi e il tempo di rilassamento dello spin nucleare del 31P e dell’ordine

dei 1018 s, entrambi ottimi valori per la computazione quantistica.

La possibilita di sfruttare le enormi conoscenze tecnologiche acquisiste durante la fabbri-

cazione di dispositivi elettronici allo stato solido, ha indotto i ricercatori a credere che la

3L’accoppiamento iperfine e l’interazione magnetica debole tra elettroni e nucleo.

59

Page 61: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

realizzazione di computer quantistici basati sulla tecnologia al silicio sia un’ottima sfida

da affrontare. L’intento e di riuscire a ridurre ulteriormente le dimensioni in modo da

raggiungere livelli di complessita maggiori.

6.5 Esperimenti e realizzazioni

6.5.1 Orion

Nel 2006 la ditta canadese D-Wave ha realizzato quello che loro chiamano il primo ’com-

puter quantistico commerciale’. Il prototipo, che utilizza un sistema quantistico a 16 qubit

e stato testato al Computer History Museum a Mountain View, in California [1].

Il nuovo computer chiamato Orion puo risolvere una classe di problemi molto particolare.

Durante la dimostrazione pratica (che e avvenuta a distanza, perche la D-Wave sosteneva

che Orion era troppo delicato da trasportare) ha risolto i seguenti tre problemi:

• trovare delle strutture molecolari che coincidono con quella della caffeina,

• creare la disposizione dei posti a sedere di un matrimonio,

• completare alcuni puzzle Sudoku.

Figura 6.4. Il chip del computer quantistico Orion,sviluppato dalla D-Wave.

Molti scienziati sono ancora scettici su

quanto dimostrato dalla D-Wave, infatti la

ditta stessa ha ammesso di non essere com-

pletamente sicura che Orion esegua calco-

lazioni quantistiche. La D-Wave ha costru-

ito il computer quantistico basandosi su

un’elettronica di superconduzione che e in

grado di proteggere gli stati quantistici dal-

l’ambiente esterno, in modo che questi pos-

sano esistere anche in uno stato entangled.

I due superconduttori utilizzati per costru-

ire Orion sono di alluminio e niobio4. A temperatura ambiente questi materiali sono

metalli, ma se raffreddati a temperature prossime allo zero assoluto, gli elettroni in essi

si accopiano, formando particelle chiamate coppie di Cooper. Queste particelle portano

carica elettrica nei superconduttori.

4Lo niobio (numero atomico 41) e un metallo di trasizione raro, tenero, duttile di colore grigio. Vieneprincipalmente impiegato nella produzione di lege metalliche speciali e in saldature ad elevata resistenza.

60

Page 62: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

Figura 6.5. Il nuovo computer quantistico ’Orion’, sviluppato dalla D-wave.

La D-Wave afferma che il computer quantistico non e destinato a sostituire gli attuali siste-

mi classici, bensı a potenziarli. La computazione quantistica servira a risolvere i problemi

cosidetti NP-Completi, ossia problemi che a causa dell’enorme ammontare di dati e vari-

abili non sono risolvibili da un computer classico in tempi ragionevoli. Problemi di questo

tipo esistono in molti ambiti, come le scienze naturali, biometria, logistica, matematica

finanziaria. I computer quantistici dovrebbero essere in grado di fornire risposte precise

a domande a cui oggi possono essere date risposte solo in termini molto generali.

6.5.2 Nucleo atomico usato come memoria quantistica

Nel 2008 un team internazionale di ricercatori ha scoperto un metodo per miniaturizzare

la memoria di un computer che consiste nel salvare l’informazione all’interno di un ato-

mo. La scoperta potrebbe essere un progresso fondamentale nello sviluppo del computer

quantistico [2].

Il problema affrontato e sempre quello della decoerenza: come isolare un qubit dall’am-

biente esterno per proteggere la delicata informazione quantistica, e allo stesso tempo

permetterli di interagire con il mondo esterno in modo che possa essere manipolato e

misurato?

Il gruppo, di cui fanno parte anche scienziati di Oxford, Princeton e Lawrence Berke-

ley National Laboratory, sembra aver trovato una soluzione a tale problema, concependo

un sistema ibrido che utilizza sia gli elettroni sia il nucleo di un atomo di fosforo inserito

61

Page 63: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

in un cristallo di silicio. Ognuno di essi si comporta come un piccolo magnete quantistico

capace di salvare informazioni, ma all’interno del cristallo l’elettrone e oltre un milione di

volte piu grande del nucleo, con un campo magnetico mille volte piu forte. Questo rende

l’elettrone adatto per la manipolazione e per le misurazioni, ma non ideale per salvare

l’informazione, che potrebbe corrompersi rapidamente. Entra quindi in gioco il nucleo:

quando i dati sono pronti per essere salvati vengono spostati nel nucleo, dove possono

sopravvivere per tempi molto piu lunghi.

Figura 6.6. Il nuovo sistema ibrido.

L’elettrone funge da intermediatore fra il nucleo e il mon-

do esterno, e permette elevate velocita di esecuzione dei

processi, che combinate con la memorizzazione a lungo

termine possibile all’interno del nucleo, forma il sistema

ibrido vincente. Per fare un’analogia con i computer

tradizionali, l’elettrone puo esser visto come il proces-

sore (la CPU) dove possono venir effettuate le calco-

lazioni quantistiche, mentre l’atomo e paragonabile al-

l’hard disc, dove possono venir salvati i risultati delle

misurazioni, in modo sicuro.

Fondamentalmente, l’informazione salvata nel nucleo ha

una durata di vita media di 1.75 secondi, ma essa puo essere allungata ad un tempo

qualsiasi impiegando tecniche di correzione dell’errore, gia esistenti. Il risultato ottenuto

in questo esperimento eccede notevolmente i tempi misurati in precedenza: senza questa

tecnica si riuscı a conservare dell’informazione quantistica solo per alcuni centesimi di

secondo [3].

Gli esperimenti con il sistema ibrido sono stati realizzati utilizzando silicio arricchito dal-

l’isotopo 28Si, minuziosamente preparato in grandi cristalli dai ricercatori di Berkeley, con-

servando il materiale in uno stato assolutamente puro e lontano da sostanze contaminanti.

Sebbene siano studiate numerose tecniche per costruire un computer quantistico, un

grande vantaggi di questo modello e il fatto che sia basato sulla tecnologia al silicio,

il che lo rende piu compatibile con i computer odierni.

6.5.3 Purificazione dell’entanglement

Nell’ottobre del 2006 alcuni fisici del Commerce Department’s National Institute of Stan-

dards and Technology (NIST) hanno ottenuto un risultato straordinario, riuscendo a

62

Page 64: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

creare uno stato entangled illuminando gli atomi con degli impulsi laser ultravioletti [4].

In particolare, hanno sviluppato un metodo (chiamato purificazione) per migliorare la

coppia di atomi entangled, di modo che questa possa esser meglio utilizzata per la com-

putazione quantistica.

Il lavoro svolto al NIST ha permesso per la prima volta di creare uno stato entangled

di una coppia di atomi e in seguito purificarli; in precedenza questo processo era stato

svolto unicamente su dei fotoni5. La dimostrazione effettuata al NIST e stata anche la

prima volta in cui gli scienziati sono riusciti a purificare delle particelle in modo non dis-

truttivo. Una misurazione diretta distruggerebbe il delicato stato entangled delle coppie

di atomi; il nuovo esperimento risolve questo problema creando due coppie di atomi en-

tangled e misurandone solo una.

Figura 6.7. Il processo di purificazione delNIST involve l’illuminazione di due coppie diatomi di berillio con degli impulsi laser UV.

L’entanglement e quella proprieta fisica molto

particolare che combina la condizione e il com-

portamento di due o piu particelle, come atomi o

fotoni. Sebbene l’entanglement puo crearsi solo

se le due particelle sono in prossimita, esso puo

persistere anche se queste sono allontanate l’u-

na dall’altra. La qualita dell’entaglement puo

venir degradata da molteplici fattori legati al-

l’ambiente, come dei campi magnetici fluttuanti.

Il processo e il trasporto di particelle entangled

deve quindi esser strettamente controllato nelle

applicazioni tecnologiche. Il processo di purifi-

cazione messo in pratica al NIST puo rimuovere ogni forma di distorsione o disturbo

indipendetemente dalla sorgente, semplicemente processando due o piu coppie entangled

impure, ottenendo una coppia di purita maggiore.

Il team del NIST ha utilizzato fasci laser ultravioletti per creare uno stato entangled di

due coppie di ioni di berillio in un sistema a confinamento ionico elettromagnetico. Un

processo simile viene utilizzato per intrecciare le coppie entangled, ossia intrecciare ogni

membro della prima coppia con il suo corrispondente nella seconda coppia. Sucessiva-

mente la prima coppia di ioni viene misurata e i risultati vengono utilizzati per vedere se

la seconda coppia (non misurata, quindi intatta) e in uno stato entangled maggiormente

puro. Dei test aggiuntivi vengono effettuati per verificare se la qualita dell’entanglement

5I fotoni sono le particelle della luce.

63

Page 65: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

e effettivamente migliorata.

La percentuale di successo (un successo solo parziale, dato che lo stato entangled non

e ancora sufficientemente puro per esser utilizzato in un computer quantistico) registrata

e superiore al 33%, che comparata con il 0.0001% degli esperimenti con i fotoni, risulta

notevolmente alta. Teoricamente, il processo sviluppato al NIST potrebbe esser miglio-

rato e poi ripetuto tante volte in modo da creare una serie di coppie quasi perfettamente

entangled, le quali potrebbero poi a sua volta venir utilizzate per effetuare calcolazioni

quantistiche.

Le ricerche del team del NIST hanno lo scopo di continuare ad affinare il processo di

purificazione, ad esempio con un migliore controllo dei campi magnetici e delle intensita

dei raggi laser UV.

64

Page 66: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor
Page 67: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

Appendice A

Il teletrasporto

Figura A.1. Un’illustrazione del teletrasporto.

La tecnica del teletrasporto quantistico e stata

scoperta nel 1993. Essa permette, grazie alle

proprieta degli stati entangled, di trasportare

uno stato quantistico sfruttando solo l’infor-

mazione classica. Piu precisamente permette di

ricreare, in un altro luogo, uno stato quantistico

che si trova a chilometri di distanza, perdendo

pero quello stesso stato che possedeva il primo

sistema. La sua validita e stata confermata a liv-

ello sperimentale, ottenendo un risultato impor-

tante nel 2003, quando all’universita di Ginevra

venne effettuato il teletrasporto di un qubit tra due laboratori posti a 55 metri di distanza

e utilizzando un canale di telecomunicazione di 2 chilometri.

La situazione classica per spiegare l’utilita del teletrasporto e quella in cui una persona

che chiameremo Alice deve far conoscere lo stato di un qubit ad un’altra persona che

chiameremo Bob e che si trova ad una certa distanza da Alice. Ella non puo conoscere lo

stato del qubit poiche effettuando una misurazione lo stato andrebbe perso, collassando

nel valore |0〉 o |1〉. Inoltre non le e possibile neppure farne una copia, visto il teorema del

no-cloning, e puo inviare a Bob solo informazione classica. Sembrerebbe quindi impossi-

bile trasmettere il qubit a Bob.

L’ipotesi, per il funzionamente del teletrasporto, e che sia Alice sia Bob possiedano un

66

Page 68: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

qubit di una coppia di uno stato entangled generata in precedenza.

Lo stato del qubit da teletrasportare e |φ〉 = α |0〉+ β |1〉, le cui ampiezze α e β non sono

conosciute ne da Alice ne da Bob.

Analizziamo ora il funzionamento del circuito per il teletrasporto quantistico, visibile

nella figura (A.2). Lo stato di input e:

|ψ〉 = |φ〉 |β00〉 =1√2

[

α |0〉 (|00〉 + |11〉) + β |1〉 (|00〉 + |11〉)]

Lo stato β00 ≡ (|00〉 + |11〉)/√

2 occupa il secondo qubit di Alice e il qubit di Bob. Alice

applica adesso la porta cNot ai suoi due qubit e lo stato che si ottiene e

|ψ′〉 =1√2

[

α |0〉 (|00〉 + |11〉) + β |1〉 (|10〉 + |01〉)]

Si applica quindi Hadamard al qubit |φ〉, ottenendo

|ψ′′〉 =1

2

[

α(|0〉 + |1〉)(|00〉 + |11〉) + β(|0〉 − |1〉)(|10〉 + |01〉)]

che, come si notera sviluppando, si puo scrivere in modo equivalente cosı:

|ψ′′〉 =1

2

[

|00〉 (α |0〉 + β |1〉) + |01〉 (α |1〉 + β |0〉) + |10〉 (α |0〉 − β |1〉) + |11〉 (α |1〉 − β |0〉)]

Ora Alice misura i suoi due qubits ottenendo una delle seguenti coppie di bits mn:

00 01 10 11

Causa la misurazione di Alice, anche il qubit di Bob, poiche legato alla coppia dello stato

entangled, collassera nello stato corrispondente al risultato della misurazione, cioe:

00 −→ α |0〉 + β |1〉01 −→ α |1〉 + β |0〉10 −→ α |0〉 − β |1〉11 −→ α |1〉 − β |0〉

Come possiamo notare lo stato di Bob contiene, anche dopo la misurazione, lo stato del

qubit iniziale di Alice. Alice comunica quindi i due qubit mn a Bob attraverso un canale

classico. Bob puo cosı ricostruire, partendo dallo stato ottenuto grazie alla misurazione di

Alice lo stato del qubit |Φ〉. Per far cio, gli basta applicare la parte restante del circuito,

67

Page 69: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

ovvero le porte Xn e Zm. Il numero di potenza sta ad indicare se la porta deve essere

applicata (quando e 1) o no (quando e 0). Se, per esempio, Bob ricevesse da Alice il valore

10, dovrebbe far passare il suo stato solo attraverso una porta logica X. Infatti:

X(α |0〉 − β |1〉) = α |0〉 + β |1〉 = |Φ〉

ed otterrebbe cosı lo stato iniziale di Alice.

|Φ〉 • HNM

|β00〉A ��������

NM

|β00〉B Xn Zm |Φ〉

Figura A.2. Circuito per il teletrasporto quantistico.

68

Page 70: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor
Page 71: Quantum Computer - Liceo Locarno · 5 L’algoritmo di Shor 42 ... la computazione quantistica. L’idea di svolgere un lavoro su questo argomento `e stata proposta dal professor

Bibliografia

[1] http://thefutureofthings.com/.

[2] http://www.ox.ac.uk/.

[3] http://www.redorbit.com/.

[4] http://www.nist.gov/.

[5] http://tph.tuwien.ac.at/ oemer/doc/quprog/node18.html.

[6] http://wikipedia.org/.

[7] Michel Le Bellac. Introduction a l’information quantique. Belin.

[8] Christian Ferrari e Matteo Nota. Alcuni concetti di algebra lineare. Liceo Locarno,

2008.

[9] Christian Ferrari. Fisica quantistica: un approccio moderno. Liceo Locarno, 2008.

[10] Christian Ferrari. Un po’ di teoria dei numeri. Liceo Locarno, 2008.

[11] Michael A. Nielsen and Isaac L. Chuang. Quantum Computation and Quantum

Information. Cambridge University Press.

[12] Allessandra Di Pierro. appunti delle lezioni di quantum computing. Universita di

Bologna, 2005.

70