76

Sommario - infn.it goritmo di Shor, per la fattorizzazione di un numero intero. Questo è un tipico problema di complessità computazionale non polinomiale, che quantisticamente viene

  • Upload
    votruc

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

i

Sommario

La tesi riguarda lo sviluppo del computer quantistico, sia da un punto di vista concettuale,che delle possibili realizzazioni sperimentali.Dopo una Introduzione, che mette in luce gli aspetti salienti che distinguono un compu-ter quantistico da uno classico, viene discusso il concetto di complessità computazionale.Infatti, utilizzando la capacità di un computer quantistico di operare direttamente sullafunzione d'onda di uno stato quantico, si dimostra che, almeno in linea di principio, moltialgoritmi di complessità non polinomiale possono essere ridotti a quella polinomiale.A questo scopo è necessario introdurre i concetti base di qubit e di porta logica quan-tistica. Queste operano su stati quantistici in generale entangled, che costituiscono unasituazione inevitabile per sistemi a multi-qubit, ma che può essere valorizzata come unanuova risorsa computazionale.Una volta denite le operazioni interpretabili da un punto di vista logico/informatico suun sistema quantistico, vengono descritti i criteri (di Di Vincenzo) per la loro eettivaimplementazione su un sistema quantistico concreto. Una volta raggiunto questo stadio,la costruzione di eettivi algoritmi di calcolo viene esemplicata con la descrizione dell'al-goritmo di Shor, per la fattorizzazione di un numero intero. Questo è un tipico problemadi complessità computazionale non polinomiale, che quantisticamente viene parallelizzato.Nel capitolo nale viene riportata la discussione di alcune realizzazioni concrete di com-puter quantistici, che iniziano a passare dallo stadio di ideazione e prototipazione a quellodi ingegnerizzazione.

Anno accademico 2015/2016 Tesi di Enrico Vignola

ii

A Rosangela, la persona specialeche mi ha costantemente sostenuto

durante l'intero mio percorso triennale di studi.

Anno accademico 2015/2016 Tesi di Enrico Vignola

iii

Ringraziamenti

Desidero innanzitutto ringraziare il mio relatore Luigi Martina per il costante e solidosupporto ricevuto durante questo percorso, per me importante, di stesura della tesi.Ringrazio tutti i docenti che hanno permesso la mia formazione accademica in questitre anni, arricchendomi di curiosità anche verso campi della sica che non avevo ancoraesplorato.Un grazie speciale va a Rosangela che, col suo amore e la continua vicinanza, mi ha co-stantemente supportato, sostenuto, incoraggiato e aggiungerei anche "sopportato" in ognimia singola tappa di questo mio percorso accademico.Ringrazio i miei genitori, i miei due fratelli e Giovanni per il loro continuo aetto e sup-porto in questo mio cammino.Ringrazio tutti i miei carissimi amici per avermi regalato momenti davvero indimentica-bili, ricchi di tanta felicità e di un aetto indescrivibile. Vi ringrazio di cuore per aversempre avuto stima in me e per avermi fatto risollevare, grazie alla vostra simpatia eaetto, nei diversi momenti buii che mi hanno segnato.Inne vorrei ringraziare la Fisica e la Matematica, che mi orono la possibilità di mera-vigliarmi di fronte ai loro nuovi possibili scenari che si prospettano, stuzzicando la miacuriosità quotidianamente.

Anno accademico 2015/2016 Tesi di Enrico Vignola

iv

Anno accademico 2015/2016 Tesi di Enrico Vignola

Indice

1 Introduzione alla teoria della computazione 1

1.1 I computer classici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 I computer quantistici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3 Computazione classica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3.1 La Macchina di Turing . . . . . . . . . . . . . . . . . . . . . . . . . 61.4 Computazione quantistica . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.4.1 La Macchina di Turing Quantistica . . . . . . . . . . . . . . . . . . 8

2 Algoritmi e complessità computazionale classica e quantistica 11

2.1 Classi di complessità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3 Il modello di computazione a circuito quantistico 17

3.1 Bit quantistici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.1.1 Qubit singoli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.1.2 Rappresentazione di un qubit sulla sfera di Bloch . . . . . . . . . . 18

3.2 Decoerenza quantistica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.3 Quibit multipli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.3.1 Registri quantistici . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.4 Stati entangled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.4.1 Un esempio sico di stato entangled . . . . . . . . . . . . . . . . . . 243.5 Quantum gate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.5.1 Porte logiche quantistiche a un qubit . . . . . . . . . . . . . . . . . 263.5.2 Porte logiche a più qubit . . . . . . . . . . . . . . . . . . . . . . . . 28

3.6 Implementazione della logica classica in un computer quantistico . . . . . . 293.6.1 Teorema di no-cloning . . . . . . . . . . . . . . . . . . . . . . . . . 303.6.2 Tooli gate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.6.3 Criteri di Di Vincenzo . . . . . . . . . . . . . . . . . . . . . . . . . 33

4 Algoritmo di Shor 35

4.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.2 Parte classica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.3 Parte quantistica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.3.1 Trasformata quantistica di Fourier . . . . . . . . . . . . . . . . . . 394.3.2 Sequenza di operazioni per la ricerca del periodo . . . . . . . . . . . 41

4.4 Esempio: fattorizzazione di 39 . . . . . . . . . . . . . . . . . . . . . . . . . 474.5 Protocollo RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

v

vi

5 Dalla teoria alla pratica: realizzazione sica dei computer quantistici 51

5.1 Tecnologie per realizzare un computer quantistico . . . . . . . . . . . . . . 515.1.1 Fotoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515.1.2 Ioni intrappolati . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525.1.3 Atomi in reticoli ottici . . . . . . . . . . . . . . . . . . . . . . . . . 555.1.4 Risonanza magnetica nucleare . . . . . . . . . . . . . . . . . . . . . 565.1.5 Stato solido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565.1.6 Superconduttori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5.2 Realizzazioni computer quantistici . . . . . . . . . . . . . . . . . . . . . . . 605.2.1 Google's D-Wave 2X: 1097 qubits . . . . . . . . . . . . . . . . . . . 60

Conclusioni 63

Anno accademico 2015/2016 Tesi di Enrico Vignola

Capitolo 1

Introduzione alla teoria della

computazione

1.1 I computer classici

Richard Feyman

Come tutte le grandi scoperte, il computer quantistico nasce da un'idea visionaria, laquale, come vedremo, fu avanzata dal premio Nobel Richard Feynman.Secondo la Legge di Moore [1] degli anni '60, la potenza computazionale di un calco-latore elettronico sarebbe raddoppiata una volta ogni due anni circa, ed eettivamentela tecnologia elettronica ha validato la teoria sino ai nostri giorni. Ma, il processo diminiaturizzazione previsto negli anni '60 non sarebbe potuto andare avanti all'innito.Attualmente i microprocessori più potenti hanno circuiti larghi 14 nanometri (14 miliar-desimi di metro) e si sta lavorando per farne di ancora più piccoli, ma ci sono limiti sicicon i quali si dovrà fare i conti quando si arriverà nell'ordine dei 2-3 nanometri.

1

2

La maggiore concentrazione di componenti permette di avere microprocessori più veloci,ma al tempo stesso tendono a riscaldarsi molto; a 2 nanometri i componenti sarebberolarghi quanto una decina di atomi e diventerebbero molto instabili, quindi poco adabiliper gestire i calcoli. Anche se si risolvesse questo problema, resterebbe quello del caloreprodotto, dicile da dissipare in una architettura così densa.I limiti della Legge di Moore consistono quindi nel raggiungimento dei limiti sici impostidalla riduzione delle dimensioni dei transistor (quindi della scala di integrazione) al disotto dei quali, nei circuiti elettronici, si genererebbero eetti "parassiti" indesiderati dinatura quantistica. Tali limiti sarebbero, peraltro, già stati raggiunti con la generazionedei processori "Pentium", al di sopra del quale l'unico modo possibile e praticabile peraumentare le prestazioni di calcolo è rappresentato dalla tecnologia "multicore", ovverodall'accoppiamento in parallelo di più processori.L'introduzione di un nuovo paradigma scientico, ossia la meccanica quantistica, permet-terà di sfuggire alla limitatezza degli attuali calcolatori.

Evoluzione del computer classico

Il computer a relais

Il computer con tubo a vuoto

Anno accademico 2015/2016 Tesi di Enrico Vignola

3

La scoperta cruciale: il transistor

Dal transistor al circuito integrato

La legge di Gordon Moore

Anno accademico 2015/2016 Tesi di Enrico Vignola

4

1.2 I computer quantistici

Il computer classico si basa sulla logica classica, dove le unità fondamentali dell'informa-zione, chiamati "bit", sono noti con certezza: si sa in ogni momento se un certo bit valga"0", oppure "1" e in quale locazione di memoria esso sia memorizzato.Nel computer quantistico, al posto dei "bit", avremo dei "qubit", contrazione di quantumbit, termine coniato da Benjamin Schumacher per indicare il bit quantistico, ovvero l'u-nità di informazione quantistica.Questi qubit sono rappresentati dagli stati discreti di particelle elementari, come elettroni,fotoni, ecc o assimilati. Si prenda, ad esempio, l'elettrone: a seconda che lo spin sia giùoppure su, rispetto a una direzione pressata, il qubit può assumere due possibili valori.Ma se nel mondo classico una trottola che gira su sè stessa o è spin su oppure spin giù,nel mondo quantistico lo spin può essere in uno stato di sovrapposizione, ossia in unaqualsivoglia combinazione dei due stati. Si sarebbe così tentati di concludere che un soloqubit, almeno in linea di principio, possa tranquillamente contenere una quantità d'infor-mazione ingente. Ma, in termini pratici non è così, perché interviene un altro principiodella meccanica quantistica: quando si eettua un'osservazione (misura) su un sistemaquantistico, che è in sovrapposizione di stati, questo "collassa" su un solo preciso stato.Va tenuto presente, infatti, che l'esito della misurazione di un'osservabile sullo stato diun qubit può essere fatto corrispondere a |0〉 oppure |1〉. Quindi, dalla misurazione di unqubit, è possibile ottenere la stessa quantità di informazione rappresentabile con un bitclassico.Ma se dalla misurazione di un qubit è possibile ottenere la stessa quantità di informazionerappresentabile con un bit classico, perché si aerma che un computer quantistico è enor-memente più veloce e potente di un computer classico? La risposta si arguisce iniziandoa confrontare la dierenza tra i registri di bit classici e quelli di qubit quantistici.Anticipando considerazioni che saranno meglio espresse nel Capitolo 3, si inizi col consi-derare un registro classico composto da 3 bit. Un registro a 3-bit classico può contenereesattamente "uno" degli 8 diversi numeri possibili: in altre parole esso può trovarsi sol-tanto in una delle otto possibili congurazioni 000, 001, 010, 011, 100, 101, 110, 111. Unregistro quantistico composto da 3-qubit è in grado di contenere "tutti" gli 8 diversi nu-meri possibili contemporaneamente in una sovrapposizione quantistica.Il fatto che 8 numeri dierenti possano essere sicamente presenti in contemporanea nellostesso registro è una diretta conseguenza delle proprietà dei qubit e ha delle grandi im-plicazioni dal punto di vista della Teoria dell'Informazione.Se fossero aggiunti più qubit al registro, la sua capacità di memorizzare informazioni cre-scerebbe in maniera esponenziale: 4 qubit possono immagazzinare no a 16 numeri allostesso tempo, e in generale N qubit sono in grado di manipolare 2N numeri contempora-neamente.Un registro classico di 265 bit conterrebbe ad un dato istante "uno solo" dei possibili 2265

valori scrivibili in esso. Un registro di 265-qubit, composto essenzialmente di soli 265 ato-mi, sarebbe capace di memorizzare "tutti" i possibili valori! Per tentare di capire quant'ègrande 2265 ≈ 6 × 1079 è suciente sapere che il numero stimato degli atomi dell'interoUniverso è 4× 1079!Il vero vantaggio del Quantum Computing inizia a manifestarsi perchè un registro con-tiene una sovrapposizione di molti numeri dierenti. Infatti, un calcolatore quantisticoè in grado di eettuare operazioni matematiche su tutti loro contemporaneamente, allo

Anno accademico 2015/2016 Tesi di Enrico Vignola

5

stesso costo in termini computazionali dell'operazione eseguita su uno solo dei numeri.Il risultato sarà a sua volta una sovrapposizione di stati con coecienti, il cui moduloquadro è la probabilità del valore numerico ottenibile in fase di misura nale. In altreparole: è possibile eseguire un massiccio calcolo parallelo ad un costo computazionale irri-sorio rispetto a quello richiesto dai computer classici, che avrebbero bisogno per compierela stessa operazione di ripetere il calcolo 2N volte o di poter contare su 2N processoriparalleli.Si evince che il fenomeno quantistico della sovrapposizione degli stati comporta l'altissi-mo grado di parallelizzazione e la macroscopica dierenza di potenzialità tra computerclassico e computer quantistico.Per rendersi conto della potenza di un computer quantistico si può fare l'esempio deltempo necessario per fattorizzare un numero.Attualmente, per fattorizzare un numero di 300 cifre con un computer "classico" occorre-rebbero alcune decine di migliaia di anni, mentre con uno quantistico sarebbero sucientipochi secondi. Ancora più estremo diventa il calcolo della fattorizzazione quando il nu-mero ha, per esempio, 500 cifre: un computer classico impiegherebbe miliardi di anni,mentre quello quantistico circa 2 minuti. Da questo esempio si evincono le potenzialitàapplicative del Quantum Computing:

crittograa;

intelligenza articiale;

scienza dei materiali;

scienze della vita.

Sistemi di sicurezza in pericolocon l'avvento dei computer quantistici

Anno accademico 2015/2016 Tesi di Enrico Vignola

6

1.3 Computazione classica

1.3.1 La Macchina di Turing

La tesi di Church-Turing

Sebbene le prime testimonianze storiche di algoritmi di calcolo siano molto antiche (già ibabilonesi utilizzavano algoritmi di calcolo per l'abaco) per avere una denizione formaledi algoritmo si è dovuto attendere sino agli anni '30 nei quali, indipendentemente, AlonzoChurch e Alan Turing si impegnarono nella risoluzione di un problema posto da DavidHilbert qualche anno prima: il problema si interrogava sull'esistenza di algoritmi capacidi risolvere ogni problema della matematica. Fu Hilbert così a introdurre il concetto diproblema decisionale.Uno scoglio per i due scienziati fu quello di formulare in termini matematicamente rigorosiil concetto intuitivo di algoritmo. Per dimostrare il problema, posto da Hilbert, Churche Turing denirono una classe di macchine che erano in grado di processare e computareun determinato tipo di funzioni, aermando che "le classi di funzioni computabili da unamacchina di Turing corrispondono esattamente a quei processi che riteniamo possano es-sere svolti in Natura seguendo un algoritmo".Quella di ChurchTuring è una congettura, in quanto non si può escludere a priori la pos-sibilità che venga trovato, prima o poi, un qualche processo che deniremmo algoritmico,ma che non possa essere eseguito da una macchina di Turing. Tuttavia ad oggi non si haalcuna evidenza contraria alla tesi.La nozione di macchina di Turing ha segnato la nascita dell'Informatica moderna. Turingideò una macchina si tratta di una costruzione di pensiero, non soggetta ai vincoliimposti da una realizzazione sica pratica che ancor oggi appare incarnare ciò cheintendiamo come "algoritmo".Una macchina di Turing é composta essenzialmente di quattro componenti: un program-ma, un controllo nito di stati (che agisce come un semplice processore gestendo le varieoperazioni da eseguire), un nastro (che svolge il ruolo di memoria della macchina), unatestina di lettura/scrittura (che punta alla posizione sul nastro da leggere o scrivere). Lamacchina di Turing é un modello piuttosto idealizzato di un semplice computer che non halimiti di dimensioni e trova la sua realizzazione nell'approccio più pragmatico e realisticodel modello a circuiti (per circuito si intende un insieme di li e gates che trasportanoinformazioni ed eseguono semplici calcoli).

Anno accademico 2015/2016 Tesi di Enrico Vignola

7

La teoria classica della computazione, quindi, si basa sul modello astratto della Mac-china di Turing Universale, che funziona secondo un insieme di regole e di principi enun-ciati nel 1936 da Alan Turing [2]. Essi furono poi elaborati successivamente da John vonNeumann negli anni '40. Questi principi sono rimasti essenzialmente immutati da allora,nonostante gli enormi progressi tecnologici che permettono oggi di produrre dispositividi gran lunga più potenti rispetto a quelli che si potevano realizzare nella prima metàdel ventesimo secolo. La tacita assunzione alla base di questi principi è che una mac-china di Turing idealizza un dispositivo meccanico di computazione (con una memoriapotenzialmente innita), che obbedisce alle leggi della sica classica.

1.4 Computazione quantistica

Il computer quantistico non è semplicemente il prossimo passo nel processo evolutivo deicomputer, ma rappresenta un paradigma di computazione non classico, il cui studio hadato origine al nuovo settore della ricerca in Informatica e Fisica Teorica, che va sotto ilnome di "Computazione Quantistica".Ad iniziare questa linea di ricerca fu Richard Feynman, che per primo si rese conto diun problema fondamentale dei computer classici: non sono in grado di simulare la realtàquantistica. Nel suo famoso articolo "Simulating Physics with Computers" [3], Feynmanpuntualizzò che i sistemi sici quantistici esibiscono un comportamento probabilistico chenon corrisponde a quello implementabile sui computer classici. Pertanto concluse che solocon un computer quantistico sarebbe stata possibile una simulazione eciente.Capire il funzionamento di un computer classico è relativamente semplice: esso è un siste-ma sico che obbedisce alle leggi della sica classica, cioè le leggi che regolano la nostraesistenza nell'universo macroscopico in cui viviamo e che ci sono familiari. Le leggi cheinvece governano un computer quantistico sono eminentemente di natura probabilistica,il cui calcolo è ben denito, ma ancora soggetto ad un acceso dibattito relativo alla suainterpretazione. Secondo una particolare interpretazione della teoria quantistica, le leggidella sica classica rappresentano solo un'approssimazione della realtà sica, nella qua-le siamo immersi e che va al di là dell'universo contingente di cui abbiamo esperienzadiretta. Tale interpretazione fu proposta nel 1957 dal sico Hugh Everett dell'universitàdi Princeton, ed è oggi nota col nome di "Interpretazione a molti mondi". Essa spiega ifenomeni quantistici osservati sperimentalmente sulla base dell'esistenza di un'innità diuniversi che coesistono mantenendo ciascuno la propria individualità. La sovrapposizione,dunque, altro non è che la visione completa di un oggetto in tutti i suoi possibili statiin tutti gli universi che compongono la realtà sica o "multiverso", un termine coniatoda David Deutsch, uno dei promotori della computazione quantistica e grande sostenitoredell'interpretazione di Everett.Nel suo libro "The Fabric of Reality" [4], Deutsch spiega tutte le implicazioni di una talevisione del mondo e come la teoria classica della computazione, che possiamo identica-re con la teoria della Macchina di Turing, si possa considerare un'approssimazione dellateoria quantistica della computazione, proprio come la sica classica è un'approssimazio-ne della sica quantistica. L'approssimazione classica della teoria della computazione ècomunque suciente a descrivere quello che i computer oggi disponibili sono in grado difare. Quello che essi non sono in grado di fare dipende dal fatto che, nel denire il loro fun-zionamento e procedure di calcolo, si trascura la possibile interazione con gli altri universi.

Anno accademico 2015/2016 Tesi di Enrico Vignola

8

Quest'ultima si rivela negli esperimenti sici come interferenza quantistica e dà luogo acomportamenti osservabili ben lontani dalla nostra comune esperienza. Analogamente, uncomputer quantistico potrebbe sfruttare l'interazione tra le diverse computazioni paral-lele che avvengono nel multiverso, per eettuare operazioni che nessun computer classicosarebbe in grado di svolgere.

1.4.1 La Macchina di Turing Quantistica

La computazione quantistica nasce come un paradigma alternativo basato sui principidella Meccanica Quantistica [5]. Questi sono gli unici in grado di giusticare i fenomenisici che avvengono a livello microscopico, come per esempio all'interno di un atomo.L'idea di realizzare un modello di computazione come un sistema quantistico isolato co-minciò ad aacciarsi agli inizi degli anni Ottanta, quando P. Benio, partendo da conside-razioni precedentemente elaborate da C. Bennet, denì la Macchina di Turing reversibile:una computazione può sempre essere eseguita in modo da ritornare allo stato iniziale ri-percorrendo all'indietro i vari passi di computazione.Successivamente R. Feynman dimostrò che nessuna Macchina di Turing classica potevasimulare certi fenomeni sici senza incorrere in un rallentamento esponenziale delle sueprestazioni. Al contario, un "simulatore quantistico universale" avrebbe potuto eettuarela simulazione in maniera più eciente.Nel 1985 D. Deutsch formalizzò queste idee nella sua Macchina di Turing QuantisticaUniversale [6], che rappresenta in teoria della calcolabità quantistica esattamente l'analo-go della Macchina di Turing Universale. Dovendo questa macchina seguire le leggi dellaMeccanica Quantistica si modellerà conformemente alle regole di composizione e calcolodelle probabilità e quindi prevedere lo sviluppo di un algoritmo di natura probabilistica.Un algoritmo probabilistico usa la casualità (tipicamente il lancio di una moneta) perrappresentare l'incertezza di proseguire una computazione lungo una direzione o un'altratra le tante possibili. Negli anni '70 è stato introdotto, ad opera di Solovay e Strassen, unalgoritmo classico randomizzato [7] per determinare se un numero intero sia primo o no.L'algoritmo, che usa un generatore di numeri casuali, dà una risposta corretta solo conuna certa probabilità, l'incertezza della risposta può essere diminuita reiterando il testun certo numero di volte. Questo fu il primo algoritmo eciente per risolvere il problemadella primalità, per il quale, in quegli anni, non si conoscevano ancora soluzioni determi-nistiche.L'elemento che rende la computazione quantistica nello stesso tempo più generale (essacomprende la computazione classica probabilistica come una particolare istanza) e di-stinta (essa consente nuovi modi di calcolo che non hanno alcuna controparte classica)deriva dalla necessità di usare combinazioni lineari di stati con coecienti complessi. Talinumeri deniscono ampiezze di probabilità, dalle quali si può ottenere la probabilità insenso classico di un certo evento (o cammino di esecuzione), calcolandone il quadrato delmodulo. Inoltre, l'ampiezza di probabilità di un evento, che si può vericare in due o piùmodi distinguibili, è la somma delle ampiezze di probabilità di ciascun modo consideratoseparatamente. La conseguenza di questa sostituzione è che i diversi percorsi di una com-putazione possono ora interferire costruttivamente o distruttivamente gli uni con gli altri.Possiamo dunque aspettarci che la nozione di probabilità quantistica abbia grande in-uenza sul modo di costruire e sulle possibilità computazionali degli algoritmi quantisti-

Anno accademico 2015/2016 Tesi di Enrico Vignola

9

ci. Proprio per il dierente calcolo di probabilità, questi algoritmi si possono descriverecome algoritmi randomizzati con un generatore quantistico di probabilità, al posto delgeneratore di numeri "pseudo-casuali" usato in quelli classici.

Computazione classica, probabilistica e quantistica

Naturalmente gli eetti dell'introduzione del nuovo modello di calcolo si sono fat-ti sentire anche nel campo della complessità computazionale, distinguendo tra algoritmitrattabili (ecienti) che richiedono un tempo polinomiale, o inferiore, e algoritmi intrat-tabili (inecienti) che richiedono un tempo esponenziale, o superiore.Nel 1994 P. Shor dimostrò che il problema della fattorizzazione dei numeri primi (classica-mente considerato intrattabile) si può risolvere ecientemente (cioè in tempo polinomiale)con un algoritmo quantistico.Un aspetto rilevante riguarderà la crittograa classica, che è basata sugli attuali limitidella computazione. Essa non riuscirà più a fornire un'adeguata sicurezza contro gli attac-chi crittoanalitici quantistici. L'introduzione di questi nuovi calcolatori non rappresenteràsoltanto, quindi, un semplice aumento di velocità, ma un grosso stravolgimento dell'at-tuale modo di scrivere e concepire algoritmi.Per riassumere la computazione quantistica si basa sui tre fenomeni fondamentali dei si-stemi quantistici: il principio di sovrapposizione degli stati, il principio di misurazione eil fenomeno dell'entanglement.

Anno accademico 2015/2016 Tesi di Enrico Vignola

10

Anno accademico 2015/2016 Tesi di Enrico Vignola

Capitolo 2

Algoritmi e complessità computazionale

classica e quantistica

Da sinistra a destra: David Deutsch, Lov Grover, Peter Shor

La sda tra computer quantistici e computer classici si svolge sul piano della com-plessità computazionale, cioè della teoria che si occupa di stabilire le risorse (tipicamentetempo o spazio) necessarie per risolvere un certo problema mediante un dato algoritmo.Molti problemi che si presentano nella vita reale possono essere formulati in modo astrattocome problemi di ricerca operativa: lo scopo consiste nel trovare il metodo o l'algoritmomigliore per esplorare l'intero spazio delle possibili soluzioni nella maniera più eciente.Risolvere un problema di ricerca in modo eciente è un compito non banale se si tieneconto del fatto che tipicamente, per un input espresso su n bit, lo spazio di ricerca contieneun numero di possibili soluzioni dell'ordine di 2n; di conseguenza, un semplice algoritmoche fa la ricerca esaustiva in questo spazio avrà necessariamente una complessità limitatasuperiormente da una funzione esponenziale in n. Questo signica, per esempio, che sele nostre istanze si potessero codicare con n = 64 bit, la ricerca esaustiva di tutte lepossibili soluzioni potrebbe richiedere no a 1, 8 · 1019 test!Classicamente, la possibilità di progettare algoritmi ecienti dipende da quanto il pro-blema si presti ad una strutturazione conveniente dello spazio delle possibili soluzioni. Adesempio, se queste ultime si possono disporre ai nodi di un albero binario, secondo uncriterio discriminante tra soluzioni e non, allora la ricerca procederà velocemente potendo

11

12

scartare ad ogni passo una metà dei candidati superstiti. In molti casi, tuttavia, l'unicocriterio di ricerca risulta quello di controllare i candidati uno per uno, con conseguentenecessità di esplorare, nel peggiore dei casi, l'intero spazio di ricerca.Per misurare l'ecienza di un algoritmo si guarda alla crescita asintotica del tempo ne-cessario a ottenere il risultato (ad es. numero di passi dell'algoritmo) in funzione delladimensione dell'input (ad es. numero di variabili utilizzate, numero di bit necessari a co-dicare ogni istanza del problema, ecc.). La teoria della complessità identica gli algoritmiecienti con quelli il cui tempo di calcolo cresce come un polinomio in n e, in corrispon-denza, si dirà di ordine O(n), O(n2), O(n3), ecc.Per condurre una trattazione da un punto di vista formale [8], tutti i problemi decisionalivengono deniti facendo uso di un insieme di simboli

∑, chiamato alfabeto; l'insieme di

tutte le possibili stringhe di simboli appartenenti all'alfabeto si indica con∑∗. Si denisce

linguaggio L un sottoinsieme di∑∗. Data una stringa di simboli, il problema di vericare

se la stringa appartenga o meno a L è un problema decisionale. Facciamo un esempiopratico: se utilizziamo come alfabeto le due cifre binarie 0 e 1,

∑= 0, 1, allora

∑∗ rap-presenta l'insieme di tutte le stringhe binarie, il quale può essere messo in corrispondenzabiunivoca con N. Se deniamo L come l'insieme dei numeri binari che rappresentano deinumeri primi allora il problema di determinare se una stringa binaria appartenga a Loppure no equivale allo stabilire se il numero ad essa corrispondente è primo o meno.I problemi decisionali possono essere facilmente interpretati come problemi relativi ad unlinguaggio. Consideriamo una macchina di Turing e supponiamo di inserire in input ildato x : la macchina per mezzo del suo algoritmo processerà le informazioni e restituiràQy se x ∈ L, mentre Qn se x /∈ L. Diremo che la macchina ha accettato o riutato x aseconda di quale dei due eventi si sarà vericato. Può capitare, a volte, che un proble-ma idealmente risolto da una macchina di Turing, non abbia un buon algoritmo e risultiquindi irrisolvibile in pratica. Questo non dipende dal fatto che non siamo in grado ditrovare un algoritmo, ma piuttosto dal fatto che tutti gli algoritmi conosciuti per quelproblema impiegherebbero una tale quantità di risorse di tempo e/o spazio da rendere glialgoritmi stessi inutili. Risulta utile, a questo punto, classicare la bontà di un algoritmoin base alle risorse di cui necessita per essere eseguito. Introduciamo allora il concetto dicomplessità computazionale che ci permettere di distinguere i problemi che possono essererisolti usando una quantità di risorse limitata da un polinomio di grado n, da quelli chehanno bisogno di una quantità di risorse esponenziale, intendendo una qualsiasi funzioneche cresce più velocemente di un polinomio, come ad esempio nlogn, anche se non ha unandamento prettamente esponenziale.Un problema è considerato trattabile o eciente se esiste un algoritmo per risolverlo cheutilizza risorse polinomiali, mentre viene denito intrattabile o ineciente se il miglioralgoritmo possibile richiede risorse esponenziali.Gli algoritmi polinomiali si sono dimostrati sin dall'inizio essere più veloci di quelli espo-nenziali. Una spiegazione esauriente é data considerando una Macchina probabilistica diTuring, intendendo una macchina non-deterministica che decide quale operazione eseguirebasandosi sul risultato di eventi casuali (come il lancio di una moneta) che hanno unapropria distribuzione di probabilità. Come conseguenza, una macchina di Turing probabi-listica (diversamente dalla deterministica) può avere risultati stocastici e soggetti a errore.Ad una data entrata e un dato comando di istruzione, la macchina può avere tempi diesecuzione diversi, o può non arrestarsi aatto. Inoltre, essa può accettare un input inun'esecuzione e riutare lo stesso input in un'altra esecuzione.

Anno accademico 2015/2016 Tesi di Enrico Vignola

13

I ricercatori hanno dimostrato coerentemente che se è possibile computare una funzioneche usa k funzioni elementari su una macchina di Turing, allora è possibile processare lastessa funzione su una macchina probabilistica di Turing usando al massimo p(k) funzioni,dove p(·) è un qualunque polinomio. Questa è conosciuta come la così detta tesi forte diChurch-Turing:

Qualsiasi modello di computazione può essere simulato da una macchina probabilistica diTuring con al massimo un incremento polinomiale nel numero di operazioni elementari

richieste.

La tesi forte di Church-Turing è stata di grande rilevanza per la teoria della complessitàcomputazionale e ci suggerisce che potremmo limitare la nostra attenzione sulla com-putazione a un modello probabilistico poiché, se un problema non ha una risoluzionepolinomiale su una macchina probabilistica di Turing, allora non avrà una risoluzione ef-ciente su nessun dispositivo. Possiamo allora capire che l'intera teoria della complessitàcomputazionale assume la sua forma più elegante e generale se introduciamo la nozione diecienza: un problema ecientemente risolvibile è un problema risolvibile con un impiegopolinomiale di risorse da una macchina di Turing.

2.1 Classi di complessità

L'obiettivo della teoria della complessità è quello di classicare i problemi computazionaliin base alla quantità di risorse tipicamente il tempo o il numero di passi richieste perrisolverli su un computer. Consideriamo, ad esempio, i problemi decisionali che si possonoclassicare in base al tempo impiegato da una macchina di Turing per risolverli: un pro-blema decisionale è TIME(f(n)) se è possibile risolverlo con una macchina di Turing in untempo O(f(n)), dove n è la grandezza dell'input. I problemi TIME(nk) formano la classeP (Polynomial-time) dei problemi risolubili in un tempo polinomiale. Dimostrare che unproblema non appartiene a P è spesso molto dicile. Come nel caso della fattorizzazione,accade che, sebbene non si conosca ad oggi alcun algoritmo capace di risolvere il problemain un tempo polinomiale, non si dispone di una dimostrazione della sua inesistenza.Un semplice e interessante esempio di problema decisionale che è creduto non appartenerea P è il problema della fattorizzazione in numeri primi:

Dato un intero N e un intero M con 1 < M < N ,N ha un divisore d tale che 1 < d < M ?

Un'interessante proprietà di questo problema è che se qualcuno aerma che la risposta siapositiva, si può facilmente dimostrare l'esistenza di d svolgendo una lunga divisione e puòessere vericata da terzi. Il numero d sarà quindi un testimone che N ha un divisore piùpiccolo di M. Questa semplice idea di un "testimone di controllo" che verica il risultato,ci aiuta a denire la classe di complessità NP (Non-deterministic Polynomial-time).Appartengono a NP quei problemi decisionali che soddisfano (indichiamo con x un genericoelemento di

∑∗):1. Se x ∈ L allora esiste una stringa testimone w tale che una macchina di Turing

restituisca "si" in un tempo polinomiale prendendo come input x e w.

Anno accademico 2015/2016 Tesi di Enrico Vignola

14

2. Se x /∈ L allora per ogni stringa w che si proponga come testimone, la stessamacchina restituisce "no" in un tempo polinomiale prendendo come input x e w.

Si denisce perciò la classe coNP che contiene i complementi dei problemi decisionali diNP: il complemento di un problema decisionale su un linguaggio L si denisce tramite unlinguaggio L

′=∑∗−L, complemento in

∑∗ di L. Ovviamente le classi coNP e NP sonocomplementari, ma non è ancora chiara la relazione tra P e NP. I problemi della classeP sono anche in NP e coNP, in quanto per essi esiste una macchina di Turing in gradodi determinare l'appartenenza di una stringa al linguaggio in un tempo polinomiale conun testimone w vuoto. Determinare se la relazione P ⊆ NP valga in senso stretto (il cheimplicherebbe anche NP=coNP), ossia capire se ci siano problemi in NP che non sianorisolvibili in P, è uno dei problemi aperti più famosi dell'informatica.La classe di complessità che rappresenta i problemi (ritenuti no ad oggi) classicamenteintrattabili è quindi la classe NP. Informalmente si possono vedere i problemi di questaclasse come problemi decisionali per i quali ipotetiche soluzioni possono essere vericatein tempo polinomiale, pur essendo il calcolo di tali soluzioni presumibilmente "dicile".Il problema della fattorizzazione è un ben noto rappresentante di questa classe: mentrecalcolare i fattori di un numero intero positivo n richiede un tempo che cresce esponenzial-mente in n, la verica che due numeri x e y siano fattori di n si può fare ecientemente(basta moltiplicare x e y). Altri esponenti ben noti della questa classe NP sono il proble-ma del commesso viaggiatore (TSP), il problema della soddisfacibilità booleana (SAT) eil problema dello zaino (Knapsac problem).Di altrettanta importanza nella computazione è la quantità della risorsa spazio occupatada una macchina per processare delle informazioni. Deniamo la classe PSPACE(f(n)) co-me l'insieme dei problemi decisionali risolvibili da una macchina di Turing che impiega unnumero polinomiale O(f(n)) di bits, senza alcuna limitazione di tempo nello svolgimento.Ovviamente P è inclusa in PSPACE, poiché un'informazione processata da una macchinadi Turing in un tempo polinomiale può attraversare solo uno numero polinomiale di bits.Ma è anche vero che NP é un sottoinsieme di PSPACE. Purtroppo attualmente non éancora noto se PSPACE contiene anche problemi che non sono in P!Dopo l'avvento degli algoritmi randomizzati, è stata introdotta un'altra classe computa-zionale che comprende tutti i problemi per i quali esistono algoritmi probabilistici che lirisolvono in tempo polinomiale e con probabilità di errore piccola. Questa classe è notacome BPP (Bounded Error Probabilistic Polynomial-time), e ha sostituito P come classerappresentativa dei problemi eettivamente trattabili su un computer classico.

Anno accademico 2015/2016 Tesi di Enrico Vignola

15

Formalmente, un linguaggio L ⊆∑∗ è nella classe BPP se esiste una Macchina di

Turing probabilistica che dato un input x ∈∑∗ in tempo polinomiale nella lunghezza

dell'input lo accetta con probabilità almeno 2/3 quando x appartiene a L e lo riuta conprobabilità almeno 2/3 quando x non appartiene a L.La classe BPP comprende quindi tutti i problemi trattabili, cioè tutti quei problemi chepossono essere risolti ecientemente. Le relazioni tra queste classi di complessità classichesono rappresentate nel diagramma A.La computazione quantistica e l'introduzione di un algoritmo quantistico che risolve inmodo eciente un problema classicamente NP ha modicato il classico scenario dellacomputazione, rendendo necessaria l'introduzione di una nuova classe di complessità, cioèla classe BQP (Bounded Error Quantum Polynomial-time). La classe BQP è la classedei problemi che possono essere risolti in tempo polinomiale su una Macchina di Turingquantistica ed è quindi il corrispondente quantistico della classe di complessità classicaBPP.

Formalmente, un linguaggio L ⊆∑∗ è nella classe BQP se esiste una Macchina di Turing

quantistica che dato un input x ∈∑∗, in tempo polinomiale nella lunghezza dell'input,

lo accetta con probabilità almeno 2/3 quando x appartiene a L e lo riuta con probabilitàalmeno 2/3 quando x non appartiene a L. Questa denizione si può equivalentementeriformulare in termini di circuiti quantistici: dal fatto che il circuito (quantistico) di Tooliè universale per le computazioni classiche reversibili, segue in modo abbastanza immediatoil risultato che

P ⊆ BQP. (2.1.1)

Inoltre, poichè altrettanto facilmente si dimostra che una Macchina di Turing probabili-stica si può simulare con una macchina di Turing quantistica, si ottiene che

P ⊆ BPP ⊆ BQP. (2.1.2)

Se risulta abbastanza chiaro che BPP ⊆ BQP , uno dei risultati piú importanti dellacomplessitá computazionale é stato quello di dimostrare che

BQP ⊆ PSPACE, (2.1.3)

la cui dimostrazione rigorosa è a opera di Bernstein e Vazirani [9].Le relazioni (2.1.1),(2.1.2),(2.1.3) sono molto importanti in quanto ci permettono discrivere la seguente catena di inclusioni:

BPP ⊆ BQP ⊆ PSPACE. (2.1.4)

Anno accademico 2015/2016 Tesi di Enrico Vignola

16

Aermare, quindi, che un computer quantistico sia più eciente di uno classico, equivale adimostrare che BQP 6= BPP . Questa disuguaglianza implica però che BPP 6= PSPACEe no ad ora si é dimostrato alquanto dicile riuscire a fornire una dimostrazione di talerelazione. La collocazione della nuova classe BQP all'interno dello scenario classico puòessere approssimativamente ragurata come nel diagramma B, anche se la relazione traBQP e NP non è attualmente nota.

Sfruttando il parallelismo quantistico diventano quindi possibili algoritmi ecienti perproblemi che, con algoritmi classici, non si possono risolvere in tempi polinomialmentecrescenti. I più importanti algoritmi sono:

Algoritmo di Shor [10]: fattorizzare un numero intero di n bit su un computerquantistico richiede un numero di operazioni dell'ordine di O(n2lognloglogn), mentreil migliore algoritmo classico che si conosce richiede tempo esponenziale.

Algoritmo di Grover [11]: nel caso generale di un problema di ricerca non struttu-rato, il migliore algoritmo classico che si possa applicare è quello che controlla lacondizione P(x) del problema di ricerca su ciascuno degli elementi x scelti casual-mente nell'insieme delle possibili soluzioni. Se quest'ultimo ha dimensione N, alloral'algoritmo richiede O(N) valutazioni di P(x). Su un computer quantistico, grazieal metodo di Grover, questi problemi si posssono risolvere con una probabilità di

errore limitata, con O(√

N)valutazioni di P(x). L'algortimo di Grover è stato di-

mostrato ottimale per problemi di ricerca completamente non strutturati e una dellesue applicazioni più importanti e utili è, per esempio, la ricerca in un database contempo di ricerca che cresce come

√N anziché come N ;

Algoritmo di Deutsch-Josza [8]: supponiamo di avere una funzione booleana f ad nbit e di sapere che f può essere o bilanciata, ovvero f(x) = 1 per 2n−1 input (la metàdegli input) e f(x) = 0 per i rimanenti, oppure costante. Si vuole determinare a qualedelle due tipologie appartenga f valutandola il numero minimo di volte possibile.Classicamente il numero minimo di valutazioni è uguale alla metà del numero degliinput più uno: 2n−1+1. Mediante il circuito quantistico si riesce invece a determinarela natura di f mediante una sola valutazione. Vi è bisogno di un registro di n qubit acui poter associare gli input della funzione e di un qubit aggiuntivo per memorizzarel'immagine di f. Quindi, brevemente, questo algoritmo permette di avere la rispostacercata con una sola elaborazione dei dati in ingresso.

Anno accademico 2015/2016 Tesi di Enrico Vignola

Capitolo 3

Il modello di computazione a circuito

quantistico

3.1 Bit quantistici

3.1.1 Qubit singoli

Benjamin Schumacher [12], sico teorico e studioso della teoria dell'informazione quan-tistica al Kenyon College (Ohio), inventò una nuova parola, qubit, per indicare l'unità diinformazione che rispetta le regole di calcolo delle probabilità quantistiche piuttosto chequelle classiche. Per capire la natura di questa entità e la dierenza con la sua istanzaclassica, il bit, dobbiamo fare riferimento alle leggi che regolano il comportamento e l'evo-luzione di un sistema sico reale e di conseguenza l'elaborazione dell'informazione in essocontenuta.Dal punto di vista computazionale i postulati della meccanica quantistica ci permettonodi allargare il campo d'azione di un calcolatore ad uno spazio che, oltre alle dimensioniclassiche corrispondenti alle sequenze binarie (registri di bit), ne include anche tutte leinnite combinazioni (principio di sovrapposizione degli stati) con le loro interazioni nonclassiche (fenomeno dell'interferenza) e gli eetti sui risultati nali dovuti alla misura(Postulato della misura).

17

18

I postulati della meccanica quantistica identicano il qubit con un vettore |ψ〉 nello spaziocomplesso bidimensionale C2 (Spazio di Hilbert), cioè con un oggetto della forma

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

(01

)+ β

(10

), (3.1.1)

dove gli scalari α e β sono numeri complessi che esprimono l'ampiezza di probabilitàdello stato |0〉 e |1〉 , rispettivamente. Questi stati del qubit vengono chiamati sovrap-posizioni degli stati |0〉 e |1〉 e possono essere interpretati come una coesistenza deglistessi in determinate proporzioni. I due vettori |0〉 e |1〉 prendono il nome di stati dellabase computazionale. Eseguendo una misura di un'opportuna osservabile sica dicotomica(per esempio, la terza componente dello spin Sz di un fermione di spin 1

2) non abbiamo

garanzie a priori sul valore che si otterrà, ma i valori 0 e 1 seguiranno una determinatadistribuzione di probabilità. Per essere più precisi, quando misuriamo tale grandezza sicasullo stato (3.1.1) del qubit otteniamo 0 con probabilità |α|2, oppure 1 con probabilità|β|2. Corrispondentemente lo stato nel quale collasserà il qubit sarà |0〉 o |1〉. Denotandocon 〈a | b〉 il prodotto scalare hermitiano su C2, tali probabilità sono espresse nella forma

P0 = |〈0 |ψ〉|2 = |α|2

P1 = |〈1 |ψ〉|2 = |β|2

Poiché la probabilità totale è pari alla somma delle due probabilità si deve imporre che

P0 + P1 = |α|2 + |β|2 = 1. (3.1.2)

In generale, possiamo quindi pensare allo stato di un qubit come un vettore unitario inuno spazio vettoriale complesso bidimensionale.Qualsiasi sistema quantistico, con uno spazio di Hilbert 2-dimensionale, può essere utiliz-zato come qubit. Gli stati di base |0〉 e |1〉 corrispondono agli stati "0" e "1" di un bitclassico. Esempi di sistemi che possono essere trattati come sistemi a due livelli sono unatomo, del quale si considera lo stato fondamentale e il primo stato eccitato; un fotone dipolarizzazione lineare verticale/orizzontale, oppure destra e sinistra nel caso di polarizza-zione circolare; una particella con spin 1/2, della quale si considera la componente lungoun certo asse.

3.1.2 Rappresentazione di un qubit sulla sfera di Bloch

Una rappresentazione del qubit che aiuta ad avere un'intuizione visiva di questa entità èla sua corrispondenza con i punti sulla supercie di una sfera unitaria nello spazio realea tre dimensioni, nota come la sfera di Bloch [5], dal nome del sico svizzero Felix Blochche stabilì tale corrispondenza (vedi gura). I punti corrispondenti al polo Nord e al poloSud sono tipicamente associati ai due stati quantistici |0〉 e |1〉. Ogni altro punto dellasupercie sferica rappresenta un altro stato del qubit. Facendo riferimento alla sfera diBloch, un vettore generale potrà essere espresso nel seguente modo:

|ψ〉 = cosθ

2|0〉+ eiφsen

θ

2|1〉 dove 0 ≤ θ ≤ π, 0 ≤ φ < 2π. (3.1.3)

Un esempio di stato importante è lo stato |+〉, denito come:

|+〉 = 1√2|0〉+ 1√

2|1〉 . (3.1.4)

Anno accademico 2015/2016 Tesi di Enrico Vignola

19

Sfera di Bloch

Misurando Sz sullo stato (3.1.3) viene restituito il valore 0, o il valore 1, con la stessaprobabilità: 50%. Un altro esempio di stato è:

|−〉 = 1√2|0〉 − 1√

2|1〉 . (3.1.5)

Anche se la misura della terza componente dello spin produce |0〉 e |1〉 con probabilitàpari al 50% come per lo stato |+〉, tuttavia è uno stato indipendente da esso. Infatti siverica che 〈− |+〉 = 0, quindi sono ortogonali.Una qualsiasi base di C2 può essere vista come una base computazionale. Per esempio,i due qubit |+〉 e |−〉 formano anch'essi una base computazionale. Si calcola facilmente che

|0〉 = 1√2(|+〉+ |−〉), |1〉 = 1√

2(|+〉 − |−〉). (3.1.6)

Quindi un qubit arbitrario del tipo (3.1.1) può essere espresso nella nuova base come

α |0〉+ β |1〉 = α√2(|+〉+ |−〉) + β√

2(|+〉 − |−〉) =

=α + β√

2|+〉+ α− β√

2|−〉 . (3.1.7)

In altri termini si possono fare anche misurazioni rispetto ad una base diversa dalla basestandard |0〉 , |1〉. In questo caso il qubit misurato collasserà a uno degli stati della basecomputazionale considerata. Nell'esempio visto prima, questi corrispondono a |+〉 e |−〉.La rappresentazione di Bloch permette di visualizzare qualsiasi operazione su un qubitcome una rotazione di un punto sulla sfera. Ma, analogamente, una successiva rotazionepuò essere applicata in senso inverso a quello originale, per riportare il punto nella suaposizione di partenza. Così un'operazione sul qubit può essere invertita per riottenerelo stato iniziale dallo stato nale. Quindi la computazione quantistica, che si riette nelmodo con cui un sistema sico evolve nel tempo, è caratterizzata dalla reversibilità. Tale

Anno accademico 2015/2016 Tesi di Enrico Vignola

20

proprietà è assicurata dall'evoluzione unitaria dei sistemi sici quantistici isolati. Quindiun computer quantistico deve essere ben isolato dall'ambiente esterno, ma allo stessotempo i suoi qubit devono essere facilmente accessibili per poterli manipolare e leggernegli stati nali.

3.2 Decoerenza quantistica

Dal punto di vista della realizzazione sica si possono considerare diversi sistemi chepossono essere manipolati secondo le opportune operazioni da eseguire. Tuttavia, i sicisperimentali devono tener conto anche di molti altri parametri al ne di progettare e rea-lizzare un apparecchio concreto capace di eseguire le trasformazioni richieste. Il parametropiù importante è il tempo di decoerenza, idea questa complementare a quella di coerenzaquantistica.La decoerenza [13, 14] può essere interpretata come il decadimento della coerenza quan-tistica di un sistema sico a causa dell'accoppiamento con l'ambiente, il quale possiedeinniti gradi di libertà incontrollati. La decoerenza ha un ruolo fondamentale nel passaggiodalla meccanica quantistica a quella classica. Il tempo di decoerenza, Tdec, generalmenteindica il tempo durante il quale gli eetti dell'interazione del sistema con l'ambientecircostante diventano rilevanti. Naturalmente, questo è di crescente importanza, quan-do vogliamo organizzare più porte logiche quantistiche insieme. Così la "decoerenza" èil principale ostacolo alla realizzazione di computer quantistici su larga scala. In questocontesto, è di fondamentale importanza mantenere e manipolare sovrapposizioni coerentidi stati con l'aumento esponenziale degli stati associati ai sempre più numerosi qubit. Ladecoerenza può essere descritta nel modello standard della Meccanica Quantistica comeuna perdita sempre più grande della sovrapposizione coerente di stati su grandi distanze.Molti lavori sulla decoerenza riguardano sistemi con pochi gradi di libertà accoppiati adun "bagno di calore" o "ambiente", descritto in termini di oscillatori armonici, particellein moto browniano o ensemble di spin. Per esempio un bagno potrebbe essere il campoelettromagnetico in cui l'atomo può irradiare la sua energia.Anchè esegua una fedele computazione quantistica un computer quantistico deve essereben isolato dall'ambiente esterno, in modo da poter conservare le sue proprietà quantisti-che. Ma, allo stesso tempo i suoi qubits devono essere facilmente accessibili in modo dapoter manipolare informazioni e leggere i risultati nali della elaborazione computaziona-le. Un'implementazione realistica deve essere allora in grado di raggiungere un delicatoequilibrio fra queste due condizioni, in modo da poter costruire dei buoni computer quan-tistici.Il maggior numero di operazioni quantistiche eseguibili è dato dal rapporto tra Tdec eTop, il tempo necessario per eseguire una trasformazione unitaria. Questi due tempi sonostrettamente collegati tra loro, poichè sono entrambi determinati dall'intensità di accop-

piamento tra il sistema e l'ambiente esterno. Comunque N =TopTdec

può variare in un

grande intervallo, come mostrato nella tabella. Si tratta comunque di stime un po' gros-solane, che servono a darci un'idea delle dierenti realizzazioni di dispositivi quantistici ingrado di processare informazioni. Nella realizzazione pratica bisogna tener conto di moltealtre sorgenti di disturbo e imperfezioni. Ad esempio la manipolazione per mezzo di lucedi un qubit, rappresentato da due livelli elettronici di un atomo, può causare anche unatransizione in un altro livello energetico con una certa probabilità. Anche più qubit po-

Anno accademico 2015/2016 Tesi di Enrico Vignola

21

trebbero interagire fra di loro, portando a una graduale perdita di coerenza degli stati. Ingenerale, qualunque processo che porta ad una perdita di informazioni quantistiche vieneconsiderato come un processo di disturbo.

Stime, per vari sistemi, del tempo di decoerenza Tdec, del tempo di clock Top e del numerodi operazioni eseguibili N = Tdec/Top (tempi in secondi)

3.3 Quibit multipli

3.3.1 Registri quantistici

Con due bit classici possiamo formare quattro possibili stati: 00, 01, 10, 11. In generale,con n bit è possibile costruire 2n stati distinti. Lo spazio degli stati generato da un siste-ma di n qubit ha dimensione 2n: ogni vettore normalizzato in questo spazio rappresentaun possibile stato computazionale, che chiameremo registro quantistico a n qubit. Que-sta crescita esponenziale delle dimensioni dello spazio degli stati suggerisce la potenzialecapacità di un computer quantistico di elaborare informazioni ad una velocità esponen-zialmente superiore rispetto a quella di un computer classico. Formalmente, un registroquantistico di n qubit è un elemento dello spazio di Hilbert 2n-dimensionale, C2n , conbase computazionale formata da 2n registri a n qubit

|i1〉⊗|i2〉⊗|i3〉⊗

. . .⊗|in〉 con ij ∈ 0, 1, 1 ≤ j ≤ n.

Per convenienza questo vettore della base si scrive: |i1〉 |i2〉 . . . |in〉 oppure semplicemente|i1i2 . . . in〉.Per esempio, i vettori di base dello spazio di Hilbert H2 = Span|0〉 , |1〉 , |2〉 , |3〉 =H1

⊗H1, a 2 qubit, in notazione matriciale sono i seguenti:

|00〉 = |0〉 =

1000

, |01〉 = |1〉 =

0100

,

|10〉 = |2〉 =

0010

, |11〉 = |3〉 =

0001

.

Anno accademico 2015/2016 Tesi di Enrico Vignola

22

Un registro quantistico a due qubit è una sovrapposizione della forma

|ψ〉 = α00 |00〉+ α01 |01〉+ α10 |10〉+ α11 |11〉 , (3.3.1)

con la condizione di normalizzazione

1∑i,j=0

|αij|2 = 1. (3.3.2)

Analogamente al caso di un singolo qubit, il risultato di una misurazione di S1z e S2z

farà collassare lo stato |ψ〉 allo stato |ij〉 con probabilità |αij|2. In un sistema di n qubitpossiamo anche misurare solo un sottoinsieme di essi. Per esempio, nel caso di un registroa due qubit possiamo misurare il primo qubit ottenendo come risultato 0 con probabilità|α00|2 + |α01|2. Dopo aver eettuato la misurazione lo stato (3.3.1) collasserà a

α00 |00〉+ α01 |01〉√|α00|2 + |α01|2

. (3.3.3)

Si noti che lo stato viene normalizzato anchè abbia modulo unitario. I vettori base dellospazio di Hilbert H3 = Span|0〉 , |1〉 , |2〉 , |3〉 , |4〉 , |5〉 , |6〉 , |7〉 = H1

⊗H1

⊗H1, a 3

qubit, sono le seguenti:

|0, 0, 0〉 = |0〉 =

10000000

, |0, 0, 1〉 = |1〉 =

01000000

, |0, 1, 0〉 = |2〉 =

00100000

,

|0, 1, 1〉 = |3〉 =

00010000

, |1, 0, 0〉 = |4〉 =

00001000

, |1, 0, 1〉 = |5〉 =

00000100

,

|1, 1, 0〉 = |6〉 =

00000010

, |1, 1, 1〉 = |7〉 =

00000001

.

e così via per Hn = H1

⊗. . . . . .

⊗H1︸ ︷︷ ︸

n

.

Anno accademico 2015/2016 Tesi di Enrico Vignola

23

3.4 Stati entangled

Una proprietà importante dei registri quantistici a n qubit, è che non è sempre possibiledecomporli nel prodotto tensoriale degli stati componenti. Gli stati di questo tipo sonodetti entangled e godono di proprietà che non si possono ritrovare in nessun oggetto dellasica classica. I membri di una collezione entangled non hanno un proprio stato individua-le, solo l'intera collezione corrisponde a uno stato ben denito rispetto ad un'osservabileglobale dell'intero sistema, senza alcun riferimento alla distanza che li separa. Inoltre lamisurazione di una grandezza sica su uno dei due componenti di una coppia entangledfornisce simultaneamente informazioni riguardo all'altro.Sia H = H1

⊗H2 con |0〉1 , |1〉1 e |0〉2 , |1〉2 le rispettive basi di H1 e H2. Per de-

nizione, uno stato di H è detto "entangled" se non può essere scritto come un sempliceprodotto tensore di uno stato |α1〉 di H1 e uno stato |β2〉 di H2. Al contrario, se possiamoscrivere |ψ〉 = |α1〉

⊗|β2〉 allora |ψ〉 si dice "separabile". A titolo di esempio consideriamo

i due seguenti casi:

|ψ〉 = 1√2(|00〉+ |10〉) = 1√

2(|0〉+ |1〉)

⊗|0〉 → separabile

|φ〉 = 1√2(|00〉+ |11〉)→ entangled .

Lo stato |00〉+ |11〉 non può essere fattorizzato nel prodotto tensore di due qubit indipen-denti, cioè non esistono a1, a2, a3, a4 tali che

|00〉+ |11〉 = (a1 |0〉+ b1 |1〉)⊗

(a2 |0〉+ b2 |1〉). (3.4.1)

In generale perchè lo stato (3.3.1) sia separabile il determinante della matrice deicoecienti deve essere nullo. Verichiamolo:

|ψ〉 = α00 |00〉+ α01 |01〉+ α10 |10〉+ α11 |11〉 == (a0 |0〉+ a1 |1〉)

⊗(b0 |0〉+ b1 |1〉) =

= (a0b0 |00〉+ a0b1 |01〉+ a1b0 |10〉+ a1b1 |11〉) .Considerando il determinante della matrice dei coecienti si verica che:∣∣∣∣a0b0 a0b1

a1b0 a1b1

∣∣∣∣ = a0b0a1b1 − a0b0a1b0 = 0 ,∣∣∣∣a0b0 a0b1a1b0 a1b1

∣∣∣∣ = ∣∣∣∣α00 α01

α10 α11

∣∣∣∣ = 0 .

Gli stati entangled seguenti:

|φ+〉 =1√2(|00〉+ |11〉 , (3.4.2)

|φ−〉 =1√2(|00〉 − |11〉 , (3.4.3)

|ψ+〉 =1√2(|01〉+ |10〉 , (3.4.4)

|ψ−〉 =1√2(|01〉 − |10〉 (3.4.5)

formano la cosiddetta Base di Bell.

Anno accademico 2015/2016 Tesi di Enrico Vignola

24

3.4.1 Un esempio sico di stato entangled

Lo stato |φ〉 = 1√2(|00〉 + |11〉) è uno stato di sovrapposizione di due fotoni che possono

essere entrambi o nello stato |H〉 = |0〉 (H sta per polarizzazione orizzontale) oppure nellostato |V 〉 = |1〉 (V sta per polarizzazione verticale) con il 50% di probabilità. Come siosserva dall'equazione, non può mai accedere che se un fotone è nello stato |H〉 l'altro sianello stato |V 〉 o viceversa.

Nella gura è rappresentato un tipico esperimento che si può eettuare sullo stato |φ〉.Una sorgente di coppie di fotoni emette due fotoni nello stato |φ〉; i due fotoni, che viaggia-no in direzioni opposte, vengono inviati su due beam splitter birifrangente e vengono rive-lati i conteggi ("click") dei quattro rivelatori D1,D2, D3,D4. Si noti che D1 e D3 rivelanofotoni polarizzati orizzontalmente, mentre D2 e D4 fotoni polarizzati verticalmente.

Nella Tabella sono rappresentati alcuni possibili risultati di tale esperimento. Concen-triamoci, inizialmente, sui "click" dei rivelatori D1 e D2. Come si osserva, quando vienerivelato un fotone in D1 , D2 non scatta e viceversa. Lo stesso vale anche per la coppiadi rivelatori D3 e D4. Se ora, invece, consideriamo tutti e quattro i rivelatori notiamo chequando scatta D1 allora scatta anche D3, quando scatta D2 allora scatta anche D4 . Nonaccade mai che quando viene rivelato un fotone in D1 l'altro venga rivelato in D4. Lamedesima conclusione si ottiene per D2 e D3.Per questo motivo, osservando i conteggi di D1 e D2 possiamo aermare con certezzaquale dei rivelatori D3 e D4 sia scattato oppure scatterà se la misura non è ancora avve-nuta. Questi risultati sperimentali sono formalizzati dalla meccanica quantistica; infattiricaviamo le seguenti probabilità per lo stato |φ〉:

P (H,H) = |〈00 |ψ〉|2 = 1

2|〈00 | 00〉|2 = P (V, V ) = |〈11 |ψ〉|2 = 1

2|〈11 | 11〉|2 = 1

2,

P (H,V ) = |〈01 |ψ〉|2 = P (V,H) = |〈10 |ψ〉|2 = 0

In questo modo possiamo ora comprendere il motivo per cui o scattano i rivelatori D1 e D3

che rivelano fotoni polarizzati orizzontalmente, o D2 e D4 , che rivelano fotoni polarizzati

Anno accademico 2015/2016 Tesi di Enrico Vignola

25

verticalmente.In realtà questi risultati potrebbero essere interpretati (erroneamente!) pensando che idue fotoni non vengano prodotti nello stato intrecciato |φ〉, bensì nello stato

|ψ〉12 = |H〉1 |H〉2 = |0〉 |0〉 = |00〉,

oppure nello stato

|φ〉12 = |V 〉1 |V 〉2 = |1〉 |1〉 = |11〉 ,

con il 50% di probabilità: otterremmo, in questo caso, dei risultati del tutto analoghi aquelli di della Tabella. Per distinguere i due casi si può allora operare come segue. Alposto dei beam splitter precedente precedenti poniamo dei beam splitter (+45).

Se eseguissimo l'esperimento in queste condizioni troveremmo che i risultati per lostato |ψ〉 sarebbero ancora analoghi a quelli della tabella precedente, mentre per gli stati|ψ〉12 e |φ〉12 si avrebbero dei "click" del tutto casuali, nel senso che il rivelatore D4 puòscattare anche quando scatta D1 e il rivelatore D3 può rivelare un fotone anche quandolo rivela D2. Esplicitiamo quanto detto matematicamente.

|45〉 = 1√2(|0〉+ |1〉) |−45〉 = 1√

2(|0〉 − |1〉) 〈45 | −45〉 = 0

|45, 45〉 = 1√2(|0〉+ |1〉)

⊗(|0〉+ |1〉) = 1

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

|45,−45〉 = 1√2(|0〉+ |1〉)

⊗(|0〉 − |1〉) = 1

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

La probabilità di osservare i due fotoni entrambi nello stato di polarizzazione |45〉,prodotti nello stato entangled |φ〉 è:

P (|45, 45〉 , |φ〉) = |〈45, 45 |φ〉|2 =∣∣∣∣12(〈00|+ 〈01|+ 〈10|+ 〈11|) 1√

2(|00〉+ |11〉)

∣∣∣∣2 = 1

2

La probabilità di osservare i due fotoni uno nello stato di polarizzazione |45〉 e l'altronello stato |−45〉, prodotti sempre nello stato entangled |φ〉 è:

P (|45,−45〉 , |φ〉) = |〈45,−45 |φ〉|2 =∣∣∣∣12(〈00| − 〈01|+ 〈10| − 〈11|) 1√2(|00〉+ |11〉)

∣∣∣∣2 = 0

Invece la probabilità di osservare i due fotoni uno nello stato di polarizzazione |45〉 el'altro nello stato |−45〉, prodotti però nello stato separabile |ψ12〉 è:

Anno accademico 2015/2016 Tesi di Enrico Vignola

26

P (|45,−45〉 , |ψ12〉) = |〈45,−45 |ψ12〉|2 =∣∣∣∣12(〈00| − 〈01|+ 〈10| − 〈11|)(|00〉)

∣∣∣∣2 = 1

4

La probabilità di osservare i due fotoni entrambi nello stato di polarizzazione |45〉,prodotti però nello stato separabile |ψ12〉 è:

P (|45, 45〉 , |ψ12〉) = |〈45, 45 |ψ12〉|2 =∣∣∣∣12(〈00|+ 〈01|+ 〈10|+ 〈11|)(|00〉)

∣∣∣∣2 = 1

4

La probabilità di osservare i due fotoni entrambi nello stato di polarizzazione |45〉,prodotti però nello stato separabile |φ12〉 è:

P (|45, 45〉 , |φ12〉) = |〈45, 45 |φ12〉|2 =∣∣∣∣12(〈00|+ 〈01|+ 〈10|+ 〈11|)(|11〉)

∣∣∣∣2 = 1

4

La probabilità di osservare i due fotoni uno nello stato di polarizzazione |45〉 e l'altronello stato |−45〉, prodotti però nello stato separabile |φ12〉 è:

P (|45,−45〉 , |φ12〉) = |〈45,−45 |φ12〉|2 =∣∣∣∣12(〈00| − 〈01|+ 〈10| − 〈11|)(|11〉)

∣∣∣∣2 = 1

4

3.5 Quantum gate

In un computer classico, un logic gate, o semplicemente gate, è un circuito elettronico incui il livello logico del segnale in uscita dipende dallo stato logico di uno o più segnalid'ingresso. Tali elementi agiscono su uno o più bit e danno in uscita uno stato 0 o 1, inbase alla tavola di verità che descrive la funzione del/dei gates utilizzati.Nell'ambito della computazione quantistica ci si aspetta di poter denire oggetti con lastessa funzione, ossia oggetti che evolvono da un certo stato iniziale |ψ〉 in uno stato nale∣∣ψ′⟩. E' chiaro, dal postulato della meccanica quantistica, sull'evoluzione di uno statosico isolato, la quale avviene attraverso una trasformazione unitaria, che una qualunquegate che agisce su uno o più qubit avrà la forma di un operatore unitario. Questa èl'unica condizione che deve soddisfare un valido quantum gate. Quindi, analogamente alcomputer classico, un computer quantistico è formato da circuiti quantistici, costituiti daporte logiche (quantum gates) in successione e in parallelo. Ma, contrariamente al casoclassico, l'operazione può essere eseguita contemporaneamente su tutti i possibili statidello spazio di Hilbert del registro quantistico.

3.5.1 Porte logiche quantistiche a un qubit

Se nel modello classico l'unica porta logica non banale di singolo bit è la porta NOT, nelmodello quantistico esistono invece diverse operazioni di questo tipo. Come si potrebberealizzare una porta NOT che agisca sui qubit? A causa delle proprietà della meccanicaquantistica, tutte le porte quantistiche devono essere lineari, ciò signica che se avessimolo stato iniziale α |0〉 + β |1〉, lo stato ottenuto dalla porta NOT sarebbe α |1〉 + β |0〉.Quindi, la naturale estensione quantistica del NOT classico è la porta "Pauli-X", chescambia i coecienti dei vettori della base computazionale:

X =

[0 11 0

].

Anno accademico 2015/2016 Tesi di Enrico Vignola

27

Se nella base computazionale lo stato |ψ〉 = α |0〉 + β |1〉 è rappresentato dal vettorecolonna

|ψ〉 =[αβ

],

allora l'azione della porta NOT può essere scritta come∣∣ψ′⟩ = X

[αβ

]=

[βα

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

In generale, poichè le porte quantistiche devono essere operatori unitari allora tutte lematrici 2x2 unitarie rappresentano porte logiche che agiscano su un singolo qubit. Questosignica che, al contrario del caso classico in cui c'è una sola porta a bit singolo nonbanale (ovvero la porta NOT), nel caso quantistico ci sono molte porte a qubit singolonon banali. Oltre alla porta "Pauli-X" (o "NOT"), altre porte importanti sono:

"Pauli-Y" gate, data da

Y =

[0 −ii 0

],

la cui azione sullo stato |ψ〉 dà

∣∣ψ′⟩ = Y

[αβ

]= i

[β−α

]= i(β |0〉 − α |1〉) .

"Pauli-Z" gate, data da

Z =

[1 00 −1

],

la cui azione sullo stato |ψ〉 dà

∣∣ψ′⟩ = Z

[αβ

]=

[α−β

]= (α |0〉 − β |1〉) .

Quindi,la porta Z lascia invariato lo stato |0〉 e inverte il segno dello stato |1〉.

"Hadamard" gate, o a volte chiamata anche "Radice quadrata del NOT" gate, datada

Had =1√2

[1 11 −1

],

la cui azione sullo stato |ψ〉 dà

∣∣ψ′⟩ = Had

[αβ

]=

1√2

[α + βα− β

]=

1√2(α + β) |0〉+ 1√

2(α− β) |1〉

Anno accademico 2015/2016 Tesi di Enrico Vignola

28

Per visualizzare l'azione della porta Had conviene utilizzare la sfera di Bloch. Come sivede in gura, la porta Hadamard è rappresentata da una rotazione attorno all'asse y di90°, seguita da una rotazione attorno all'asse x di 180°. Quindi, l'eetto di Had è quello ditrasformare uno stato base in una sovrapposizione che risulta, dopo una misurazione nellabase computazionale, essere |0〉 oppure |1〉 con uguale probabilità. Ad esempio, applicandoHad a |0〉 si ottiene:

Had |0〉 = Had

[10

]=

1√2

[11

]=

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

L'eetto di Had si può quindi vedere come un NOT eseguito a metà, in modo che lo statorisultante non è nè 0 nè 1, bensì una sovrapposizione dei due stati di base. Per questomotivo Had viene spesso chiamata la "radice quadrata di NOT". Questa espressione haun signicato solo sico! Da un punto di vista algebrico, Had2 non è la matrice X. Conun semplice calcolo si può infatti vericare che Had2 è l'identità e quindi applicando duevolte Had ad uno stato lo si lascia inalterato. Si può provare a visualizzare l'eetto di Had

sul qubit1√2(|0〉+ |1〉). Per eetto della rotazione e della successiva riessione attraverso

il piano xy si otterrà nuovamente |0〉.

3.5.2 Porte logiche a più qubit

Un importante risultato teorico della computazione classica è che qualsiasi funzione, suun insieme di bit, può essere eseguita da sole porte NAND, che vengono quindi chiamateporte universali. D'altro canto, le porte classiche XOR e NAND non sono invertibili, inquanto non è possibile risalire agli input partendo dall'output. Quindi non è possibilegeneralizzare le porte classiche a bit multipli con porte quantistiche a qubit multipli.L'analogo quantistico di una porta universale è il NOT controllato o CNOT. Questa

Anno accademico 2015/2016 Tesi di Enrico Vignola

29

porta ha due qubit in ingresso: uno di controllo (control qubit) e uno di bersaglio (targetqubit). Se il qubit di controllo è 0, il qubit bersaglio non viene cambiato. Se il qubit dicontrollo è 1, il qubit bersaglio viene invertito. Come è possibile vedere in gura, l'azione

di una porta CNOT generalizza una classica porta XOR, in quanto lo stato iniziale |x, y〉diventa lo stato nale |x, x

⊕y〉 dove

⊕è la somma a modulo 2 rappresentata dalla

classica porta XOR e |x〉, |y〉 sono i due qubit di valore 0 o 1. Brevemente se il controllo è0 allora il target è lasciato inalterato; se il controllo è 1, allora il target viene negato, cioè

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

Un altro esempio di porta logica che opera su due qubit è la SWAP, che scambia i valoridei due qubit di ingresso, cioè

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

La sua azione è denita da un operatore unitario USWAP rappresentato dalla seguentematrice:

USWAP =

1 0 0 00 0 1 00 1 0 00 0 0 1

.

3.6 Implementazione della logica classica in un compu-

ter quantistico

Quello che stiamo cercando di fare è riuscire a implementare la logica di un computerclassico in un computer quantistico; vogliamo quindi trovare operatori con i quali sia pos-sibile eseguire le stesse operazioni logiche dei gate classici. Il problema emerge quandosi considera che questi ultimi non sono rappresentabili attraverso un operatore unitario,

Anno accademico 2015/2016 Tesi di Enrico Vignola

30

ossia sono non-invertibili. Questo è legato al fatto che l'azione di un gate, come l'XOR oil NAND, inevitabilmente implica la perdita di informazioni: non si può applicare un gateche a partire dall'output dia in uscita il valore dei bit in ingresso. Viceversa un quantumgate è sempre invertibile, essendo l'inverso di una matrice unitaria ancora una matriceunitaria.Un altro problema emerge nello studio dei circuiti di un quantum computer, ed è legato alconcetto di FANOUT. Classicamente il FANOUT di una porta logica è il numero di portelogiche che possono essere collegate alla sua uscita. Tale denizione implica che sia possi-bile copiare il risultato di un'operazione logica in modo da mandare la stessa informazionea diverse porte, questa azione è possibile classicamente ma non quantisticamente. Non è ingenerale possibile clonare uno stato quantistico attraverso operazioni unitarie, questo è ciòche aerma il Teorema di no-cloning quantistico, ad opera di Wootters, Zurek e Dieks [15].

3.6.1 Teorema di no-cloning

Per dimostrare questo teorema consideriamo uno stato sorgente |ψ〉 nello spazio di HilbertHsource e uno stato obiettivo |s〉 nello spazio di Hilbert Htarget in cui vogliamo copiare lostato sorgente. Per quest'ultima operazione occorre denire un operatore U, appartenenteallo spazio Hsource ⊗Htarget, con la proprietà

U |ψ〉⊗|s〉 = |ψ〉

⊗|ψ〉 ∀ |ψ〉 ∈ Hsource, (3.6.1)

siccome si è supposto che U cloni ogni stato di Hsource, consideriamo la sua azione su unsecondo stato |φ〉

U |φ〉⊗|s〉 = |φ〉

⊗|φ〉 . (3.6.2)

Assumiamo per semplicità che |ψ〉, |φ〉 e |s〉 siano normalizzati, e consideriamo il prodottoscalare delle due equazioni (3.6.1) e (3.6.2), sapendo che U è unitario:

(〈s|⊗〈ψ|U †)(U |φ〉

⊗|s〉) = 〈s|s〉 〈ψ|φ〉 = 〈ψ|φ〉 , (3.6.3)

supponendo che U cloni entrambi gli stati |ψ〉 e |φ〉 si ha anche

(〈s|⊗〈ψ|U †)(U |φ〉

⊗|s〉) = (〈ψ| 〈ψ|)(|φ〉 |φ〉) = (〈ψ| |φ〉)2. (3.6.4)

Confrontando i risultati:

〈ψ|φ〉 = (〈ψ| |φ〉)2, (3.6.5)

questo è possibile solamente se 〈ψ|φ〉 = 0 o 〈ψ|φ〉 = 1, ossia solo se i due stati sonoidentici o ortogonali. Ciò signica che un operatore di clonazione può clonare solamentestati ortogonali tra loro, e non è in grado di clonare una generica combinazione di questi.In conclusione, la clonazione esatta di uno stato quantistico non è possibile, esistono tut-tavia tecniche per una clonazione imperfetta di uno stato quantistico.Agli stessi Wootters e Zurek si deve l'implementazione di una macchina per la clonazionedi stati ortogonali [15]. Successivamente Buzek e Hillery [16] proposero una macchina ingrado di copiare uno stato quantistico indipendentemente dall'input. Quest'ultimo pro-cedimento permette di copiare i 5/6 delle informazioni contenute in uno stato sorgente.

Anno accademico 2015/2016 Tesi di Enrico Vignola

31

In questo genere di oggetti l'entaglement tra la copia e la sorgente dopo la clonazioneintroduce problemi all'atto della misura dello stato della copia. La misura, infatti, pro-voca il collasso della funzione d'onda dello stato clonato, se questo è in entaglement conlo stato del sistema sorgente questa operazione provocherà un cambiamento anche nellostato sorgente. Esistono tuttavia tecniche per minimizzare gli eetti di questo fenomeno[16].

3.6.2 Tooli gate

Per poter stabilire denitivamente che la logica classica sia implementabile anche in uncomputer quantistico dobbiamo analizzare il problema della non-invertibilità dei gateclassici. La soluzione di questo problema sta nel dimostrare che tutti i gate classici sonorealizzabili a partire da un gate classico reversibile. Il gate in questione prende il nome diTooli gate. Ciò che rende questa porta logica fondamentale nel passaggio tra classico equantistico è dato dal fatto che è possibile rendere la logica classica reversibile.Il Tooli gate, o anche controlled-controlled-NOT (CCNOT), è un gate che riceve in input

Tavola di verità e rappresentazione circuitale del Tooli gate

tre bits (vedi gura). La sua azione su tre bits a, b e c è la seguente:

(a, b, c) −→ (a, b, ab⊕

c) ,

il bit c, o target bit, viene ippato solo se a e b sono uguali a 1.E' facile vericare che, applicando due volte tale gate, si riottengono i valori iniziali deibits:

(a, b, c) −→ (a, b, ab⊕

c) −→ (a, b, c) .

Come già accennato tale gate è universale; è infatti possibile implementare il NAND, oltreche il NOT e lo XOR, ssando opportunamente uno o più bits:

per c=1 si ha:

(a, b, 1) −→ (a, b, 1− ab) = (a, b, aNANDb) ;

Anno accademico 2015/2016 Tesi di Enrico Vignola

32

per a=1 si ha:

(1, b, c) −→ (1, b, bEXORc) ;

per a=b=1 si ha:

(1, 1, c) −→ (1, 1, NOTc) .

Il Tooli gate è inoltre implementabile come quantum gate, la sua azione su un sistemadi tre qubit è quella di far cambiare stato al qubit target nel caso in cui i primi due sianonello stato 1. La sua azione è denita da un operatore unitario UCCNOT rappresentatodalla seguente matrice 8x8:

UCCNOT =

1 0 0 0 0 0 0 00 1 0 0 0 0 0 00 0 1 0 0 0 0 00 0 0 1 0 0 0 00 0 0 0 1 0 0 00 0 0 0 0 1 0 00 0 0 0 0 0 0 10 0 0 0 0 0 1 0

Esiste oltre al Tooli gate un altro gate reversibile che prende il nome di Fredkin gate. Lasua funzione è analoga, con la dierenza che invece di avere due bit di controllo e un bitobiettivo, il Fredkin gate utilizza un bit di controllo e due bit obiettivo. La sua azione èrappresentata dalla sua tavola di verità.

Tavola di verità e rappresentazione circuitale del Fredkin gate

Anno accademico 2015/2016 Tesi di Enrico Vignola

33

Se c = 0 in input, in output c contiene la funzione aANDb; ponendo invece c = 1 e b =0 si ha in output c = NOTa. E' quindi possibile utilizzare questo gate allo stesso mododel Tooli gate, ossia per rendere la logica classica reversibile e quindi implementabile inun computer quantistico.L'azione della Fredkin gate è denita da un operatore unitario UCSWAP rappresentatodalla seguente matrice 8x8:

UCSWAP =

1 0 0 0 0 0 0 00 1 0 0 0 0 0 00 0 1 0 0 0 0 00 0 0 1 0 0 0 00 0 0 0 1 0 0 00 0 0 0 0 0 1 00 0 0 0 0 1 0 00 0 0 0 0 0 0 1

E' facile vericare che un gate reversibile come il Tooli gate può essere utilizzato per

fare FANOUT.

Circuito per fare FANOUT con un Tooli gate

Si considerino i tre input (a,b,c) e supponiamo di voler copiare le informazioni presentinel bit a in modo da avere in output due bits copie di a. Osservando la tavola di verità delTooli gate si vede che prendendo come input (a = 1, b = d, c = 0) in uscita si ottiene(a' = 1, b' = d, c' = d). In questa maniera l'informazione del bit a è stata copiata in b'e c' che possono a loro volta entrare in input in altre porte logiche.

3.6.3 Criteri di Di Vincenzo

David P. Di Vincenzo ha stilato nel 2000 (in [17]) una lista di cinque requisiti per poterimplementare una computazione quantistica:

1. E' necessario disporre di un sistema quantistico a due livelli scalabile, nel senso chedeve essere possibile realizzare macrosistemi connettendo un numero arbitrario diqubit; solo in questo modo si possono realizzare registri di memoria in grado dicontenere informazioni complesse da elaborare.

2. Deve essere possibile inizializzare lo stato in modo sicuro prima di iniziare il calcolo.Ci sono due modi per ottenere questa condizione:

Anno accademico 2015/2016 Tesi di Enrico Vignola

34

si può congelare il sistema quando lo stato fondamentale dell'Hamiltoniana èlo stato di interesse;

si può fare una misura che proietta il sistema nello stato di interesse.

3. Il tempo di decoerenza deve essere lungo, tipicamente 103 − 104 volte maggiore deltempo di operazione (tempo di clock). Il tempo di decoerenza caratterizza la dina-mica del sistema interagente con l'ambiente; il sistema, perdendo la coerenza, perdela proprietà più importante per avere un computer quantistico.

4. Si deve avere un set universale di operazioni. Si è visto che il control-not (CNOT )più le trasformazioni su singolo qubit realizzano questa condizione.

5. Si deve avere la possibilità di misurare lo stato del qubit in modo adabile.

Anno accademico 2015/2016 Tesi di Enrico Vignola

Capitolo 4

Algoritmo di Shor

4.1 Introduzione

All'inizio degli anni '90 si congetturava che un computer quantistico potesse essere piùveloce di uno classico nel risolvere certi problemi. Nonostante la curiosità di molti, nessunoera motivato a fare grandi investimenti per tentare di costruire un computer quantistico.Questo atteggiamento cambiò nel 1994, quando Peter Shor [18], uno scienziato di BellLabs, concepì un algoritmo quantistico in grado di fattorizzare numeri a molte cifre intempi polinomiali.Questo problema portò un grosso cambiamento nel campo della complessità computa-zionale facendo diventare "facile" un problema che no ad allora si riteneva NP. D'altraparte, l'algoritmo prevedeva dei passi di computazione quantistica e quindi non potevaessere considerato al pari degli algoritmi polinomiali classici.La tecnica di Shor per ottenere lo speed-up esponenziale rispetto ai migliori algoritmiclassici, no ad allora implementati per il problema della fattorizzazione, è basata sul pa-rallelismo e l'interferenza quantistica. Nel suo algoritmo vi è un uso consistente di risultatimatematici (in particolare di teoria dei numeri e aritmetica modulare) per la formulazionedel problema. Inoltre esso suscitò un grande interesse a causa della sua capacità di violarela crittograa classica. Infatti la sicurezza di molti sistemi di crittograa è basata sulladicoltà di fattorizzare numeri grandi: se viene creato un metodo sicuro e veloce perfattorizzare numeri grandi, molti sistemi di crittograa diventerebbero insicuri. Sebbenenon è stato dimostrato che con un computer classico non sia possibile fattorizzare numerigrandi in un tempo polinomiale, l'algoritmo classico attualmente più veloce ( "numberled sieve", o "crivello del campo di numeri" con complessità superpolinomiale) impiega

tempi esponenziali dell'ordine O(ec(logN)1/3(loglogN)2/3

)per fattorizzare un numero N abba-

stanza grande, per esempio a 300 cifre. Per contro, l'algoritmo di Shor completa la stessaoperazione in un tempo polinomiale O((logN)2loglogN))) sul computer quantistico, conun post processing di O(logN) passi sul computer classico. Questa scoperta suscitò moltointeresse per il quantum computer e ne portò avanti gli studi. L'algoritmo di Shor è oggiuno dei più importanti e più studiati algoritmi del computer quantistico.Il problema che dobbiamo risolvere è il seguente: dato un numero composto N = pq,dobbiamo determinare p e q. La risoluzione del problema consiste nel ricondurlo alla de-terminazione dell'ordine o del periodo di una funzione opportuna. Per far ciò, dividiamole operazioni in due parti:

35

36

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

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

Dato N, numero intero, l'Algoritmo di Shor si svolge nei seguenti passaggi:

1. Scegliere in modo casuale un intero 1 < a < N e, attraverso l'algoritmo di Euclide,calcolare il massimo comune divisoreMCD(N, a). SeMCD(N, a) 6= 1 allora è statotrovato un fattore di N. Se invece MCD(N, a) = 1 procedere allo step 2.

2. Trovare l'ordine di a mod N , ovvero il più piccolo intero r tale che ar mod N = 1.In questo caso, r corrisponde al periodo della funzione fa,N : N→ N denita da

fa,N : x→ ax mod N .

Se r è dispari tornare allo step 1.Se r è pari calcolare ar/2 mod N .Se ar/2 mod N = −1 tornare allo step 1.Se ar/2 mod N 6= −1 procedere allo step 3.

3. Calcolare, attraverso l'algoritmo di Euclide, il massimo comune divisoreMCD(ar/2+1, N) e MCD(ar/2 − 1, N). Entrambi sono fattori non banali di N.

Il primo e il terzo step sono processabili in modo eciente anche da un computer classico,tuttavia un computer quantistico riuscirebbe a trovare in un tempo polinomiale il perio-do della funzione fa,N dello step 2, rispetto al tempo esponenzialmente crescente con N,impiegato da un computer classico.

L'algoritmo di Euclide e il metodo delle frazioni continue, che sarà utilizzato allo step2, sono illustrati nell'Appendice A e B, rispettivamente.

4.2 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 più semplice, quando

MCD(a,N) 6= 1, (4.2.1)

che signica che a è uno dei due fattori non triviali di N, il problema della fattorizzazioneè risolto.Nella maggior parte dei casi (quasi sempre, lavorando con numeri grandi) invece a ècoprimo a N, cioè MCD(a,N) = 1, e si rende quindi necessario procedere nel modo quianalizzato.Dati N e a coprimi, esiste un più piccolo r > 0 tale che:

ar ≡ 1 mod N, (4.2.2)

Anno accademico 2015/2016 Tesi di Enrico Vignola

37

dove r è chiamato l'ordine di a modulo N.Determinare l'ordine r, equivale a determinare il periodo della funzione

f(x) = ax mod N, (4.2.3)

infatti dalla relazione (4.2.3) otteniamo

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

dove r indica il periodo di f, ossia il minimo numero intero r per cui f(x+ r) = f(x).Ora, se r è dispari o ar/2 ≡ ±1 mod N si deve ricominciare da capo scegliendo un altroa, altrimenti è possibile proseguire.Una volta trovato un a che non soddis 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, (4.2.5)

ciò signica che N divide il prodotto αβ, con α = (ar/2− 1) e β = (ar/2+1), cioè αβ è unmultiplo di N. Se nè α nè β è un multiplo di N, allora N divide in parte α = α1α2 . . . αk(dove α1α2 . . . αk è la fattorizzazione in numeri primi di α) e in parte β = β1β2 . . . βk.Queste parti 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.

4.3 Parte quantistica

La parte quantistica del problema di Shor consiste in un algoritmo di ricerca della perio-dicità della funzione booleana

f : 0, 1M −→ 0, 1L ,

dove il registro di input a M qubit, chiamato registro-x, contiene i valori della variabilex, mentre nel registro di output a L qubit, chiamato registro-y, sono rappresentati i va-lori ax mod N . La funzione booleana con cui dobbiamo lavorare nel nostro algoritmo èl'esponenziazione modulare

fa,N : x −→ ax mod N

Consideriamo un esempio concreto con a = 3 e N = 4:

x 1 2 3 4 5 6 7 8 9 10 11 12 13 14 153x 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 .

E' necessario così trovare l'operatore unitario Ua che agisce nello spazio di Hilbert, de-composto nella forma HM

⊗HL, tale che

Ua : |x0, . . . , xM−1〉⊗|0, . . . , 0〉︸ ︷︷ ︸

L

−→ |x0, . . . , xM−1〉⊗|ax mod N〉 , (4.3.1)

dove x = 2M−1xM−1 2M−2xM−2 . . . 2

1x1 20x0.

Attenendoci all'esempio numerico precedente, al ne di rappresentare 3x mod N , l'insiemebase di qubit da considerare avrà la forma

Anno accademico 2015/2016 Tesi di Enrico Vignola

38

|j4, j3, j2, j1〉 |l2, l1〉 ,

dove il registro-x contiene la variabile 1 ≤ x ≤ 15, mentre il registro-y contiene i valoriimmagini della funzione 0 ≤ 3x (mod 4) ≤ 3, in notazione binaria. Per esempio, allacoppia numerica (x = 5, 3x (mod 4) = 3) corrisponde lo stato |0, 1, 0, 1〉 |1, 1〉 a 6 qubit.Ricordando quanto osservato nella sottosezione 3.3.1, con questo tipo di notazione, èpossibile costruire esplicitamente l'operatore U3x(mod 4).Una proprietà importante, come per tutti gli algoritmi quantistici, è il fatto che essipossono processare simultaneamente una generica sovrapposizione di stati, per esempio:

Ua∑

λ(x) |x〉⊗|0〉 =

∑λ(x) |x〉

⊗|ax(mod N)〉 , (4.3.2)

dove |x〉 ∈ HM e |ax(mod N)〉 ∈ HL. Questa è una manifestazione del parallelismoquantistico. Per l'esempio numerico precedente avremo:

U3x(mod 4)

(1

4

15∑x=1

|x〉 |0〉)=

1

4

7∑x=0

(|2x+ 1〉 |3〉+ |2x〉 |1〉) ,

dove abbiamo però utilizzato la notazione decimale. In generale, posto

|ψ〉 = 1

2M2

2M−1∑x=0

|x〉 |0〉 , (4.3.3)

si ha:

Ua |ψ〉 =1

2M2

2M−1∑x=0

|x〉 |ax(mod N)〉 . (4.3.4)

Quindi, per quanto visto precedentemente, l'esponenziazione modulare (mod N ) di basea è implementata dall'operatore unitario

Ua |x〉 |y〉 = |x〉 |ax(y + 1)(mod N)〉 con 0 ≤ x ≤ 2M , (4.3.5)

dove M è un certo intero scelto convenientemente ed y ≤ N . In particolare

Ua |x〉 |0〉 = |x〉 |ax(mod N)〉 , (4.3.6)

Inoltre, richiamando l'identità

ax = a2M−1xM−1 a2

M−2xM−2 . . . a2x1 ax0 , (4.3.7)

L'esponenzizione modulare di a si riduce alla moltiplicazione dei fattori della forma a2k

(mod N ), per 0 ≤ k ≤ L.La procedura appena descritta ha un costo computazionale totale dell'esponenziazionemodulare quantistica è = O(M3).Un'altra quantum gate che svolge un ruolo importante per la computazione dell'algoritmodi Shor è la trasformata quantistica di Fourier QFT che, come vedremo nella prossimasezione, sarà possibile implementarla tramite porte Hamard e phase-shift controllate.

Anno accademico 2015/2016 Tesi di Enrico Vignola

39

4.3.1 Trasformata quantistica di Fourier

La Trasformata Quantistica di Fourier, QFT, agisce in uno spazio HM in accordo alleseguenti regole: per ogni elemento di base |j〉 ∈ |0〉 , . . . ,

∣∣2M − 1⟩ di HM associamo

|j〉 −→ QFT (|j〉) = 1

2M/2

2M−1∑k=0

e2πijk/2M |k〉 . (4.3.8)

Questo signica che per un arbitrario |ψ〉 =2M−1∑i=0

xi |i〉 ∈ HM

QFT (|ψ〉) =2M−1∑k=0

yk |k〉 tale cheyk =1

2M/2

2M−1∑j=0

xje2πijk/2M |k〉 , (4.3.9)

come si può vedere applicandola a ciascun |i〉 dell'espansione di |ψ〉. In altri termini, inuovi coecienti yk dei vettori di base sono dati dalla Trasformata Discreta di Fourierdelle ampiezze dello stato dato |ψ〉.In HM la QFT dello stato fondamentale |0〉 è

QFT (|0〉) = 1

2M/2

2M−1∑k=0

|k〉 . (4.3.10)

La trasformazione

QFT (|ψ〉) =2M−1∑k=0

yk |k〉 . (4.3.11)

è di certo unitaria, e la sua inversa è facilmente calcolabile considerandone l'aggiunta dellatrasformazione

|j〉 −→ QFT †(|j〉) = 1

2M/2

2M−1∑k=0

e−2πijk/2M |k〉 . (4.3.12)

La QFT mappa la base canonica in nuovi stati separabili (non entangled), cioè che assu-mono una forma fattorizzata. Allo scopo di vedere ciò, prima di tutto ricordiamo che lostato |j〉 ∈ HM è la notazione compatta di uno stato di base a M qubit. Richiamiamo lanotazione binaria di questo stato

|j〉 = |jM , . . . , j2, j1〉 , tale che j =M∑k=1

jk2k−1. (4.3.13)

Quindi la applicando la QFT allo stato |j〉 così denito si ha:

QFT (|j〉) = 1

2M/2

2M−1∑k=0

e2πijk/2M |k〉 =

=1

2M/2

1∑k1=0

· · ·1∑

kM=0

|kM , . . . , k1〉 e2πij

M∑l=1

2−lkM+1−l=

Anno accademico 2015/2016 Tesi di Enrico Vignola

40

=1

2M/2

M⊗l=1

1∑kM+1−l=0

|kM+1−l〉 e2πijkM+1−l2−l

=

=1

2M/2

M⊗l=1

[|0〉+ e2πij2

−l |1〉]. (4.3.14)

L'ultima espressione può essere manipolata, ricorrendo alla decomposizione binaria del-l'intero j, così che

e2πij2−l

= eπi

l∑m=1

jm2m−l

, (4.3.15)

tutti gli altri contributi pari a 1. Così, nell'espressione fattorizzata (4.3.14), ogni qubit |1〉apparirà con uno specico fattore di fase

QFT (|j〉) = 1

2M/2(|0〉+ eπij1 |1〉)

⊗(|0〉+ eπi(j2+

j12) |1〉

)⊗· · ·

· · ·⊗(

|0〉+ e−πi∑m=1M jm2m−M |1〉

). (4.3.16)

Consideriamo il caso più semplice della QFT in H2. Lo stato generico su cui agisce QFTè |j2j1〉. Il nostro obiettivo è quello di manipolare gli stati in modo da ottenere la formafattorizzata

QFT (|j2, j1〉) =1

2

(|0〉+ eπij1 |1〉

)⊗(|0〉+ eπi(j2+

j12) |1〉

). (4.3.17)

Quindi, l'obiettivo è quello di prendere i valori di ji e metterli nei fattori di fase avanti a|1〉.L'azione della porta logica Hadamard sul primo qubit fornisce

Had2 |j2〉 =1

21/2(|0〉+ eπij2 |1〉

), (4.3.18)

che contiene l'informazione richiesta riguardo j2. Ora, allo scopo di "leggere" j1 usiamouna porta logica di fase controllata su |j1〉, generata da

S1 =

(1 00 eiπ/2

). (4.3.19)

Poi, in accordo ai valori j1 = 0, 1, il fattore di fase avanti a |2〉 nel primo qubit èincrementato di eij1π/2, cioè si ha

C − S1,2 Had2 |j2〉 |j1〉 =1

21/2

(|0〉+ eπi(j2+j12

−1 |1〉)|j1〉 , (4.3.20)

dove gli indici indicano i qubit su cui le porte agiscono. Ora una seconda porta diHadamard applicata su |j1〉 fornirà

Had2 |j1〉 =1

21/2(|0〉+ eπij1 |1〉

), (4.3.21)

così si avrà lo stato

Had1 C − S1,2 Had2 |j2〉 |j1〉 =1

2

(|0〉+ eπi(j2+j12

−1 |1〉) (|0〉+ eπij1 |1〉

). (4.3.22)

Anno accademico 2015/2016 Tesi di Enrico Vignola

41

Nell'espressione (4.3.22) l'ordine dei fattori è invertito rispetto alla (4.3.17). Il riordi-namento può essere ottenuto con una applicazione nale della porta logica Swap. Inconclusione, l'operatore che sviluppa la QFT su H2 è

Swap12 Had1 C − S1,2 Had2 |j2〉 |j1〉 . (4.3.23)

Equivalentemente possiamo scriverlo in forma matriciale:

QFT2 =1

2. (4.3.24)

Il circuito QFT in H2

4.3.2 Sequenza di operazioni per la ricerca del periodo

Dopo l'introduzione di questo operatore, siamo in grado di dare uno schema dell'algoritmodi Shor.

1. Prima di tutto inizializziamo sia il registro-x sia il registro-y allo stato fondamentale|0, . . . , 0〉︸ ︷︷ ︸

M

⊗|0, . . . , 0〉︸ ︷︷ ︸

L

. Allo scopo di portare il registro-x in una sovrapposizione di

2M stati con ugual ampiezza di probabilità, occorre applicare la porta logica diHadamard ad ognuno degli M qubit del registro-x (o equivalentemente la QFT sullostato |0〉). La potenza tensoriale M -esima della porta di Hadamard H

⊗M allo stato

|0, . . . 0〉 a M qubit darà:

Had⊗M |0, . . . , 0〉 = Had |0〉

⊗. . .⊗

Had |0〉 =

=|0〉+ |1〉√

2

⊗. . .⊗ |0〉+ |1〉√

2=

1

2M2

2M−1∑k=0

|k〉 , (4.3.25)

dove |k〉 denota l'k-esimo vettore di base dello spazio di HilbertHM = Span|0〉 , |1〉 ,. . . ,

∣∣2M − 1⟩.

Anno accademico 2015/2016 Tesi di Enrico Vignola

42

Quindi l'applicazione della porta di Hadamard allo stato inizializzato, produrrà lostato

Had⊗M |0〉 |0〉 = 1

2M2

2M−1∑k=0

|k〉 |0〉 . (4.3.26)

2. In secondo luogo, applicando l'operatore Ua, sopra denito, allo stato (4.3.26) siottiene

UaHad⊗M |0〉 |0〉 = 1

2M2

2M−1∑k=0

|k〉∣∣ak(mod N)

⟩. (4.3.27)

Grazie al parallelismo quantistico, questa procedura è fatta in uno step.

3. Ora bisogna eettuare una misurazione sul registro-y, e supponiamo di osservare unparticolare intero Ka, con 0 ≤ Ka ≤ N − 1. A causa dell'eetto di riduzione delpacchetto d'onda, lo stato ottenuto, opportunamente normalizzato, è:

|ψKa〉 =

(1√#Ia

∑h∈Ia

|h〉

)|Ka〉 , (4.3.28)

dove Ia è il sottoinsieme degli interi in 0,...,2M − 1, tale che ah(mod N) = Ka e#Ia è la sua cardinalità. L'osservazione cruciale è che nello stato |ψKa〉 due stati,chiamati h e h

′, dieriscono per un multiplo intero del periodo r dell'esponenziazione

modulare ak(mod N). Così l'indice h assume valori della forma

h = h0 + jr, (4.3.29)

dove h0 è il più piccolo intero tale che

ah0(mod N) = Ka e 0 ≤ j ≤ #Ia − 1, (4.3.30)

per cuihmax = h0 + (#Ia − 1)r ≤ 2M − 1. (4.3.31)

Tale periodicità quantica può essere rilevata tramite la QFT.

4. Infatti, applicando la QFT al registro-x, e esplicitando la formula ((4.3.8)), dopouno scambio dell'ordine delle sommatorie si ottiene

QFTx |ψKa〉 =2M−1∑l=0

(1√#Ia

1

2M/2

∑h∈Ia

e2πihl/2M

)|l〉 |Ka〉 . (4.3.32)

5. Una nuova misurazione sul registro-x ci darà di nuovo un intero m con 0 ≤ m ≤2M − 1, con la probabilità

P (m) =1

2M#Ia

∣∣∣∣∣∑h∈Ia

e2πihm/2M

∣∣∣∣∣2

. (4.3.33)

Anno accademico 2015/2016 Tesi di Enrico Vignola

43

Allo scopo di valutare questa probabilità, prima di tutto osserviamo che per un Mabbastanza grande, vale la seguente approssimazione

#Ia ' #Ia − 1 ' hmaxr' 2M−1

r, (4.3.34)

cosicché per il prefattore contenuto nella formula della probabilità (4.3.33)

1

2M(#Ia)' r

22Mper M −→∞. (4.3.35)

approssimazione valida per grandi M.

Inoltre, il fattore e2πih0m

2M è comune a tutti i termini della sommatoria e quindi puòessere portato fuori dal segno di sommatoria, dando 1 con l'operazione modulo qua-dro.Inne, la quantità mr

2Mè equivalente a mr(mod 2M )

2Mpoiché una eventuale parte intera

fornirà una fase multipla di 2π.In conclusione, si ottiene un'approssimazione asintotica, per grandi M, della proba-bilità di misurare m sullo stato QFTx |ψKa〉

P (m) ' r

22M

∣∣∣∣∣jmax∑j=0

e2πijmr(mod 2M )

2M

∣∣∣∣∣2

, (4.3.36)

dove jmax è denito dalla relazione 0 ≤ j ≤ #Ia − 1. Una stima di questo valore èjmax ' 2M

r− 1, che è esatto quando r divide 2M e h0 = 0. Questa distribuzione di

probabilità ha la proprietà di avere picchi molto stretti intorno a certi valori specialidim. Per esempio, analizziamo i graci riportati in Fig. 1,2,3. Da questi pochi esempidovrebbe essere chiaro che l'interferenza dei vari contributi degli stati QFT portaa modelli di distribuzione di probabilità che sono signicativamente diversi da zerosoltanto per valori speciali di un intero m. Inoltre, aumentando il numero M di qubitusati nel registro-x, i picchi di probabilità sono sempre più netti.

Figura 1: La distribuzione di probabilità P(m) di misurare 0 ≤ m ≤ 15 sui 4 qubit QFTdel registro-x della funzione 3x(mod 4), se sul registro-y abbiamo misurato 1.

Anno accademico 2015/2016 Tesi di Enrico Vignola

44

Figura 2: La distribuzione di probabilità P(m) di misurare 0 ≤ m ≤ 15 sui 4 qubit QFTdel registro-x della funzione 3x(mod 4), se sul registro-y abbiamo misurato 3.

Figura 3: La distribuzione di probabilità P(m) di misurare 0 ≤ m ≤ 511 sui 9 qubit QFTdel registro-x, se r = 10 e jmax = 50. In a) abbiamo riportato tutti i dati, ma soltanto 10sono picchi molto stretti messi in evidenza. In b) diamo alcuni dettagli sui valori assuntidalla maggior parte dei punti. Il lettore dovrebbe apprezzare la dierenza di scala tra idue graci. Inne, evidenziamo i due picchi estremamente stretti intorno a m = 0, 256.

Anno accademico 2015/2016 Tesi di Enrico Vignola

45

La prima domanda che ci poniamo è per quali valori di m si verica l'interferenzacostruttiva. Certamente per m = 0, ma questo è irrilevante per il nostro obiettivo.Meno banale è la condizione per cui mr (mod 2M) = 0. Questa condizione saràsoddisfatta per situazioni speciali in cui r divide esattamente 2M .E' chiaro che i principali contributi provengano dai termini tali che mr (mod 2M)varia molto poco intorno a 0, così che loro possano sommarsi costruttivamente. Così,limitiamo i calcoli a quegli m che soddisfano la restrizione

−r2≤ mr (mod 2M) ≤ r

2. (4.3.37)

Ci sono esattamente r valori di m mod 2M che soddisfano la relazione (4.3.37).Per la classe degli interi m che soddisfano questa relazione, possiamo valutare laprobabilità P (m) per grandi M attraverso i metodi asintotici.Mettiamoci nel caso mr (mod 2M) = r

2. Quindi il valore assoluto al quadrato della

relazione (4.3.36) diventa:∣∣∣∣∣∣2M

r−1∑

j=0

e2πijr

2M+1

∣∣∣∣∣∣2

=

∣∣∣∣∣∣2M

r−1∑

j=0

(ei

πr

2M

)j∣∣∣∣∣∣2

=

∣∣∣∣∣∣1− ei πr2M

2M

r

1− eiπr

2M

∣∣∣∣∣∣2

=

=4∣∣∣1− ei πr2M

∣∣∣2 '4∣∣i πr2M

∣∣2 =4 · 22M

π2r2. (4.3.38)

Quindi la probabilità (4.3.36) diventa:

P (m) ' r

22M

∣∣∣∣∣jmax∑j=0

e2πijmr(mod 2M )

2M

∣∣∣∣∣2

=r

22M· 4 · 2

2M

π2r2=

4

π2r, (4.3.39)

6. Ora supponiamo di aver avuto il valore m dalla misurazione del registro-x a M qubitpreparato attraverso questa procedura. La probabilità che una misurazione ci oraproprio un valore m che soddisfa la (4.3.37) è superiore a 4

π2 . Quindi un numerosuciente di misurazioni ci garantisce di individuare un valore di m "vicino" adun multiplo di r ovvero che soddis la condizione (4.3.37). Adesso non ci resta chedesumere il valore di r da quello dim. Per fare ciò notiamo che la condizione (4.3.37)può essere espressa nella forma∣∣∣mr −m′(2M − 1)

∣∣∣ ≤ r

2, (4.3.40)

per qualche 0 ≤ m′ ≤ r − 1. Gli r dierenti valori di m

′sono associati con gli

r possibili valori di m per cui la probabilità di osservare un valore m′è anch'essa

superiore a 4π2 . L'equazione (4.3.40) può essere riscritta come∣∣∣∣ m

2M − 1− m

r

∣∣∣∣ ≤ 1

2(2M − 1), (4.3.41)

dove m ed M sono noti e r ≤ N e, ricordando che 2M − 1 è il numero di vettoridella base computazionale, possiamo dotare il nostro sistema di un numero di qubit

Anno accademico 2015/2016 Tesi di Enrico Vignola

46

suciente a garantire N2 ≤ 2M − 1. Questa condizione ci garantisce l'esistenza di

un'unica frazione m′

r, il cui denominatore è al più uguale a N, che soddisfa l'equa-

zione (4.3.41). Questa frazione può essere determinata in maniera eciente usandoil metodo dello sviluppo nito in frazioni continue per determinare un convergentedi m

2M−1 . E' dimostrato che se α è un numero razionale, esiste solo un numero nito

di approssimazioni razionali pqtali che

∣∣∣α− pq

∣∣∣ ≤ 1q2.

SeMCD(m′, r) = 1, otteniamo subito r, viceversa potremo ripetere il procedimento

un numero suciente di volte per ottenere r e, conseguentemente, un fattore di N .Dalla teoria dei numeri sappiamo che il numero di primi inferiori ad r è dato da

]primi ≤ r ≈ r

ln r(4.3.42)

otteniamo quindi (m′ ≤ r − 1):

ProbMCD(m′, r) = 1 ≥ Probm′ primo = ]primi ≤ r

r≈

≈ 1

ln r≥ 1

lnN=

1

ln 2 log2N(4.3.43)

ricordando che r < N ⇔ ln r < lnN . Ripetendo l'algoritmo di ricerca del periodo dir un numero di volte dell'ordine O(log2N) otteniamo, nella misura di m, un valoredi m

′coprimo con r con una probabilità prossima a 1. Precisamente, combinando

tutte le probabilità otteniamo che il procedimento, nel suo complesso, garantisce ilrisultato con probabilità superiore a 4

π2 lnN.

L'algoritmo di Shor è rappresentato dal circuito quantistico in gura.

Figura 4: Il circuito quantistico dell'algoritmo di Shor

Abbiamo così trovato un algoritmo quantistico capace di determinare la periodicità diuna funzione in un totale di O(M4) operazioni, suddivise nel modo seguente:

O(M) operazioni per il parallelismo quantistico (incluso H⊗M);

O(M2) operazioni per la Quantum Fourier Transform;

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

Classicamente per determinare il periodo di una funzione è necessario un numero di ope-razioni dell'ordine O

(2M), questo per il semplice fatto che per determinare due valori

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

quantistico velocizza drasticamente il processo, passando da un ordine esponenziale aduno polinomiale.

Anno accademico 2015/2016 Tesi di Enrico Vignola

47

4.4 Esempio: fattorizzazione di 39

Procediamo ora ad illustrare un esempio concreto di come lavora l'algoritmo di Shor.Supponiamo di voler fattorizzare il numero 39 (quindi N = 39) e scegliamo a = 5 che ècoprimo a 39. Calcoliamo la funzione f(x) = 5x mod 39 per alcuni valori di x, ottenendola tabella:

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'algoritmodi Shor. Per far ciò, poichè N2 = 392 = 1521, scegliamo M = 10, di modo che 210 =1024 = O(N2).Lo stato iniziale è quindi:

|ψ0〉 = |0〉⊗

10 |0〉

Dopo aver applicatola porta di Hadamard abbiamo:

|ψ1〉 = H⊗

10 |ψ0〉 = H⊗

10 |0〉⊗

10 |0〉 = 1

32

1023∑x=0

|x〉 |0〉

In seguito calcoliamo U5 |ψ1〉, che dà:

|ψ2〉 = U5 |ψ1〉 =1

32

1023∑x=0

|x〉 |5x mod 39〉 =

=1

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

Adesso misuriamo lo stato del registro-y e otteniamo con uguale probabilità uno deirisultati 1, 5, 25, 8. In base al risultato della misurazione il registro-x è perciò uno deiseguenti:

Anno accademico 2015/2016 Tesi di Enrico Vignola

48

Supponiamo di trovare il valore 1, ci ritroviamo quindi nello stato |ψ1〉.Ora, non rimane che applicare la trasformata di Fourier quantistica QFT :

QFT |ψ1〉 =1

16(QFT |0〉+QFT |4〉+QFT |8〉+QFT |12〉+ .......+QFT |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〉)

Eettuando 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 probabilità di 1

4) 0,

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

= 5121024

:

512

1024= 0 +

1

2≡ [0, 2] =

1

2

Abbiamo quindi trovato r = 2. Ma sappiamo benissimo che invece r = 4. L'algoritmoè infatti di tipo probabilistico e nchè non otterremo come risultato della misurazionenale 256 o 768, il periodo risulterà essere sbagliato. In eetti, se utilizziamo r = 2 perproseguire attraverso la parte classica, abbiamo 5

22 − 1 = 4 e 5

22 + 1 = 6, il che signica:

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 avutoesito positivo. In questo caso occorre ripetere un'altra volta l'algoritmo.Ammettiamo che ora, dopo aver eseguito una seconda volta l'algoritmo, ci ritroviamo conla misurazione nale che dà come risultato 768, il cui sviluppo in frazione continua è:

Anno accademico 2015/2016 Tesi di Enrico Vignola

49

768

1024= 0 +

1

1 +1

3

≡ [0, 1, 3] =3

4

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

dell'algoritmo è soddisfatto. Non ci resta che calcolare il massimo comune divisore tra5

42 − 1 = 24 e 39, nonchè tra 5

42 + 1 = 26 e 39.

Grazie all'algoritmo di Euclide otteniamo:

39 mod 24 = 1524 mod 15 = 915 mod 9 = 69 mod; = 36mod 3 = 0

p =MCD(24, 39) = 3

39 mod 26 = 1326 mod 13 = 0

q =MCD(26, 39) = 13

N = pq = 39 = 3× 13

Abbiamo inne trovato, dopo due iterazioni dell'algoritmo, lo sviluppo in fattori primi di39.

4.5 Protocollo RSA

Il protocollo RSA (acronimo formato dalle iniziali dei suoi ideatori: Ron Rivest, AdiShamir e Len Adleman, [19]) è un sistema crittograco a chiave pubblica che permette adoggi la trasmissione di messaggi in modo sicuro.Questo funziona come segue:

1. Bob sceglie due numeri primi abbastanza grandi p e q e calcola N = pq;

2. Bob genera un numero casuale d tale che MCD[d, (p− 1)(q − 1)] = 1;

3. Bob calcola e = 1/[d mod (p− 1)(q − 1)];

4. Bob pubblica la coppia (e,N). Questa è la chiave pubblica con cui si può criptareun messaggio;

5. (d,N) è la chiave privata che possiede solo Bob. Solo con questa chiave si puòdecriptare il messaggio;

6. Alice divide il messaggio da inviare a Bob in blocchi. Ogni blocco uguale corrispondead un numero bi < N . Ogni bi è criptato calcolando b

′i = bei mod N ;

Anno accademico 2015/2016 Tesi di Enrico Vignola

50

7. Bob decripta il messaggio calcolando bi = b′di mod N .

Questo algoritmo si basa sull'impossibilità per un computer classico di fattorizzare intempi brevi un numero N a 1024 bit o maggiori. Infatti potendo risalire ai fattori p e qsarebbe possibile ottenere la chiave privata (d,N).Come si è mostrato in precedenza, un computer quantistico sarebbe in grado di risolveretale problema in tempi brevi. Dunque il protocollo RSA è un sistema crittograco chenon può garantire la segretezza di un messaggio a lungo termine, ma no a quando nonsarà costruito un computer quantistico capace di processare l'algoritmo di Shor.

Anno accademico 2015/2016 Tesi di Enrico Vignola

Capitolo 5

Dalla teoria alla pratica: realizzazione

sica dei computer quantistici

5.1 Tecnologie per realizzare un computer quantistico

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 funzionaresui principi della sica quantistica.Di seguito elencheremo una serie di metodi utilizzati per realizzare sperimentalmente unqubit e le porte logiche quantistiche.

5.1.1 Fotoni

Uno dei metodi più interessanti per realizzare un qubit è l'utilizzo della polarizzazionedel fotone. Infatti è possibile considerare tale metodo uno dei pochi in cui la decoerenzaaigge relativamente poco lo stato del sistema quantistico.A livello ottico un beam-splitter può certamente essere considerato un'implementazionedi una porta Hadamard.Un computer quantistico scalabile è realizzabile seguendo lo schema KLM (Knill-Laaamme-Milburn) [20] che prevede di usare solo sorgenti e rivelatori di fotone singolo, e circuitiottici lineari.Per i singoli fotoni sono usati rivelatori che, utilizzando nanoli superconduttori di NbN,raggiungono un'alta ecienza.Uno dei tipi di sorgente utilizzabile può essere una cavità ottica che emette un singolo

51

52

fotone dalla transizione da uno stato eccitato allo stato fondamentale. Per realizzare leporte logiche si utilizzano circuiti a guida d'onda in silicio [21, 22].

5.1.2 Ioni intrappolati

Per molti anni il metodo degli ioni intrappolati [23] è stato considerato come il can-didato più promettente per realizzare un computer quantistico, e tuttora la ricerca staandando avanti a pieno ritmo, anche se le aspettative sono state leggermente ridimensio-nate. Comunque, le tecniche sviluppate per controllare e manipolare gli stati quantisticidi singoli ioni da sole rappresentano un importante progresso scientico, e nel 2012 i siciDavid Wineland e Serge Haroche sono stati onorati col premio Nobel per la sica per leloro scoperte in questo campo.Eccellenti proprietà di coerenza sono raggiunte dai livelli energetici degli atomi. Per questomotivo i livelli energetici di sistemi atomici intrappolati ed isolati sono usati come qubit.Apposite interazioni fra gli atomi permettono la realizzazione di stati entangled e dellerelative porte logiche.Lo stato iniziale è preparato tramite pompaggio ottico, mentre la misura dello stato èfatta tramite la rivelazione di uorescenza ottica.L'hardware è costituito da una stringa di ioni connati da campi elettrici, o da un arraydi atomi neutri, connati nello spazio da un reticolo di raggi laser incrociati.La seconda soluzione risulta migliore per quanto riguarda l'ecienza di controllo dellostato iniziale, dell'interazione e della misura dei quibit atomici.Il vero aspetto critico di questa tecnologia è la scalabilità dell'hardware che richiede un'ar-chitettura più complessa per preservare il controllo dei qubit per sistemi atomici semprepiù grandi: è in questa direzione che si concentreranno i futuri lavori di ricerca per questatecnologia.

La trappola di Paul

La storia della computazione quantistica con ioni intrappolati iniziò nel 1995, quando ilsico teorico austriaco Peter Zoller e il suo collega spagnolo Ignacio Cirac pubblicaronoun articolo di ricerca [24] di sole quattro pagine, ma che diede inizio a un campo di ricercache negli anni successivi avrebbe attratto centinaia di ricercatori.Nel loro articolo i due sici proposero un approccio alla computazione quantistica nelquale si usano degli atomi carichi, gli ioni, che vengono tenuti fermi nello spazio da campielettrici. Gli stati quantistici necessari per realizzare dei qubit sono quelli degli elettroni

Anno accademico 2015/2016 Tesi di Enrico Vignola

53

dello ione, simili a quelli di un atomo neutro. Con fasci laser i singoli ioni possono poiessere controllati per eseguire delle porte quantistiche.Il fatto per cui vengono utilizzati degli ioni in luogo di atomi neutri è che la forza esercitatada un campo elettrico su uno ione è superiore di diversi ordini di grandezza a quella che ungradiente di campo magnetico praticamente realizzabile in un laboratorio può esercitaresu di un atomo neutro. Eettuando un rapido calcolo con dei valori tipici per i campi e peril momento di dipolo magnetico degli un atomi è possibile valutare l'ordine di grandezzadelle forze subite nei due casi. Se E = 105 V/m si ha:

Fion = eE ∼ 10−14N

mentre, con dB/dz = 10T/m si trova:

Fneutral = µB

∣∣∣∣dBdz∣∣∣∣ ∼ 10−22N

Ne concludiamo che la forza elettrica è 108 volte maggiore. Inoltre, scegliendo i livelliquantistici giusti dello ione si possono realizzare qubit con tempi di coerenza lunghissimi,no a diversi secondi.Dall'elettrostatica sappiamo che è impossibile creare un campo elettrico capace di darluogo ad una zona di equilibrio stabile nello spazio. Questo risultato è a volte chiamatoTeorema di Earnshaw. E' perciò impossibile che il potenziale elettrostatico presenti unaposizione di minimo locale.Quello da usare per connare gli ioni deve essere dunque un campo elettromagneticovariabile: sono utilizzati solitamente campi a radiofrequenza.Una possibile geometria di connamento è quella ideata da Wolfgang Paul, detta perl'appunto Trappola di Paul. Per introdurla consideriamo dapprima un parallelo meccanico:una palla posta sopra una sella di equazione:

z =k

2(x2 − y2)

Una pallina posata su una sella è intrappolata nella direzione longitudinale, nella quale lasella è rialzata, ma può facilmente scappare lateralmente. Se la sella viene montata su unpalo ruotante, invece, ogni volta che la pallina inizia a scappare lateralmente, la posizionedella sella è già cambiata ed a questo punto la pallina vede davanti a se la parte rialzatadella sella. In questo modo, la pallina è eettivamente intrappolata in tutte le direzioni.Quindi ricapitolando: è' possibile provare, anche sperimentalmente, che ruotando la sellaad una velocità opportuna la palla vi rimane intrappolata e sebbene la sua posizione media

Anno accademico 2015/2016 Tesi di Enrico Vignola

54

rimanga costante, la palla subisce dei moti oscillatori attorno alla posizione di equilibrio.Uno ione intrappolato in un campo a radiofrequenza è un sistema molto simile a quelloappena descritto.

Quattro elettrodi sono disposti parallelamente all'asse z del sistema di riferimento. Duedi essi, distanti 2r0 (r0 è la posizione di equilibrio) tra loro, sono posizionati in corrispon-denza dell'asse x; gli altri due si trovano sull'asse y, distanti 2r0 sempre tra loro. Fra ledue coppie di elettrodi si mantiene una dierenza di potenziale variabile V = V0 cosΩt aradiofrequenza.Quindi l'equivalente di una sella nel caso di campi elettrici è un cosiddetto campo qua-drupolare, formato da questi quattro elettrodi con segno alternato del potenziale. La"rotazione" della sella è provocata da una variazione periodica dei segni del potenziale,con il risultato che una carica posta in una tale trappola dinamica rimane ferma (a partedelle piccole oscillazioni note come micromoto). In questo modo si possono intrappolaree studiare piccoli oggetti come grani di polvere, ma anche elettroni o appunto ioni.Una volta intrappolato in una trappola di Paul, uno ione non può essere usato subitocome qubit per la computazione quantistica. Tipicamente gli ioni vengono intrappolati daun gas a temperatura ambiente, il che vuol dire che possiedono un'elevata energia cineticae che una volta intrappolati oscilleranno dentro la trappola. Questo moto incontrollatorende dicile un controllo accurato dello ione, ed è quindi necessario ridurlo. Ridurre lavelocità media di un gas, ovviamente, signica rareddarlo.Il rareddamento viene eettuato tramite dei fasci laser [25, 26]. In un primo passo vie-ne usato il "rareddamento Doppler", così chiamato perché sfrutta l'eetto Doppler quell'eetto che si conosce bene dall'apparente variazione in frequenza della sirena di unambulanza che si avvicina oppure allontana. Per rallentare il moto degli ioni viene usatoun eetto simile: un fascio laser che incide su un ione con una frequenza leggermente piùbassa di quella risonante tra due stati quantistici dello stesso viene assorbito più facil-mente da uno ione che si sta muovendo verso il fascio. In questo caso, lo ione "vede" unafrequenza un po' più alta e quindi più vicina a risonanza. Viceversa, uno ione che si staallontanando dal fascio laser vede una frequenza più bassa e quindi ancora più lontanadalla risonanza. Se ora teniamo conto del fatto che ogni volta che uno ione assorbe unfotone del fascio laser subisce un piccolo urto nella direzione opposta, vediamo subitoche se illuminiamo lo ione da tutte le direzioni spaziali esso sentirà una forza rallentantedovunque si muova, come se si muovesse in un liquido viscoso (si parla anche di "melassaottica"). In questo modo, e usando altre tecniche simili e ancora più sosticate, è possibilerareddare uno ione no a raggiungere lo stato quantistico più basso possibile. Partendo

Anno accademico 2015/2016 Tesi di Enrico Vignola

55

da un tale stato, già nel 1995 David Wineland riuscì a realizzare una porta CNOT con unsingolo ione intrappolato (usando come primo qubit lo stato quantistico dell'elettrone ecome secondo qubit quello del moto dello ione). Da allora numerosi gruppi di ricercatorihanno sviluppato delle tecniche sempre più avanzate. Nel 2003 all'Università di Innsbruckin Austria fu realizzata una porta CNOT seguendo l'approccio di Zoller e Cirac del 1995.In quell'esperimento vennero usati due ioni dentro una trappola di Paul che si potevanoindirizzare separatamente con due fasci laser. Da allora, i sici sono riusciti anche ad im-plementare dei semplici algoritmi quantistici, come per esempio l'algoritmo di Deutsch.Per poter implementare algoritmi più complicati, ad esempio quello di Shor per numerigrandi, uno degli ostacoli principali è la scalabilità. Mentre no ad una mezza dozzina diioni possono essere intrappolati e manipolati dentro una trappola di Paul senza problemi,non è per niente banale aumentare questo numero no a decine o centinaia di ioni. Unapproccio studiato negli ultimi anni risolve questo problema usando delle trappole suddi-vise in vari segmenti, ciascuna dei quali contiene circa dieci ioni. Il calcolo quantistico puòessere eettuato agendo su un segmento alla volta, con trasporto degli ioni tra i segmentinelle varie fasi dell'algoritmo.

5.1.3 Atomi in reticoli ottici

Come abbiamo visto, la realizzazione di un computer quantistico con ioni intrappolatiha come limitazione principale la scarsa scalabilità. Questa limitazione può essere supe-rata in parte usando atomi neutri che vengono intrappolati dentro dei "cristalli di luce"creati da fasci laser sovrapposti che creano interferenza. Tali reticoli ottici intrappolanogli atomi sfruttando la forza della luce (nota come forza dipolare), e la scelta libera dellageometria dei fasci laser permette di creare delle strutture spaziali a piacere, per esempiocristalli tridimensionali.Possiamo pensare questi atomi simili a uova posizionati nel loro tipico cartone. In que-sto modo e controllando la profondità delle buche del cartone-reticolo i sici riescono dapochi anni a simulare e quindi studiare fenomeni quantistici molto complessi come, peresempio, la transizione da uno stato isolante (tutti gli atomi intrappolati nelle buche) aduno superuido (tutti gli atomi liberi di muoversi senza dissipazione saltando da una bu-ca all'altra). In queste strutture possono essere intrappolati milioni di atomi che possonoessere usati come qubit. I sici chiamano questi sistemi simulatori quantistici e sanno cherappresentano una nuova frontiera della sica moderna. Il problema principale, al momen-to attuale, sta nel realizzare porte quantistiche con due o più qubit. Per implementare tali

Anno accademico 2015/2016 Tesi di Enrico Vignola

56

porte è necessaria una interazione tra i qubit, che nel caso di ioni è data dall'interazioneelettrostatica ma è assente per atomi neutri. Un approccio studiato negli ultimi anni usastati altamente eccitati, noti anche come stati di Rydberg, per indurre un'interazione fortetra atomi adiacenti nel reticolo.Il gruppo Lens di Firenze lavora da anni sugli atomi ultrafreddi in reticoli ottici.

5.1.4 Risonanza magnetica nucleare

Uno dei primi approcci sperimentali alla computazione quantistica è stata la risonanzamagnetica (NMR).In questo caso l'hardware è costituito da un liquido contenente un gran numero di mole-cole (dell'ordine di 1018), immerso in un forte campo magnetico statico. Un qubit è lo spindi un nucleo di una molecola, mentre le porte quantistiche sono implementate median-te campi magnetici oscillanti risonanti (impulsi Rabi), utilizzando tecniche di risonanzamagnetica nucleare (NMR). Questa tecnica [27], molto diusa nella diagnostica, usa deicampi elettromagnetici per invertire la direzione dello spin del nucleo di un atomo den-tro una molecola. La frequenza caratteristica per questa inversione dipende sia dallo spinstesso che anche dagli spin nucleari di altri atomi nella molecola. Mentre in diagnosticaquesta dipendenza viene sfruttata per distinguere diverse molecole, nell'ambito della com-putazione quantistica queste interazioni spin-spin fra atomi vicini si usano per eseguireporte quantistiche, sia su un qubit che su due qubit.Le molecole sono preparate in uno stato di equilibrio termico e si misura lo stato mediodegli spin di tutte le molecole, considerate indipendenti le une dalle altre. Con esperimentiNMR, è stato possibile dimostrare sperimentalmente diversi algoritmi quantistici.Nel 2001 è stato implementato l'algoritmo di Shor per fattorizzare il numero 15 usandomolecole in cui gli spin nucleari di 5 atomi di uoro e 2 due di carbonio fungevano daqubit. Per fattorizzare numeri più grandi bisognerebbe aumentare di ordini di grandezza

il numero di spin contenuti in una molecola, il che richiederebbe la sintesi controllata dimolecole contenenti migliaia di atomi. Al momento attuale questa non sembra essere pos-sibile, e per questo motivo la risonanza magnetica non viene più considerata una tecnicaadatta per la realizzazione di computer quantistici.Attualmente si ritiene possibile che si arrivi a realizzare un computer NMR con non piùdi 6 qubit. Allo stato liquido la computazione NMR non è scalabile.Sebbene un sistema del genere non permetta di sfruttare al completo le potenzialità del-la computazione quantistica, consentirebbe tuttavia di risolvere interessanti problemi esembra più a portata di mano delle altre idee proposte.

5.1.5 Stato solido

Riguardo alla computazione quantistica dello stato solido sono state avanzate diverseproposte. Infatti nel corso degli anni si è sviluppata una sosticata tecnologia volta alla

Anno accademico 2015/2016 Tesi di Enrico Vignola

57

creazione di strutture articiali e dispositivi su scala nanometrica. Uno degli aspetti piùpromettenti di questa tecnologia è l'oerta di una soluzione naturale al problema dellascalabilità: si può beneciare delle tecniche di fabbricazione della microelettronica.Quantum dots : sono strutture fabbricate con i semiconduttori, in cui i potenziali elettro-statici connano elettroni. La dimensione dei dot quantici è fra i dieci nanometri ed unmicron. Il qubit è rappresentato dallo spin di un elettrone connato in un punto quan-tico. Le operazioni quantistiche fra due qubit avvengono tramite "gating" della barrieraelettrostatica fra due punti quantici. L'abbassamento o l'innalzamento di questa barrieracorrisponde rispettivamente alla modalità "on-o" di interazione di due qubit.Per poter fare computazione quantistica con gli elettroni in quantum dots, bisogna dimo-strare che è possibile implementare la porta CNOT oppure un'altra porta logica universalea due qubit oltre alla manipolazione di un singolo qubit. In esperimenti recenti questo èstato fatto, e sono stati misurati dei tempi di coerenza di alcuni microsecondi.In linea di principio la scalabilità è possibile per la produzione di array di dot quantici.Tuttavia il vero problema è la varietà di processi di decoerenza che avvengono in questidispositivi: la ricerca per questo tipo di tecnologia è principalmente concentrata sulla so-luzione di tale problema.

Spin nei semiconduttori : recentemente ideato, il metodo dello spin nucleare basato sullatecnologia al silicio [28] permette di creare dispositivi per la computazione quantisticaimpiegando la tecnologia dello stato solido, già utilizzata con enorme successo nella tec-nologia di produzione elettronica.L'idea consiste nell'integrare gli spin nucleari in un dispositivo elettronico e rilevarli conopportune tecniche di controllo. Gli spin elettronici e nucleari sono accoppiati mediantel'interazione iperne. Avendo le condizioni adatte, è possibile eettuare un trasferimentodi polarizzazione tra due spin, il chè permetterebbe di rilevare lo spin nucleare attraversoi suoi eetti 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 codicata negli spin nucleari degliatomi donor, posti in dispositivi al silicio opportunamente preparati. Applicando campielettrici esterni sarebbe possibile eettuare operazioni logiche sugli spin e le misurazio-ni verrebbero eseguite usando correnti di elettroni polarizzati di spin. La caratteristicavincente di questo sistema è però il fatto che riesca a limitare il fenomeno decoerenza

Anno accademico 2015/2016 Tesi di Enrico Vignola

58

dei qubit: infatti questi ultimi sono ben isolati dal sistema e quindi privati di ogni gradodi libertà che potrebbe provocare il fenomeno. Inoltre, a concentrazioni sucientementebasse e alla temperatura di 1.5 K, il tempo di rilassamento degli spin elettronici ammontaa migliaia di secondi e il tempo di rilassamento dello spin nucleare del 31P è dell'ordinedei 1018 s, entrambi ottimi valori per la computazione quantistica.La possibilità di sfruttare le enormi conoscenze tecnologiche acquisiste durante la fabbri-cazione di dispositivi elettronici allo stato solido, ha indotto i ricercatori a credere che larealizzazione di computer quantistici basati sulla tecnologia al silicio sia un'ottima sdada arontare. L'intento è di riuscire a ridurre ulteriormente le dimensioni in modo daraggiungere livelli di complessità maggiori.

Nucleo atomico usato come memoria quantistica

Nel 2008 un team internazionale di ricercatori ha scoperto un metodo per miniaturiz-zare la memoria di un computer che consiste nel salvare l'informazione all'interno di unatomo. La scoperta potrebbe essere un progresso fondamentale nello sviluppo del com-puter quantistico. Il problema arontato è sempre quello della decoerenza: come isolareun qubit dall'ambiente esterno per proteggere la delicata informazione quantistica, e al-lo stesso tempo permetterli di interagire con il mondo esterno in modo che possa esseremanipolato e misurato? Il gruppo, di cui fanno parte anche scienziati di Oxford, Prince-ton e Lawrence Berkeley National Laboratory, sembra aver trovato una soluzione a taleproblema, concependo un sistema ibrido che utilizza sia gli elettroni sia il nucleo di unatomo di fosforo inserito in un cristallo di silicio. Ognuno di essi si comporta come unpiccolo magnete quantistico capace di salvare informazioni, ma all'interno del cristallo l'e-lettrone è oltre un milione di volte più grande del nucleo, con un campo magnetico millevolte più forte. Questo rende l'elettrone adatto per la manipolazione e per le misurazioni,ma non ideale per salvare l'informazione, che potrebbe corrompersi rapidamente. Entraquindi in gioco il nucleo: quando i dati sono pronti per essere salvati vengono spostatinel nucleo, dove possono sopravvivere per tempi molto più lunghi. L'elettrone funge daintermediatore fra il nucleo e il mondo esterno, e permette elevate velocità di esecuzionedei processi, che combinate con la memorizzazione a lungo termine possibile all'internodel nucleo, forma il sistema ibrido vincente. Fondamentalmente, l'informazione salvatanel nucleo ha una durata di vita media di 1.75 secondi, ma essa può essere allungata adun tempo maggiore impiegando tecniche di correzione dell'errore, già esistenti. Il risultatoottenuto in questo esperimento eccede notevolmente i tempi misurati in precedenza.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,conservando il materiale in uno stato assolutamente puro e lontano da sostanze contami-nanti.Sebbene siano studiate numerose tecniche per costruire un computer quantistico, un gran-

Anno accademico 2015/2016 Tesi di Enrico Vignola

59

de vantaggi di questo modello è il fatto che sia basato sulla tecnologia al silicio, il che lorende più compatibile con i computer odierni.

5.1.6 Superconduttori

I superconduttori sono dei materiali che conducono la corrente elettrica senza nessunaresistenza. Una corrente che scorre in un anello fatto di un superconduttore girerà dentrol'anello per sempre.La superconduttività fu scoperta dall'olandese Kammerlingh Onnes nel 1911 e spiegatateoricamente nel 1957 da tre scienziati americani che usarono il concetto di condensatodi Bose-Einstein, nel quale delle particelle bosoniche si aggregano tutte nello stesso statoquantistico, benché gli elettroni che conducono la corrente elettrica siano dei fermioniche non possono condividere lo stesso stato quantistico. La teoria di Bardeen, Cooper eSchrieer risolse questo problema, introducendo il concetto della coppia di Cooper cioè,una coppia fatta da due elettroni (che sono fermioni) che, insieme, si comportano come unbosone e quindi possono formare un condensato di Bose-Einstein insieme ad altre coppiedi Cooper.Anche se la corrente che scorre dentro un superconduttore è fatta da miliardi di elettroni(o meglio coppie di Cooper), la si può considerare come un singolo stato quantistico. Diconseguenza, tale corrente può anche esistere in uno stato di sovrapposizione di due o piùstati quantistici - per esempio, in una sovrapposizione di correnti che scorrono allo stessotempo in senso orario e antiorario dentro un anello superconduttore. Nello stesso modouna corrente che scorre avanti e indietro in un oscillatore può esistere in una sovrapposi-zione di stati quantistici dell'oscillatore.È lecito, quindi, pensare che i superconduttori possano essere dei candidati possibili perl'implementazione di un computer quantistico [29].Vi sono alcuni vantaggi ovvi di un tale approccio rispetto all'uso di ioni o atomi, comeabbiamo visto no ad ora. Innanzitutto, i superconduttori sono delle strutture articiali,e quindi è possibile adattare le loro proprietà alle esigenze del problema. Inoltre, i circuitidi superconduttori possono essere fabbricati usando processi ben noti, che vengono giàapplicati alla produzione di circuiti integrati e microchip per computer classici. Nonostan-te questi vantaggi non è aatto semplice usare i superconduttori per implementare qubit.Un problema fondamentale è che gli stati quantistici di un oscillatore superconduttoresono equidistanti, cioè la dierenza in energia tra uno stato e gli stati adiacenti è la stessaper tutti gli stati. Questo fa sì che diventi impossibile individuare due stati da usare come0 e 1 del qubit. Esiste, però, un rimedio, la cosiddetta giunzione di Josephson.Tale giunzione consiste, sostanzialmente, in una lastra isolante molto sottile inserita tradue li superconduttori. Nella sica quantistica, le coppie di Cooper di un supercondut-tore possono attraversare la barriera isolante tramite l'eetto tunnel.

Anno accademico 2015/2016 Tesi di Enrico Vignola

60

Una conseguenza di questo eetto è che si possono distinguere due livelli energetici delsistema, che a loro volta sono utilizzabili come qubit. Recentemente sono state sviluppatedelle tecniche per una lettura ecace dello stato di questi qubit, ed i tempi di coerenzasono stati allungati no ad essere abbastanza lunghi da permettere l'esecuzione di alcuneporte quantistiche.

5.2 Realizzazioni computer quantistici

5.2.1 Google's D-Wave 2X: 1097 qubits

D-Wave 2X [30] è il primo computer quantistico commerciale del mondo. Il processoreD-Wave 2X, con 1097 qubit, può valutare tutte le 21097 possibili soluzioni di un problema,allo stesso tempo.Il sistema D-Wave 2X implementa un algoritmo chiamato "Quantum annealing algori-thm", che risolve problemi di ricerca del minimo globale di una funzione. In particolare,il D-Wave 2X di Google si è misurato con il cosiddetto simulated annealing, un problemadi ottimizzazione in cui il processore deve esaminare una sorta di "paesaggio numerico"complesso, fatto di montagne, colline, vallate e depressioni, e ricercarne il punto più basso.Mentre un dispositivo tradizionale viaggia in maniera casuale nel paesaggio, scalando e

Anno accademico 2015/2016 Tesi di Enrico Vignola

61

discendendo le colline no alla scoperta della valle più profonda, un computer quanti-stico sfrutta il cosiddetto eetto tunnel, un principio che permette di passare attraversole colline anziché scalarle, un processo detto "quantum annealing". Il team di ricercatoriprovenienti dai laboratori di intelligenza articiale di Google dichiara di aver scoperto cheper le istanze del problema che coinvolge circa 1000 variabili binarie, il quantum annealingsupera in modo signicativo la sua controparte classica, simulated annealing (SA). Inoltrehanno anche comparato il quantum annealing algorithm con un altro algoritmo chiamatoQuantum Monte Carlo (QMC). Questo è un metodo progettato per emulare il compor-tamento dei sistemi quantistici, ma gira su processori convenzionali. Questi due metodisono di nuovo separati da un grande fattore, più di 108. Quindi il computer quantisticodella Google è riuscito a eseguire calcoli secondo la tecnica del quantum annealing no a100 milioni di volte più veloce rispetto a un computer tradizionale.

Il sistema sico ospita un sosticato sistema di refrigerazione criogenica, schermatura esistemi di I/O. La maggior parte del volume sico del sistema attuale è dovuto alle di-mensioni del sistema di refrigerazione e per fornire un facile accesso al servizio. Anchégli eetti quantistici svolgano correttamente il loro ruolo nella computazione, il quantumprocessor deve operare in un ambiente estremamente isolato. Il frigorifero e molti strati dischermatura creano un ambiente interno con una temperatura prossima allo zero assolutoed è isolato da campi magnetici esterni, vibrazioni e dal rumore elettromagnetico esterno.

Il processore D-Wave 2X opera ad una temperatura di 15 millikelvin, che è circa 180 voltepiù freddi dello spazio interstellare.

Anno accademico 2015/2016 Tesi di Enrico Vignola

62

Gli armadi adiacenti contengono i sottosistemi di comando ed i server front-end, che forni-scono la connettività al sistema. L'unica strada per i segnali tra l'interno e l'esterno dellarecinzione schermante è un canale ottico digitale che trasporta in ingresso informazioni diprogrammazione, e risultati dei calcoli in uscita. Il processore risiede in un ambiente adalto vuoto in cui la pressione è di 10 miliardi di volte inferiore alla pressione atmosferica.A dierenza di supercomputer tradizionali che generano enormi quantità di calore e richie-dono enormi quantità di energia, il sistema D-Wave si basa sull'elettronica superconduttoriche non dissipano calore e richiedono poca potenza di alimentazione. Il D-Wave 2X con-suma meno di 25 kW di potenza, la maggior parte è richiesto per il rareddamento e peril server operativo front-end.Il processore quantum D-Wave è costruito da un reticolo di piccoli anelli di metallo diniobio, ciascuno dei quali è un bit quantistico, o qubit. Quando il niobio viene rareddatoal di sotto di 9,2 Kelvin diventa un superconduttore e comincia a mostrare gli eetti dellameccanica quantistica. Con corrente circolante in senso orario o antiorario, il qubit super-conduttore emette un campo magnetico rivolto verso il basso o verso l'alto, che codicaun logico 1 o 0. Durante il quantum annealing, corrente scorre in senso orario e antiorariosimultaneamente. Ciò consente ai qubit di essere in uno stato "sovrapposizione" di 0 e 1.Alla ne del ciclo il qubit "collassa" in uno dei due stati, 0 o 1.Per passare da un singolo qubit ad un processore multi-qubit, i qubit devono essere col-legati insieme per scambiare informazioni. Questo risultato è ottenuto attraverso l'uso dielementi noti come accoppiatori, anch'essi realizzati da anelli superconduttori. Mettendomolti qubit e accoppiatori insieme con circuiti di controllo, si crea un tessuto di dispositiviquantistici programmabili. Dopo che il calcolo è terminato e i qubit si siano stabiliti neiloro stati nali (classici) 0 o 1, i valori detenuti dai qubit vengono restituiti all'utentecome una stringa di bit di 0 e 1.

Il sistema D-Wave 2X è basato su un tessuto di più di 1000 qubit e oltre 3000 accoppiatori.Per raggiungere questa scala i processori contengono oltre 128.000 giunzioni Josephson,che si ritengono essere i più complessi circuiti superconduttori integrati mai costruiti.

Anno accademico 2015/2016 Tesi di Enrico Vignola

Conclusioni

L'obiettivo di questo lavoro è stato quello di approfondire le basi teoriche della computa-zione quantistica e del suo modello circuitale.Grazie a questo studio è stato possibile descrivere in dettaglio uno degli algoritmi quanti-stici più famosi: l'algoritmo di Shor. Così si è potuto mettere in luce una delle applicazionidell'implementazione del modello circuitale, con le sue implicazioni sulla vulnerabilità delprotocollo di sicurezza RSA.Dopo la contestualizzazione teorica è stato possibile descrivere sinteticamente le diversepossibili tecnologie sperimentali per realizzare computer quantistici. Il grande ostacoloche i sici devono superare per la loro realizzazione è quello di preservare la coerenza delsistema quantistico considerato, allungandone sempre più i tempi di decoerenza per potereettivamente eseguire operazioni e immagazzinare informazioni.In conclusione, l'aspetto guida di tutto questo lavoro è quello di sottolineare la potenzialitàdei computer quantistici. Questi ultimi probabilmente non potranno sostituire completa-mente la loro controparte classica, in quanto gli algoritmi quantistici sono indirizzati perla maggior parte verso una categoria particolare di problemi, ovvero quelli che vengonoritenuti senza soluzione eciente su computer classici. Probabilmente i computer del fu-turo saranno degli ibridi, dotati sia di bit che di qubit, sfruttando i vantaggi di entrambi.Innite applicazioni aspettano solamente di essere scoperte, e i campi possibili spazianodalla sica quantistica alla chimica e biologia, passando per la medicina, l'intelligenzaarticiale e l'economia ecc.

63

64

Anno accademico 2015/2016 Tesi di Enrico Vignola

Appendici

A- Algoritmo di Euclide

L'algoritmo di Euclide permette di calcolare il massimo comune divisore tra due numeri,anche se questi sono molto grandi, senza aver bisogno di fattorizzarli come prodotto difattori primi.Se a e b sono interi positivi non nulli, l'insieme dei loro divisori comuni è non vuoto(contenendo almeno 1) e nito (perchè i divisori di un numero non nullo non possonoessere maggiori del numero stesso). Poichè i numeri naturali formano un insieme ordinato,il massimo comune divisore esiste sempre, ed è unico: esso viene indicato con il simboloMCD(a, b).Se a = b = 0, si dice che 0 è il loro massimo comune divisore. Se solo uno tra a e b, è nonnullo, esso coincide con il massimo comune divisore.Due numeri naturali non nulli a, b tali che MCD(a, b) = 1 si dicono coprimi.La divisione tra numeri naturali può essere riletta nel modo seguente:Proposizione: siano a, b numeri naturali non nulli. Allora esistono e sono univocamentedeterminati due interi q e r tali che:

a = b · q + r con 0 ≤ r < b .

L'algoritmo di Euclide (o metodo delle divisioni successive) consente di calcolare il M.C.D.tra due qualsiasi numeri, eettuando su una serie di divisioni successive:

si inizia dividendo a per b e si ottengono un quoziente q1 e un resto r1;

se r1 = 0, allora MCD(a, b) = b e ci si ferma;

se r1 6= 0 si prosegue dividendo b per r1 : si ottengono q2 e r2;

se r2 = 0, si interrompe il procedimento;

se r2 6= 0, si ripete il ragionamento.

L'algoritmo termina quando troviamo resto nullo e il MCD è l'ultimo resto diverso dazero. Questa procedura ha sicuramente termine perché il resto si riduce ad ogni passo.Supponiamo a ≥ b > 0 e operiamo le divisioni:

a = b · q1 + r1 0 < r1 < bb = r1 · q2 + r2 0 < r2 < r1r1 = r2 · q3 + r3 0 < r3 < r2

65

66

. . .ri−2 = ri−1 · qi + ri 0 < ri < ri−1rn−2 = rn−1 · qn + rn 0 < rn < rn−1

rn−1 = rn · qn+1 + 0

Allora MCD(a, b) = rn (=ultimo resto non nullo).Al massimo occorre fare b operazioni, perché ogni resto ri delle divisioni è minore delresto precedente, quindi abbiamo una catena b > r1 > r2 > r3 > . . . di numeri che sonointeri positivi e decrescenti, quindi hanno un minimo che è 0 e sono al massimo b.Il procedimento è illustrato di seguito, calcolando MCD(4557911, 12311).

a = b · q + r4557911 = 12311 · 370 + 2841

12311 = 2841 · 4 + 9472841 = 947 · 3 + 0

MCD(4557911, 12311) = 947 (=ultimo resto non nullo).

B- Il metodo delle frazioni continue

Lo scopo di questo metodo [31] è rappresentare i numeri reali positivi unicamente intermini di interi, utilizzando espressioni della forma

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

1

a2+1

...+ 1am

,

dove a0, . . . , am sono numeri interi positivi.L'algoritmo delle frazioni continue è un metodo utilizzato per determinare tale frazione.Si può facilmente capire il procedimento con un esempio: cerchiamo la frazione continuadi 31

13. Il primo passo è decomporre 31

13nella sua parte intera e quella decimale ottenendo

3113

= 2 + 513

= 2 + 1135

.

Questo procedimento - decomposizione e inversione - viene ora applicato a 135= 2.6, dando

3113

= 2 + 12+ 3

5

= 2 + 12+ 1

53

.

Ora decomponiamo e invertiamo 53= 1.6666, ottenendo

3113

= 2 + 12+ 1

1+23

= 2 + 12+ 1

1+ 132

.

La decomposizione è ora terminata, dato che 32= 1 + 1

2può essere scritto con un 1 al

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

2 + 12+ 1

1+ 1

1+12

.

Anno accademico 2015/2016 Tesi di Enrico Vignola

67

Notiamo facilmente che l'algoritmo delle frazioni continue termina dopo un numero nitodi "decomposizioni e inversioni" per ogni numero razionale, dato che i numeratori (nelnostro esempio 31, 5, 3, 2, 1) decrescono strettamente. Quindi il processo richiede unnumero nito di risorse computazionali, precisamente O(L3) se numeratore e denominatoresi possono rappresentare con L bit.Anche i numeri irrazionali possono essere sviluppati in frazione continua. La dierenza piùevidente rispetto ai razionali è che lo sviluppo che si ottiene non è nito. Ad esempio: Lasuccessione delle frazioni continue [a0] , [a0, a1] , [a0, a1, a2] , . . . è chiamata successione deiconvergenti. Tale successione approssima il dato numero con una successione di rapportirazionali tra coprimi.Un teorema che sarà utilizzato nell'implementazione dell'algoritmo di Shor aerma che loscarto tra ogni numero x e il suo convergente pn

qndi ordine n soddisfa la disuguaglianza∣∣∣x− pn

qn

∣∣∣ < 1q2n.

Inoltre qn > n.

Anno accademico 2015/2016 Tesi di Enrico Vignola

68

Anno accademico 2015/2016 Tesi di Enrico Vignola

Bibliograa

[1] Gordon Moore: "Cramming more components onto integrated circuits", ElectronicsMagazine, 1965.

[2] A. Turing: "On computable numbers, with an application to the Entscheidung-sproblem", Proceedings of the London Mathematical Society, (Ser. 2, Vol. 42,1937).

[3] R.P. Feynman: "Simulating Physiscs with Computers, International Journal ofTheoretical Physics", vol.21, p. 467, 1982.

[4] D. Deutsch: "The Fabric of Reality", Penguin Books, London, 1997.

[5] Tannoudji Cohen: "Quantum Mechanics", Wiley, 1991.

[6] D. Deutsch: "Quantum Theory, the Church-Turing principle and the universalquantum computer", Proceedings of the Royal Society of London, vol. 400, p. 97,1985.

[7] R. M. Solovay and V. Strassen: "A fast Monte-Carlo test for primality", SIAMJournal on Computing 6 (1977),84-85.

[8] Michael A. Nielsen e Isaac L. Chuang: "Quantum computation and quantuminformation", Cambridge University Press, 2000.

[9] C. H. Bennett, E. Bernstein, G. Brassard e U. Vazirani: "Strengths and weaknesses ofquantum computing". In: SIAM journal on Computing 26.5 (1997), pagine 15101523.

[10] L. Martina, G. Soliani: "A brief review on Quantum Computing and the Shor'sFactoring Algorithm, volume vol. unico. ROMA: Aracne, 2006, pagine 1158.

[11] L.K. Grover: "A fast quantum mechanical algorithm for database search, Procee-dings", 28th Annual ACM Symposium on the Theory of Computing, (May 1996) p.212.

[12] B. Schumacher: "Quantum coding", Physical Review A, vol. 51, n.4, Aprile 1995.

[13] F. Benatti, R. Floreanini: "Irreversible Quantum Dynamics", Springer-Verlag,Berlino, 2003.

[14] U. Weiss: "Quantum Dissipative systems", World Scientic Publishing Co.,Singapore, 2012.

[15] W.K. Wootters and W.H. Zurek: "A Single Quantum Cannot be Cloned". Nature299 (1982), pp. 802-803.

69

70

[16] V. Buzek, M. Hillery: "Quantum copying: Beyond the no-cloning theorem", PhysicalReview A, n.54, 1996.

[17] David P. Di Vincenzo: "The Physical Implementation of Quantum Computation". In:Fortschr. Phys. 48 (2000), pp. 771783.

[18] P. W. Shor: "Polynomial-Time Algorithms for Prime Factorization and DiscreteLogarithms on a Quantum Computer", SIAM J. Computing 26, 1484-1509, 1997.

[19] R.L. Rivest, A. Shamir and L.M. Adleman: "A Method of obtaining digital signaturesand public-key cryptosystems", Comm. ACM 21 (1978), 120 - 126.

[20] E. Knill, R. Laamme, G.J. Milburn: "A scheme for ecient quantum computationwith linear optics", Nature (Nature Publishing Group) 409 (6816): 4652, 2001.

[21] J. C. F. Matthews, A. Politi, A. Stefanov, J. L. O'Brien: "A Manipulation of mul-tiphoton entanglement in waveguide quantum circuits". In Nature photonics, vol.3(6):346-350 (2009).

[22] A. Politi, M. Cryan, J. Rarity, S. Yu, J. O'Brien: "Silica-on-silicon waveguide quantumcircuits". In Science, vol. 320(5976):646 (2008).

[23] D. Leibfried, R. Blatt, C. Monroe, D. Wineland: "Quantum dynamics of single trappedions", Reviews of Modern Physics, vol. 75, p. 281, 2003.

[24] J. I. Cirac, P. Zoller:"Quantum Computations with Cold Trapped Ions", Phys. Rev.Lett. 74, 4091 (1995).

[25] C. N. Cohen-Tannoudji:"Manipulating atoms with photons", Nobel Lecture, 8Dicembre 1997.

[26] W. D. Phillips: "Laser cooling and trapping of neutral atoms", Nobel Lecture, 8Dicembre 1997.

[27] L.M. Vandersypen, I.L. Chuang: "NMR techniques for quantum control andcomputation", Reviews of Modern Physics, vol. 76, p. 1037, 2005.

[28] E. Kawakami, T. Jullien, P. Scarlino, D. R. Ward, D. E. Savage, M. G. Lagally,V. V. Dobrovitski, Mark Friesen, S. N. Coppersmith, M. A. Eriksson, L. M. K.Vandersypen: "Gate delity and coherence of an electron spin in a Si/SiGe quantumdot with micromagnet", 26 Feb 2016.

[29] Y. Makhlin, G. Schön, A. Shnirman: "Quantum-state engineering with Josephson-junction devices", of Modern Physics, vol. 73, p. 357, 2001.

[30] http://www.dwavesys.com/d-wave-two-system.

[31] G.H. Hardy, E.M. Wright: "An introduction to the theory of numbers", OxfordUniversity Press, IV edizione, 1975.

Anno accademico 2015/2016 Tesi di Enrico Vignola