Faktorisering med hjälp av kvantberäkningar. Lars Engebretsen

Relevanta dokument
Faktorisering med hjälp av kvantberäkningar. Lars Engebretsen

TATA42: Föreläsning 8 Linjära differentialekvationer av högre ordning

Uppsala Universitet Matematiska Institutionen Bo Styf. Sammanfattning av föreläsningarna

1-1 Hur lyder den tidsberoende Schrödingerekvationen för en partikel som rör sig längs x-axeln? Definiera ingående storheter!

Föreläsning 3: Dekomposition. Dekomposition

Vektorrum. EX. Plan och linjer i rummet genom origo. Allmänt; mängden av lösningar till AX = 0.

Explorativ övning 7 KOMPLEXA TAL

Kvantmekanik II Föreläsning 2 Joakim Edsjö 1/37

a = a a a a a a ± ± ± ±500

Linjära ekvationssystem

SF1624 Algebra och geometri

Linjära ekvationssystem

12. SINGULÄRA VÄRDEN. (u Av) u v

SF1624 Algebra och geometri Lösningsförslag till tentamen Lördagen den 5 juni, 2010 DEL A

TAIU07 Matematiska beräkningar med Matlab

Föreläsningsanteckningar Linjär Algebra II Lärarlyftet

Vektorgeometri för gymnasister

Kvantteknologi. Superpositioner, entanglement, kvantbitar och helt döda katter

TANA17 Matematiska beräkningar med Matlab

Lösningar till utvalda uppgifter i kapitel 8

1 Linjära ekvationssystem. 2 Vektorer

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

Givet två naturliga tal a och b, som inte båda två är 0, hur räknar man ut största gemensamma delaren av a och b?

FFM234, Klassisk fysik och vektorfält - Föreläsningsanteckningar

Föreläsning 7. Felrättande koder

Signalanalys med snabb Fouriertransform

Självkoll: Ser du att de två uttrycken är ekvivalenta?

Övningshäfte 2: Komplexa tal

Determinanter, egenvectorer, egenvärden.

KOSMOS VÅR KVANTVÄRLD KVANTDATORER SUPERDATORER I SUPERPOSITION ERIKA ANDERSSON SÄRTRYCK UR: SVENSKA FYSIKERSAMFUNDETS ÅRSBOK 2017

Definition 1 Ett vektorrum M (över R) är en mängd element, vektorer, sådan att det finns en kommutativ operation + på mängden M som uppfyller

Föreläsning 9: NP-fullständighet

Block 2: Lineära system

Sammanfattninga av kursens block inför tentan

Kvantmekanik II (FK5012), 7,5 hp

Mer om analytisk geometri

TMV166 Linjär algebra för M, vt 2016

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 9 november 2015 Sida 1 / 28

Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

Andragradsekvationer. + px + q = 0. = 3x 7 7 3x + 7 = 0. q = 7

Oändligtdimensionella vektorrum

1 Positivt definita och positivt semidefinita matriser

Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT Lars Larsson Algoritmer 1

TMV166/186 Linjär Algebra M/TD 2011/2012 Läsvecka 1. Omfattning. Innehåll Lay, kapitel , Linjära ekvationer i linjär algebra

5.7. Ortogonaliseringsmetoder

Övningshäfte 2: Komplexa tal (och negativa tal)

Isometrier och ortogonala matriser

Lösningsförslag, Tentamen, Differentialekvationer och transformer II, del 2, för CTFYS2 och CMEDT3, SF1629, den 9 juni 2011, kl.

Material till kursen SF1679, Diskret matematik: Lite om kedjebråk. 0. Inledning

2 Matrisfaktorisering och lösning till ekvationssystem

Laboration i Fourieranalys, TMA132 Signalanalys med snabb Fouriertransform

Andragradspolynom Några vektorrum P 2

Sökning och sortering

SF1624 Algebra och geometri Tentamen med lösningsförslag onsdag, 11 januari 2017

Föreläsning 5: Dynamisk programmering

TENTAMEN I KVANTFYSIK del 1 (5A1324 och 5A1450) samt KVANTMEKANIK (5A1320) med SVAR och LÖSNINGSANVISNINGAR Tisdagen den 5 juni 2007

TATA42: Föreläsning 9 Linjära differentialekvationer av ännu högre ordning

Atom- och kärnfysik med tillämpningar -

Atom- och kärnfysik med tillämpningar -

5B1146 med Matlab. Laborationsr. Laborationsgrupp: Sebastian Johnson Erik Lundberg, Ann-Sofi Åhn ( endst tal1-3

M = c c M = 1 3 1

Ht Läsanvisningar till Hilbertrum och partiella differentialekvationer. Del 1. Ur Anton, Rorres; Elementary Linear Algebra

Preliminärt lösningsförslag

Kvadratkomplettering

Linjär Algebra, Föreläsning 8

Carl Olsson Carl Olsson Linjär Algebra / 18

Algoritmer, datastrukturer och komplexitet

Lösningsförslag till övningsuppgifter, del V

Hjälpmedel: Det för kursen ociella formelbladet samt TeFyMa. 0 x < 0

Föreläsning 1. Introduktion. Vad är en algoritm?

Tentamen TMV140 Linjär algebra Z

Föreläsning 14: Exempel på randvärdesproblem. LU-faktorisering för att lösa linjära ekvationssystem.

Norm och QR-faktorisering

Hemuppgift 1, SF1861 Optimeringslära för T

MATRISTEORI. Pelle Pettersson MATRISER. En matris är ett rektangulärt schema med tal, reella eller komplexa, vilka kallas matrisens

1 De fyra fundamentala underrummen till en matris

Vektorgeometri för gymnasister

Maj Lycka till! Sergei Silvestrov. 1. a) Bestäm Jordans normalform och minimalpolynom av Toeplitzmatrisen T =

DEL I. Matematiska Institutionen KTH. Lösning till tentamensskrivning på kursen Linjär algebra II, SF1604, den 17 april 2010 kl

Komplexitetsklasser och repetition

LINJÄR ALGEBRA II LEKTION 6

Kvantteknologi. Superpositioner, entanglement, kvantbitar och helt döda katter

Algebraiska egenskaper hos R n i)u + v = v + U

Föreläsning 9: Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

Föreläsning 12+13: Approximationsalgoritmer

Tentamen i Linjär algebra (TATA31/TEN1) ,

Föreläsning 3, Matematisk statistik Π + E

Föreläsning 5 Innehåll

Egenvärdesproblem för matriser och differentialekvationer

Matematiska Institutionen KTH. Lösning till tentamensskrivning på kursen Linjär algebra II, SF1604, den 9 juni 2011 kl

. (2p) 2x + 2y + z = 4 y + 2z = 2 4x + 3y = 6

SF1901 Sannolikhetsteori och statistik I

KOKBOKEN 1. Håkan Strömberg KTH STH

Dugga i FUF040 Kvantfysik för F3/Kf3

Laboration i Fourieranalys för F2, TM2, Kf2 2011/12 Signalanalys med snabb Fouriertransform (FFT)

November 17, 2015 (1) en enda lsg. Obs det A = 1 0. (2) k-parameter lsg. Obs det A = 0. k-kolonner efter sista ledande ettan

9 Funktioner. Exempel. f(x) = x + 1 sqr(y) = y 2. x, om x < 0. abs(x) =

Föreläsning 8+9: NP-problem. Begreppet effektiv algoritm är alltså synonymt med går i polynomisk tid i den här kursen. Är detta en rimlig uppdelning?

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

Transkript:

Faktorisering med hjälp av kvantberäkningar Lars Engebretsen 00-1-03 Lars Engebretsen 00-1-03

Bakgrund Vanliga datorer styrs av klassiska fysikens lagar. Vanliga datorer kan simuleras av turingmaskiner i polynomisk tid. Kanske kan vi lösa svårare problem med kvantmekanik? Vi behöver en vettig modell som dessutom går att implementera. Modellen bör kunna lösa svårare problem än turingmaskiner klarar av. Lars Engebretsen 00-1-03 1

Modell översikt Informationslagring: Vågfunktionen, en linjärkombination av tillstånd. Programsteg: Lokala unitära transformationer av vågfunktionen. Mätning: Vi frågar systemet vilket tillstånd det är i. Svaret beror på vågfunktionen. En mätning förstör nästan all information som finns i vågfunktionen. Lars Engebretsen 00-1-03

Modell kvantbiten En kvantbit beskrivs av två bastillstånd: 0 och 1. Kvantbiten kan vara i tillstånd α 0 0 + α 1 1 så snart α 0 + α 1 = 1. ( ) α0 Ibland skriver vi α 0 0 + α 1 1 som. α 1 Lars Engebretsen 00-1-03 3

Modell kvantbiten En kvantbit beskrivs av två bastillstånd: 0 och 1. Kvantbiten kan vara i tillstånd α 0 0 + α 1 1 så snart α 0 + α 1 = 1. ( ) α0 Ibland skriver vi α 0 0 + α 1 1 som. α 1 Mätning: Vi frågar kvantbiten vilket tillstånd den är i. Sannolikheten att vi får svaret i är α i. Efter mätningen kollapsar kvantbiten till det tillstånd vi såg vid mätningen. Lars Engebretsen 00-1-03 3

Modell programsteg Minsta byggstenen: Unitära operatorer. Lars Engebretsen 00-1-03 4

Modell programsteg Minsta byggstenen: -matriser sådana att A = A 1. ( ) ( ) α0 α0 En matris A avbildar tillståndet på A. α 1 α 1 Lars Engebretsen 00-1-03 4

Modell programsteg Minsta byggstenen: -matriser sådana att A = A 1. ( ) ( ) α0 α0 En matris A avbildar tillståndet på A. α 1 α 1 ( ) 1 0 0 1 Lars Engebretsen 00-1-03 4

Modell programsteg Minsta byggstenen: -matriser sådana att A = A 1. ( ) ( ) α0 α0 En matris A avbildar tillståndet på A. α 1 α 1 ( ) ( ) ( ) ( ) 1 0 α0 1 0 α0 avbildar på 0 1 α 1 0 1 α 1 Lars Engebretsen 00-1-03 4

Modell programsteg Minsta byggstenen: -matriser sådana att A = A 1. ( ) ( ) α0 α0 En matris A avbildar tillståndet på A. α 1 α 1 ( ) ( ) ( ) ( ) ( ) 1 0 α0 1 0 α0 α0 avbildar på =. 0 1 α 1 0 1 α 1 α 1 Lars Engebretsen 00-1-03 4

Modell programsteg Minsta byggstenen: -matriser sådana att A = A 1. ( ) ( ) α0 α0 En matris A avbildar tillståndet på A. α 1 α 1 ( ) 1 0 avbildar varje tillstånd på sig själv 0 1 Lars Engebretsen 00-1-03 4

Modell programsteg Minsta byggstenen: -matriser sådana att A = A 1. ( ) ( ) α0 α0 En matris A avbildar tillståndet på A. α 1 α 1 ( ) 1 0 avbildar varje tillstånd på sig själv 0 1 ( ) ( ) ( ) ( ) ( ) 0 1 α0 0 1 α0 α1 avbildar på =. 1 0 α 1 1 0 α 1 α 0 Lars Engebretsen 00-1-03 4

Modell programsteg Minsta byggstenen: -matriser sådana att A = A 1. ( ) ( ) α0 α0 En matris A avbildar tillståndet på A. α 1 α 1 ( ) 1 0 avbildar varje tillstånd på sig själv 0 1 ( ) 0 1 definierar α 1 0 0 0 + α 1 1 α 1 0 + α 0 1. Lars Engebretsen 00-1-03 4

Modell programsteg Minsta byggstenen: -matriser sådana att A = A 1. ( ) ( ) α0 α0 En matris A avbildar tillståndet på A. α 1 α 1 ( ) 1 0 avbildar varje tillstånd på sig själv 0 1 ( ) 0 1 definierar α 1 0 0 0 + α 1 1 α 1 0 + α 0 1. ( ) 1 1 1 definierar 0 1 1 1 0 + 1 1. Lars Engebretsen 00-1-03 4

Modell ett exempel Systemet startar i tillstånd 0. Lägg på operatorn A = 1 ( ) 1 + i 1 i. 1 i 1 + i Lars Engebretsen 00-1-03 5

Modell ett exempel Systemet startar i tillstånd 0. Lägg på operatorn A = 1 ( ( ) 1 + i 1 i 1 1 i 1 + i) 0 Systemet byter tillstånd till 1 = 1 ( 1 + i 1 i 1 i 1 + i ). ( 1 + i 1 i ). Lars Engebretsen 00-1-03 5

Modell ett exempel Systemet startar i tillstånd 0. Lägg på operatorn A = 1 ( ( ) 1 + i 1 i 1 1 i 1 + i) 0 Systemet byter tillstånd till 1 = 1 En mätning nu ger 0 och 1 med samma sannolikhet. ( 1 + i 1 i 1 i 1 + i ). ( 1 + i 1 i ). Lars Engebretsen 00-1-03 5

Modell ett exempel Systemet startar i tillstånd 0. Lägg på operatorn A = 1 ( ( ) 1 + i 1 i 1 1 i 1 + i) 0 Systemet byter tillstånd till 1 = 1 ( 1 + i 1 i 1 i 1 + i ). ( 1 + i 1 i En mätning nu ger 0 och 1 med samma sannolikhet. Antag att vi mäter och ser 1. Efteråt vet vi att systemet är i tillstånd 1. ). Lars Engebretsen 00-1-03 5

Modell ett exempel Systemet startar i tillstånd 0. Lägg på operatorn A = 1 ( ( ) 1 + i 1 i 1 1 i 1 + i) 0 Systemet byter tillstånd till 1 = 1 ( 1 + i 1 i 1 i 1 + i ). ( 1 + i 1 i En mätning nu ger 0 och 1 med samma sannolikhet. Antag att vi mäter och ser 1. Efteråt vet vi att systemet är i tillstånd 1. Använd A igen; systemet hamnar i tillstånd 1 i 0 + 1+i 1. Mät igen. ). Lars Engebretsen 00-1-03 5

Modell ett exempel Systemet startar i tillstånd 0. Lägg på operatorn A = 1 ( ( ) 1 + i 1 i 1 1 i 1 + i) 0 Systemet byter tillstånd till 1 = 1 ( 1 + i 1 i 1 i 1 + i ). ( 1 + i 1 i En mätning nu ger 0 och 1 med samma sannolikhet. Antag att vi mäter och ser 1. Efteråt vet vi att systemet är i tillstånd 1. Använd A igen; systemet hamnar i tillstånd 1 i 0 + 1+i Mätningen ger 0 och 1 med samma sannolikhet. 1. Mät igen. ). Lars Engebretsen 00-1-03 5

Modell ett liknande exempel Samma början: Vi startar i 0 och kör operatorn A = 1 ( ) 1 + i 1 i. 1 i 1 + i Lars Engebretsen 00-1-03 6

Modell ett liknande exempel Samma början: Vi startar i 0 och kör operatorn A = 1 ( ( ) 1 + i 1 i 1 1 i 1 + i) 0 Systemet byter tillstånd till 1 = 1 ( 1 + i 1 i 1 i 1 + i ). ( 1 + i 1 i ). Lars Engebretsen 00-1-03 6

Modell ett liknande exempel Samma början: Vi startar i 0 och kör operatorn A = 1 ( 1 + i 1 i 1 i 1 + i Systemet byter tillstånd till 1 ( ( ) 1 + i 1 i 1 = 1 i 1 + i) 1 ( ) 1 + i. 0 1 i Men nu kör vi A igen; Då hamnar vi i 1 ( ) ( ) 1 + i 1 i 1 1 + i = 1 i 1 + i 1 i ). ( 0 1). Lars Engebretsen 00-1-03 6

Modell ett liknande exempel Samma början: Vi startar i 0 och kör operatorn A = 1 ( 1 + i 1 i 1 i 1 + i Systemet byter tillstånd till 1 ( ( ) 1 + i 1 i 1 = 1 i 1 + i) 1 ( ) 1 + i. 0 1 i Men nu kör vi A igen; Då hamnar vi i 1 ( ) ( ) 1 + i 1 i 1 1 + i = 1 i 1 + i 1 i En mätning nu ger 1 med sannolikhet ett. ). ( 0 1). Lars Engebretsen 00-1-03 6

Modell fler bitar Vi behöver fler bitar än en. Bastillstånden blir då b för binära strängar b. Systemets tillstånd skrivs α b b där α b = 1. Vid mätning ser vi b med sannolikhet α b. Efter en mätning kollapsar systemet till det tillstånd vi såg. Lars Engebretsen 00-1-03 7

Feynmans motivering av kvantberäkningar Hur många bastillstånd finns det? Två bitar: 00, 01, 10, 11. Tre bitar: 000, 001, 010, 011, 100, 101, 110, 111. n bitar: n bastillstånd! Lars Engebretsen 00-1-03 8

Feynmans motivering av kvantberäkningar Hur många bastillstånd finns det? Två bitar: 00, 01, 10, 11. Tre bitar: 000, 001, 010, 011, 100, 101, 110, 111. n bitar: n bastillstånd! Det tar exponentiell tid att simulera ett n-bitarsystem klassiskt. Så kanske ger kvantberäkningar en exponentiell uppsnabbning? Lars Engebretsen 00-1-03 8

Modell operationer på två bitar Operationer definieras, som tidigare, som unitära matriser. 1 0 0 0 Vilken transformation definieras av 0 1 0 0 0 0 0 1? 0 0 1 0 α 00 00 + α 01 01 + α 10 10 + α 11 11 α 00 00 + α 01 01 + α 11 10 + α 10 11. Lars Engebretsen 00-1-03 9

Modell operationer på två bitar Operationer definieras, som tidigare, som unitära matriser. 1 0 0 0 Vilken transformation definieras av 0 1 0 0 0 0 0 1? 0 0 1 0 α 00 00 + α 01 01 + α 10 10 + α 11 11 α 00 00 + α 01 01 + α 11 10 + α 10 11. Om den första biten är noll ändras inte den andra biten. Om den första biten är ett negeras den andra biten. Lars Engebretsen 00-1-03 9

Modell sammanfattning Information lagras som en vektor i ett komplext vektorrum. Vektorrummet har n dimensioner om vi har n kvantbitar. Programmet består av unitära operationer på högst två kvantbitar åt gången. Mått på komplexitet: Antal sådana operationer. Vi får resultatet genom att mäta. Vi ser b med sannolikhet koefficienten framför b. En mätning gör att vågfunktionen kollapsar. Lars Engebretsen 00-1-03 10

Är modellen användbar? Vad klarar vi av att göra i kvantmodellen? Lars Engebretsen 00-1-03 11

Är modellen användbar? Vad klarar vi av att göra i kvantmodellen? Alla kvantberäkningar är reversibla; de kan alltså köras baklänges. Därför finns inte operationer av typen sätt x till 17. Lars Engebretsen 00-1-03 11

Är modellen användbar? Vad klarar vi av att göra i kvantmodellen? Alla kvantberäkningar är reversibla; de kan alltså köras baklänges. Därför finns inte operationer av typen sätt x till 17. Trots detta kan alla deterministiska beräkningar simuleras. Huvudidé: NAND-grindar är universella; det räcker alltså att simulera dem. [NAND(x 1, x ) = (x 1 x ).] NAND-grindar kan simuleras reversibelt om man behåller indata. Lars Engebretsen 00-1-03 11

Faktorisering Vi vill dela upp N, ett tal med n-bitar, i primfaktorer. Lars Engebretsen 00-1-03 1

Faktorisering Vi vill dela upp N, ett tal med n-bitar, i primfaktorer. Välj ett slumpvis x och låt r vara dess ordning mod N; x r 1 mod N. Det är känt att gcd(x r/ 1, N) ofta är en icke-trivial faktor. Lars Engebretsen 00-1-03 1

Faktorisering Vi vill dela upp N, ett tal med n-bitar, i primfaktorer. Välj ett slumpvis x och låt r vara dess ordning mod N; x r 1 mod N. Det är känt att gcd(x r/ 1, N) ofta är en icke-trivial faktor. Så om vi kan beräkna ordningen mod N så kan vi även faktorisera N. Shors algoritm beräknar ordningen mod N i polynomisk tid. Lars Engebretsen 00-1-03 1

Faktorisering Vi vill dela upp N, ett tal med n-bitar, i primfaktorer. Välj ett slumpvis x och låt r vara dess ordning mod N; x r 1 mod N. Det är känt att gcd(x r/ 1, N) ofta är en icke-trivial faktor. Så om vi kan beräkna ordningen mod N så kan vi även faktorisera N. Shors algoritm beräknar ordningen mod N i polynomisk tid, dvs antalet operationer är polynomiskt i n. Lars Engebretsen 00-1-03 1

Översikt av algoritmen Shors algoritm har tre faser: 1. Konvertera 0 till en likformig fördelning. Lars Engebretsen 00-1-03 13

Översikt av algoritmen Shors algoritm har tre faser: 1. Konvertera 0 till en likformig fördelning. Kan göras genom att köra 1 ( ) 1 1 på varje kvantbit. 1 1 Lars Engebretsen 00-1-03 13

Översikt av algoritmen Shors algoritm har tre faser: 1. Konvertera 0 till en likformig fördelning. Kan göras genom att köra 1 ( ) 1 1 på varje kvantbit. 1 1. Beräkna x a mod N givet x, a och N. Lars Engebretsen 00-1-03 13

Översikt av algoritmen Shors algoritm har tre faser: 1. Konvertera 0 till en likformig fördelning. Kan göras genom att köra 1 ( ) 1 1 på varje kvantbit. 1 1. Beräkna x a mod N givet x, a och N. Går att göra om vi behåller indata. Lars Engebretsen 00-1-03 13

Översikt av algoritmen Shors algoritm har tre faser: 1. Konvertera 0 till en likformig fördelning. Kan göras genom att köra 1 ( ) 1 1 på varje kvantbit. 1 1. Beräkna x a mod N givet x, a och N. Går att göra om vi behåller indata. m 1 3. Beräkna fouriertransformen av a: a m/ ω ac c där ω = e πi/m. Lars Engebretsen 00-1-03 13

Översikt av algoritmen Shors algoritm har tre faser: 1. Konvertera 0 till en likformig fördelning. Kan göras genom att köra 1 ( ) 1 1 på varje kvantbit. 1 1. Beräkna x a mod N givet x, a och N. Går att göra om vi behåller indata. m 1 3. Beräkna fouriertransformen av a: a m/ Antag tillsvidare att detta går att göra. ω ac c där ω = e πi/m. Lars Engebretsen 00-1-03 13

Mer detaljerad version av algoritmen Givet x and N vill vi beräkna ordningen av x mod N. N består av n bitar. 1. Skapa a genom att skapa m = 3n likafördelade slumpbitar. Tillstånd: m/ m 1 a=0 a, x, N Lars Engebretsen 00-1-03 14

Mer detaljerad version av algoritmen Givet x and N vill vi beräkna ordningen av x mod N. N består av n bitar. 1. Skapa a genom att skapa m = 3n likafördelade slumpbitar. Tillstånd: m/ m 1 a=0 a, x, N. Beräkna x a mod N. Tillstånd: m/ m 1 a=0 xa, a, x, N Lars Engebretsen 00-1-03 14

Mer detaljerad version av algoritmen Givet x and N vill vi beräkna ordningen av x mod N. N består av n bitar. 1. Skapa a genom att skapa m = 3n likafördelade slumpbitar. Tillstånd: m/ m 1 a=0 a, x, N. Beräkna x a mod N. Tillstånd: m/ m 1 a=0 xa, a, x, N 3. Fouriertransformera a. a m/ m 1 ωac c Lars Engebretsen 00-1-03 14

Mer detaljerad version av algoritmen Givet x and N vill vi beräkna ordningen av x mod N. N består av n bitar. 1. Skapa a genom att skapa m = 3n likafördelade slumpbitar. Tillstånd: m/ m 1 a=0 a, x, N. Beräkna x a mod N. Tillstånd: m/ m 1 a=0 xa, a, x, N 3. Fouriertransformera a. Tillstånd: m m 1 a=0 m 1 ωac x a, c, x, N Lars Engebretsen 00-1-03 14

Mer detaljerad version av algoritmen Givet x and N vill vi beräkna ordningen av x mod N. N består av n bitar. 1. Skapa a genom att skapa m = 3n likafördelade slumpbitar. Tillstånd: m/ m 1 a=0 a, x, N. Beräkna x a mod N. Tillstånd: m/ m 1 a=0 xa, a, x, N 3. Fouriertransformera a. Tillstånd: m m 1 a=0 m 1 ωac x a, c, x, N 4. Mät tillståndet och beräkna r givet observationen av c. Lars Engebretsen 00-1-03 14

Analys av algoritmen intuition m 1 Tillstånd när vi mäter: m a=0 m 1 ω ac x a, c, x, N Vad är sannolikheten att se ett visst x k, c, x, N? Lars Engebretsen 00-1-03 15

Analys av algoritmen intuition m 1 Tillstånd när vi mäter: m a=0 m 1 ω ac x a, c, x, N Vad är sannolikheten att se ett visst x k, c, x, N? Eftersom x k x k+r x k+r bidrar flera a till samma x k, c, x, N. Lars Engebretsen 00-1-03 15

Analys av algoritmen intuition m 1 Tillstånd när vi mäter: m a=0 m 1 ω ac x a, c, x, N Vad är sannolikheten att se ett visst x k, c, x, N? Eftersom x k x k+r x k+r bidrar flera a till samma x k, c, x, N. Pr[ x k, c, x, N ] = m a:x a x k ω ac Lars Engebretsen 00-1-03 15

Analys av algoritmen intuition m 1 Tillstånd när vi mäter: m a=0 m 1 ω ac x a, c, x, N Vad är sannolikheten att se ett visst x k, c, x, N? Eftersom x k x k+r x k+r bidrar flera a till samma x k, c, x, N. Pr[ x k, c, x, N ] = m a:x a x k ω ac = m ω (k+jr)c j Lars Engebretsen 00-1-03 15

Analys av algoritmen intuition m 1 Tillstånd när vi mäter: m a=0 m 1 ω ac x a, c, x, N Vad är sannolikheten att se ett visst x k, c, x, N? Eftersom x k x k+r x k+r bidrar flera a till samma x k, c, x, N. Pr[ x k, c, x, N ] = m a:x a x k ω ac = m ω kc ω jrc j Lars Engebretsen 00-1-03 15

Analys av algoritmen intuition m 1 Tillstånd när vi mäter: m a=0 m 1 ω ac x a, c, x, N Vad är sannolikheten att se ett visst x k, c, x, N? Eftersom x k x k+r x k+r bidrar flera a till samma x k, c, x, N. Pr[ x k, c, x, N ] = m a:x a x k ω ac = m ω kc j ω jrc Lars Engebretsen 00-1-03 15

Analys av algoritmen intuition m 1 Tillstånd när vi mäter: m a=0 m 1 ω ac x a, c, x, N Vad är sannolikheten att se ett visst x k, c, x, N? Eftersom x k x k+r x k+r bidrar flera a till samma x k, c, x, N. Pr[ x k, c, x, N ] = m När är denna summa stor? a:x a x k ω ac = m ( ω rc ) j j. Lars Engebretsen 00-1-03 15

Analys av algoritmen intuition m 1 Tillstånd när vi mäter: m a=0 m 1 ω ac x a, c, x, N Vad är sannolikheten att se ett visst x k, c, x, N? Eftersom x k x k+r x k+r bidrar flera a till samma x k, c, x, N. Pr[ x k, c, x, N ] = m a:x a x k ω ac När är denna summa stor? Studera j (ωrc ) j. = m ( ω rc ) j j. Lars Engebretsen 00-1-03 15

Analys av algoritmen summor av enhetsrötter När är j (ωrc ) j stort? (ω komplext tal med norm 1.) i 1 1 i Lars Engebretsen 00-1-03 16

Analys av algoritmen summor av enhetsrötter När är j (ωrc ) j stort? (ω komplext tal med norm 1.) i ω rc 1 1 i Lars Engebretsen 00-1-03 16

Analys av algoritmen summor av enhetsrötter När är j (ωrc ) j stort? (ω komplext tal med norm 1.) i ω rc ω rc 1 1 i Lars Engebretsen 00-1-03 16

Analys av algoritmen summor av enhetsrötter När är j (ωrc ) j stort? (ω komplext tal med norm 1.) i ω rc ω rc 1 1 ω 3rc i Lars Engebretsen 00-1-03 16

Analys av algoritmen summor av enhetsrötter När är j (ωrc ) j stort? (ω komplext tal med norm 1.) i ω rc ω rc 1 1 ω 3rc i Lars Engebretsen 00-1-03 16

Analys av algoritmen summor av enhetsrötter När är j (ωrc ) j stort? (ω komplext tal med norm 1.) i ω rc ω rc 1 1 ω 3rc i Lars Engebretsen 00-1-03 16

Analys av algoritmen summor av enhetsrötter När är j (ωrc ) j stort? (ω komplext tal med norm 1.) i ω rc ω rc 1 1 ω 3rc i Lars Engebretsen 00-1-03 16

Analys av algoritmen summor av enhetsrötter När är j (ωrc ) j stort? (ω komplext tal med norm 1.) i ω rc ω rc 1 1 ω 3rc i Lars Engebretsen 00-1-03 16

Analys av algoritmen summor av enhetsrötter När är j (ωrc ) j stort? (ω komplext tal med norm 1.) i ω rc ω rc 1 1 ω 3rc i Lars Engebretsen 00-1-03 16

Analys av algoritmen summor av enhetsrötter När är j (ωrc ) j stort? (ω komplext tal med norm 1.) i ω rc ω rc 1 1 ω 3rc i j (ωrc ) j = längden av summan av ovanstående vektorer. Lars Engebretsen 00-1-03 16

Analys av algoritmen summor av enhetsrötter När är j (ωrc ) j stort? (ω komplext tal med norm 1.) i ω rc i ω rc 1 1 1 ω rc 1 ω 3rc i i j (ωrc ) j = längden av summan av ovanstående vektorer. Lars Engebretsen 00-1-03 16

Analys av algoritmen summor av enhetsrötter När är j (ωrc ) j stort? (ω komplext tal med norm 1.) i ω rc i ω rc 1 1 1 ω rc 1 ω 3rc i i j (ωrc ) j = längden av summan av ovanstående vektorer. Lars Engebretsen 00-1-03 16

Analys av algoritmen summor av enhetsrötter När är j (ωrc ) j stort? (ω komplext tal med norm 1.) i ω rc i ω rc 1 1 1 ω 3rc rc 1 ω 3rc i i j (ωrc ) j = längden av summan av ovanstående vektorer. Lars Engebretsen 00-1-03 16

Analys av algoritmen summor av enhetsrötter När är j (ωrc ) j stort? (ω komplext tal med norm 1.) i ω rc i ω rc 1 1 1 ω 3rc rc 1 ω 3rc i i j (ωrc ) j = längden av summan av ovanstående vektorer. Lars Engebretsen 00-1-03 16

Analys av algoritmen sammanfattning m 1 Tillstånd när vi mäter: m a=0 m 1 Pr[ x k, c, x, N ] = m ω ac x a, c, x, N a:x a x k ω ac Stort om ω rc är nära 1, dvs om e πirc/m är nära 1. = m ( ω rc ) j j. Lars Engebretsen 00-1-03 17

Analys av algoritmen sammanfattning m 1 Tillstånd när vi mäter: m a=0 m 1 Pr[ x k, c, x, N ] = m ω ac x a, c, x, N a:x a x k ω ac = m ( ω rc ) j j. Stort om ω rc är nära 1, dvs om e πirc/m ett heltal. är nära 1, dvs om rc/ m är nästan Lars Engebretsen 00-1-03 17

Analys av algoritmen sammanfattning m 1 Tillstånd när vi mäter: m a=0 m 1 Pr[ x k, c, x, N ] = m ω ac x a, c, x, N a:x a x k ω ac = m ( ω rc ) j Stort om ω rc är nära 1, dvs om e πirc/m är nära 1, dvs om rc/ m är nästan ett heltal, dvs om c m är nära d/r för något heltal d. j. Lars Engebretsen 00-1-03 17

Analys av algoritmen sammanfattning m 1 Tillstånd när vi mäter: m a=0 m 1 Pr[ x k, c, x, N ] = m ω ac x a, c, x, N a:x a x k ω ac = m ( ω rc ) j Stort om ω rc är nära 1, dvs om e πirc/m är nära 1, dvs om rc/ m är nästan ett heltal, dvs om c m är nära d/r för något heltal d. Vi observerar c och vet m, så vi får en approximation till d/r. Om approximationen är bra kan vi beräkna d och r. j. Lars Engebretsen 00-1-03 17

Analys av algoritmen sannolikheten att se ett visst c 0.01 Figuren nedan visar Pr[c] då r = 10 och m = 8. 0.01 0.008 0.006 0.004 0.00 0 0 50 100 150 00 50 Med hög sannolikhet är c d m r 1 detta räcker. m+1; Lars Engebretsen 00-1-03 18

Fouriertransformen m 1 Vi vill implementera a m/ e πiac/m c Lars Engebretsen 00-1-03 19

Fouriertransformen m 1 Vi vill implementera a m/ En kvantbit: a 1 1 e πiac/m c e πiac/ c = 1 1 ( 1) ac c Lars Engebretsen 00-1-03 19

Fouriertransformen m 1 Vi vill implementera a m/ En kvantbit: a 1 1 0 1 ( 0 + 1 ); e πiac/m c e πiac/ c = 1 1 ( 1) ac c Lars Engebretsen 00-1-03 19

Fouriertransformen m 1 Vi vill implementera a m/ En kvantbit: a 1 1 0 1 ( 0 + 1 ); 1 1 ( 0 1 ) e πiac/m c e πiac/ c = 1 1 ( 1) ac c Lars Engebretsen 00-1-03 19

Fouriertransformen m 1 Vi vill implementera a m/ En kvantbit: a 1 1 0 1 ( 0 + 1 ); 1 1 ( 0 1 ) e πiac/m c e πiac/ c = 1 1 ( 1) ac c Detta kan göras med rotationen R = 1 ( ) 1 1 1 1 Lars Engebretsen 00-1-03 19

Fouriertransformen av två kvantbitar verktyg Vi vill implementera a 1 3 e πiac/4 c = 1 3 i ac c. Vi kommer att behöva rotationerna från enbitsfallet: R k roterar bit k. 1 0 0 0 Vi kommer också att behöva byta fas: S = 0 1 0 0 0 0 1 0 0 0 0 i Lars Engebretsen 00-1-03 0

Fouriertransformen av två kvantbitar verktyg Vi vill implementera a 1 3 e πiac/4 c = 1 3 i ac c. Vi kommer att behöva rotationerna från enbitsfallet: R k roterar bit k. 1 0 0 0 Vi kommer också att behöva byta fas: S = 0 1 0 0 0 0 1 0 0 0 0 i α 00 00 + α 01 01 + α 10 10 + α 11 11 α 00 00 + α 01 01 + α 10 10 + iα 11 11. Lars Engebretsen 00-1-03 0

Fouriertransformen av två kvantbitar intuition Vi vill implementera a 1 3 e πiac/4 c = 1 3 i ac c. Lars Engebretsen 00-1-03 1

Fouriertransformen av två kvantbitar intuition Vi vill implementera a 1 00 3 e πiac/4 c = 1 3 i ac c. Lars Engebretsen 00-1-03 1

Fouriertransformen av två kvantbitar intuition Vi vill implementera a 1 00 1 3 e πiac/4 c = 1 3 i ac c. Lars Engebretsen 00-1-03 1

Fouriertransformen av två kvantbitar intuition Vi vill implementera a 1 00 1 ( 00 3 e πiac/4 c = 1 3 i ac c. Lars Engebretsen 00-1-03 1

Fouriertransformen av två kvantbitar intuition Vi vill implementera a 1 00 1 ( 00 + 01 3 e πiac/4 c = 1 3 i ac c. Lars Engebretsen 00-1-03 1

Fouriertransformen av två kvantbitar intuition Vi vill implementera a 1 3 e πiac/4 c = 1 3 i ac c. 00 1 ( 00 + 01 + 10 + 11 ) Lars Engebretsen 00-1-03 1

Fouriertransformen av två kvantbitar intuition Vi vill implementera a 1 3 e πiac/4 c = 1 3 i ac c. 00 1 ( 00 + 01 + 10 + 11 ) 01 1 ( 00 Lars Engebretsen 00-1-03 1

Fouriertransformen av två kvantbitar intuition Vi vill implementera a 1 3 e πiac/4 c = 1 3 i ac c. 00 1 ( 00 + 01 + 10 + 11 ) 01 1 ( 00 + i 01 10 i 11 ) Lars Engebretsen 00-1-03 1

Fouriertransformen av två kvantbitar intuition Vi vill implementera a 1 3 e πiac/4 c = 1 3 i ac c. 00 1 ( 00 + 01 + 10 + 11 ) 01 1 ( 00 + i 01 10 i 11 ) 10 1 ( 00 Lars Engebretsen 00-1-03 1

Fouriertransformen av två kvantbitar intuition Vi vill implementera a 1 3 e πiac/4 c = 1 3 i ac c. 00 1 ( 00 + 01 + 10 + 11 ) 01 1 ( 00 + i 01 10 i 11 ) 10 1 ( 00 01 + 10 11 ) Lars Engebretsen 00-1-03 1

Fouriertransformen av två kvantbitar intuition Vi vill implementera a 1 3 e πiac/4 c = 1 3 i ac c. 00 1 ( 00 + 01 + 10 + 11 ) 01 1 ( 00 + i 01 10 i 11 ) 10 1 ( 00 01 + 10 11 ) 11 1 ( 00 Lars Engebretsen 00-1-03 1

Fouriertransformen av två kvantbitar intuition Vi vill implementera a 1 3 e πiac/4 c = 1 3 i ac c. 00 1 ( 00 + 01 + 10 + 11 ) 01 1 ( 00 + i 01 10 i 11 ) 10 1 ( 00 01 + 10 11 ) 11 1 ( 00 i 01 10 + i 11 ) Lars Engebretsen 00-1-03 1

Fouriertransformen av två kvantbitar intuition Vi vill implementera a 1 3 e πiac/4 c = 1 3 i ac c. 00 1 ( 00 + 01 + 10 + 11 ) 01 1 ( 00 + i 01 10 i 11 ) 10 1 ( 00 01 + 10 11 ) 11 1 ( 00 i 01 10 + i 11 ) Vi kan multiplicera med i genom att byta fas. Samla därför termer som innehåller i. Lars Engebretsen 00-1-03 1

Fouriertransformen av två kvantbitar intuition Vi vill implementera a 1 3 e πiac/4 c = 1 3 i ac c. 00 1 ( 00 + 01 + 10 + 11 ) 01 1 ( 00 10 ) + i 1 ( 01 11 ) 10 1 ( 00 01 + 10 11 ) 11 1 ( 00 10 ) + i 1 ( 01 + 11 ) Vi kan multiplicera med i genom att byta fas. Samla därför termer som innehåller i. Notera att i enbart dyker upp om bit noll är 1 i VL. Rotation av bit ett ändrar b 1 b 0 till ungefär 0b 0 ± 1b 0. Lars Engebretsen 00-1-03 1

Fouriertransformen av två kvantbitar konstruktion Rotera först bit ett (R 1 ): 00 1 00 + 1 10 ; 01 1 01 + 1 11 10 1 00 1 10 ; 11 1 01 1 11 Lars Engebretsen 00-1-03

Fouriertransformen av två kvantbitar konstruktion Rotera först bit ett (R 1 ): 00 1 00 + 1 10 ; 01 1 01 + 1 11 10 1 00 1 10 ; 11 1 01 1 11 Byt sedan fas (S R 1 ): 00 1 00 + 1 10 ; 01 1 01 + i 1 11 10 1 00 1 10 ; 11 1 01 i 1 11 Lars Engebretsen 00-1-03

Fouriertransformen av två kvantbitar konstruktion Rotera först bit ett (R 1 ): 00 1 00 + 1 10 ; 01 1 01 + 1 11 10 1 00 1 10 ; 11 1 01 1 11 Byt sedan fas (S R 1 ): 00 1 00 + 1 10 ; 01 1 01 + i 1 11 10 1 00 1 10 ; 11 1 01 i 1 11 Mönstermatchning vi vill egentligen ha: 00 1 ( 00 + 01 ) + 1 ( 10 + 11 ); 01 1 ( 00 10 ) + i 1 ( 01 11 ) 10 1 ( 00 01 ) + 1 ( 10 11 ); 11 1 ( 00 10 ) i 1 ( 01 11 ) Lars Engebretsen 00-1-03

Fouriertransformen av två kvantbitar konstruktion S R 1 ger: 00 1 00 + 1 10 ; 01 1 01 + i 1 11 10 1 00 1 10 ; 11 1 01 i 1 11 Lars Engebretsen 00-1-03 3

Fouriertransformen av två kvantbitar konstruktion S R 1 ger: 00 1 00 + 1 10 ; 01 1 01 + i 1 11 10 1 00 1 10 ; 11 1 01 i 1 11 Rotera nu bit noll (R 0 S R 1 ): 00 1 ( 00 + 01 ) + 1 ( 10 + 11 ); 01 1 ( 00 01 ) + i 1 ( 10 11 ) 10 1 ( 00 + 01 ) 1 ( 10 + 11 ); 11 1 ( 00 01 ) i 1 ( 10 11 ) Lars Engebretsen 00-1-03 3

Fouriertransformen av två kvantbitar konstruktion S R 1 ger: 00 1 00 + 1 10 ; 01 1 01 + i 1 11 10 1 00 1 10 ; 11 1 01 i 1 11 Rotera nu bit noll (R 0 S R 1 ): 00 1 ( 00 + 01 ) + 1 ( 10 + 11 ); 01 1 ( 00 01 ) + i 1 ( 10 11 ) 10 1 ( 00 + 01 ) 1 ( 10 + 11 ); 11 1 ( 00 01 ) i 1 ( 10 11 ) Mönstermatchning vi vill egentligen ha: 00 1 ( 00 + 01 ) + 1 ( 10 + 11 ); 01 1 ( 00 10 ) + i 1 ( 01 11 ) 10 1 ( 00 01 ) + 1 ( 10 11 ); 11 1 ( 00 10 ) i 1 ( 01 11 ) Lars Engebretsen 00-1-03 3

Fouriertransformen av två kvantbitar konstruktion S R 1 ger: 00 1 00 + 1 10 ; 01 1 01 + i 1 11 10 1 00 1 10 ; 11 1 01 i 1 11 Rotera nu bit noll (R 0 S R 1 ): 00 1 ( 00 + 01 ) + 1 ( 10 + 11 ); 01 1 ( 00 01 ) + i 1 ( 10 11 ) 10 1 ( 00 + 01 ) 1 ( 10 + 11 ); 11 1 ( 00 01 ) i 1 ( 10 11 ) Mönstermatchning vi vill egentligen ha: 00 1 ( 00 + 01 ) + 1 ( 10 + 11 ); 01 1 ( 00 10 ) + i 1 ( 01 11 ) 10 1 ( 00 01 ) + 1 ( 10 11 ); 11 1 ( 00 10 ) i 1 ( 01 11 ) Vi är nästan klara, vi behöver bara byta ordning på bitarna i HL! Lars Engebretsen 00-1-03 3

Fouriertransformen generella fallet Transformen av två kvantbitar kan skrivas R 0 S R 1 (bitvändning). Detta går att generalisera. Lars Engebretsen 00-1-03 4

Fouriertransformen generella fallet Transformen av två kvantbitar kan skrivas R 0 S R 1 (bitvändning). Detta går att generalisera. Vi använder operationerna R k operera med 1 ( ) 1 1 på bit k och 1 1 1 0 0 0 0 1 0 0 S kl operera med 0 0 1 0 på bitarna k och l. 0 0 0 e πi/l k Lars Engebretsen 00-1-03 4

Fouriertransformen generella fallet Transformen av två kvantbitar kan skrivas R 0 S R 1 (bitvändning). Detta går att generalisera. Vi använder operationerna R k operera med 1 ( ) 1 1 på bit k och 1 1 1 0 0 0 0 1 0 0 S kl operera med 0 0 1 0 på bitarna k och l. 0 0 0 e πi/l k Transformen av n bitar kan då skrivas R 0 S 0,1 S 0,n 1 R 1 R n 3 S n 3,n S n 3,n 1 R n S n,n 1 R n 1. Lars Engebretsen 00-1-03 4

Fouriertransformen grafiskt schema a 0 R 0 c 3 a 1 R 1 S 01 c a R S 1 S 0 c 1 a 3 R 3 S 3 S 13 S 03 c 0 Antal operationer: O(n ). Lars Engebretsen 00-1-03 5

Avslutning Vi kan faktorisera i polynomisk tid med kvantberäkningar. Är modellen realistisk? Lars Engebretsen 00-1-03 6

Avslutning Vi kan faktorisera i polynomisk tid med kvantberäkningar. Är modellen realistisk? Svårt att säga... Lars Engebretsen 00-1-03 6

Avslutning Vi kan faktorisera i polynomisk tid med kvantberäkningar. Är modellen realistisk? Svårt att säga... Det verkar svårt att bygga datorer enligt modellen. Rekord för närvarande: 7 bitar, faktorisera 15. (Nature 414, ss 883 887, 001.) Lars Engebretsen 00-1-03 6

Avslutning Vi kan faktorisera i polynomisk tid med kvantberäkningar. Är modellen realistisk? Svårt att säga... Det verkar svårt att bygga datorer enligt modellen. Rekord för närvarande: 7 bitar, faktorisera 15. (Nature 414, ss 883 887, 001.) Å andra sidan har den klassiska datorn utvecklas en hel del sedan turingmaskinen introducerades kanske ska vi inte bygga kvantdatorer exakt enligt modellen? Lars Engebretsen 00-1-03 6

Avslutning Vi kan faktorisera i polynomisk tid med kvantberäkningar. Är modellen realistisk? Svårt att säga... Det verkar svårt att bygga datorer enligt modellen. Rekord för närvarande: 7 bitar, faktorisera 15. (Nature 414, ss 883 887, 001.) Å andra sidan har den klassiska datorn utvecklas en hel del sedan turingmaskinen introducerades kanske ska vi inte bygga kvantdatorer exakt enligt modellen? Ett modellproblem: Hur stoppar vi in indata i kvantbitarna? Kräver att bitarna tvingas till ett specifikt tillstånd. Lars Engebretsen 00-1-03 6