Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/05 1.12

Preview:

Citation preview

Quantum Computing

Hartmut KlauckUniversität FrankfurtWS 04/051.12.

Fourier Transformation

Klassische Fouriertransformation: g sei Funktion ZL ! C

[Vektor mit L Einträgen]

Mit w=e2 i/L ist Matrix für Fouriertransformation durch FTL(i,j)=wij; 0· i,j· L-1 gegeben

Trivialer Algorithmus zur Fouriertransformation: Zeit O(L2)

Schnelle Fouriertransformation [FFT] in ZeitO(L log L)

Quanten Fourier Transformation

Sei L=2l. Sei |i=j=0,...,L-1 j |ji ein Zustand. Die Fouriertransformation von |i ist

|i =j=0,...,L-1 j |ji, mit

Also Fouriertransformation auf Superpositionen Auch QFT genannt Gibt es einen effizienten Algorithmus der QFT

implementiert? Effizient:polynomiell in l=log L

Quanten Fourier Transformation

Sei L=2l. Sei |i=j=0,...,L-1 j |ji ein Zustand.

Schreibe j=j1 jl; j = j12l-1 ++jl20

Setze 0.jt jt+1 ... jl = jt/2++jl/2l-t+1

Es gibt die folgende Produktrepräsentation der QFT:

|j1...jli wird abgebildet auf

1/2l/2 ¢ t=l,...,1 (|0i+ e2i 0. jt...jl |1i)

=1/2l/2 ¢ t=1,...,l (|0i+ e2ij/2t |1i)

Quanten Fourier Transformation

|j1...jli wird abgebildet auf 1/2l/2 ¢ t=l,...,1 (|0i+ e2i 0. jt... jl |1i)

Sei Rk folgendes Gatter

Wende H auf j1 an. Ergebnis: 1/21/2 ¢ (|0i+ e2i 0. j1 |1i) |j2,...,jli Wende nun durch jt mit t=2,...,l kontrollierte Rt

Gatter auf erstes Qubit an. Ergebnis: 1/21/2 ¢ (|0i+ e2i 0. j

1,...,j

l |1i) |j2,...,jli

Erstes Qubit korrekt (wie gewünschtes letztes Qubit)

Quanten Fourier Transformation

Bis auf Vertauschungen von Qubits vollständig;Anzahl der Gatter: l+(l-1)++1=O(l2)=O(log2 L)

Quanten Fourier Transformation

Achtung: Ergebnis der QFT ist eine Superposition, daher keine exponentielle Beschleunigung der normalen Fourier Transformation

Eigenschaften QFT

Kann in Zeit O(l2) berechnet werden, bzw. beliebig nah approximiert werden wenn nur Standard Gatter erlaubt

QFT ist unitär, da Schaltkreis unitär Setze w=e2i/L, dann ist FT-1

L(i,j)=w-ij;0· i,j· L-1

Translationsinvarianz: Sei QFT j=0,...,L-1 j |ji = j=0,...,L-1 j |ji

Tk: |ji |j+k mod Li. Dann istQFT Tk j=0,...,L-1 j |ji= QFT j=0,...,L-1 j |j+k mod Li

= j=0,...L-1 e2 ijk /L j |ji Also ist bei sofortiger Messung Tk ohne Wirkung

Phase Estimation

Problem: Gegeben für unitären Operator U, Potenzen Uj als Black Box; j=1,2,4,8,...,2t-1

Ausserdem gegeben: Eigenvektor |ui von U Gesucht: Eigenwert e2i, d.h. unbekannes Annahme: mit t Nachkommastellen (binär)

darstellbar Verwende t Qubits q0,...,qt-1 im Zustand |0i sowie

Zustand |ui Wende Hadamard auf q0, und kontrolliertes U=U1

mit Kontrolle q0 und Ziel |ui an Ergebnis: (|0i+e2i |1 i)/21/2 in q1, |ui unverändert Analoges für alle q1,...,qt-1

Phase Estimation

Ergebnis: (|0i+exp(2i2p) |1 i)/21/2

auf Qubit p, also 1/2t/2 ¢ p=t-1,...,0 (|0i+ e2i 0. p..t-1 |1i)insgesamt

QFT-1 gibt uns (Annahme hier: mit t Stellen darstellbar)

Phase Estimation

|0i+e2i2t-1|1i

|0i

|0i|0i

|ui

H

H

H

H

U1 U2 U4 U2t-1

|0i+e2i4|1i

|0i+e2i2|1i

|0i+e2i|1i

|0i

|ui

QFTy ergibt |i

Phase Estimation

Wenn nicht mit t Stellen darstellbar, dann ergibt sich Approximation

Um Genauigkeit 1/2n mit Wahrscheinlichkeit 1- zu erhalten setze t=n+log(2+1/)

Finden von Perioden

Funktion f:Z!ZN als Black BoxEs gibt ein r<N: f(i)=f(i+r) für alle i2Z i j+k ) f(i)f(j)

Finde r Lösen für beliebige periodische f

Uf: |ji |yi |ji |f(j) yi; j2ZL; f(j)y 2 ZN

Shors Algorithmus

log L+log N Arbeitsqubits log L Qubits im Zustand |0i ; 02ZL

log N Qubits im Zustand |1i ; 12ZN

Wende Hadamard auf 1. Register an Wende Uf an Ergebnis:

Messe zweites Register Ergebnis:

Shors Algorithmus

Ergebnis:

0 · j0 · r-1;

L-r · j0+(A-1)r · L-1 A-1 < L/r < A+1

Messung des ersten Registers jetzt wäre nutzlos

Shors Algorithmus

Ergebnis:

Wende QFT an Ergebnis:

d.h. Wahrscheinlichkeit von k ist unabhängig von j0 (Translationsinvarianz)

Shors Algorithmus

Ergebnis:

Messung: Wahrscheinlichkeit von k ist

Vereinfachende Annahme: r teilt L, d.h. A=L/r, dann

Shors Algorithmus

Vereinfachende Annahme: r teilt L, d.h. A=L/r, dann

Wenn A Teiler von k, dann =1/r Wenn A kein Teiler von k, dann = 0 (weil r mal

Wahrscheinlichkeit 1/r weg) D.h. wir erhalten Vielfaches von A=L/r, also cL/r

mit 0· c· r-1 Mit hoher Ws. ist c teilerfremd zu L/r Dann ggt(cL/r,L)=L/r, L bekannt, erhalten r

Shors Algorithmus

Allgemein: Wahrscheinlichkeit von k ist

„favorisiert“ Werte von k mit kr/L nahe an Integer Geometrische Reihe

mit k=2kr (mod L)/ L

Shors Algorithmus

mit k=2kr (mod L)/ L

Es gibt genau r Werte von k2ZL mit -r/2· kr (mod L) · r/2

Für diese also - r/L· k· r/Ld.h. mit j· A-1<L/r liegen die Winkel k

j alle in einer Halbebene ) kontruktive Interferenz!

Betrachte solches k

Shors Algorithmus

Es gilt |1-eik|· |k|[direkte Distanz „1“ von „eik“ ist kleiner als Bogenlänge]

Es gilt |1-eiAk|¸ 2A|k|/, wenn A|k|· denn sei dist(0,)=|1-ei|,dann ist dist(0,)/||¸ dist(0,)/=2/

Tatsächlich ist A < (L/r)+1,also Ak · A r/L < (1+r/L)

Shors Algorithmus

|1-eik|· |k| ;|1-eiAk|¸ 2A|k|/, wenn A|k|· Ak · A r/L < (1+r/L)

Shors Algorithmus

Wir erhalten jedes der r gewünschten k mit Wahrscheinlichkeit proportional zu 1/r, also insgesamt mit konstanter Wahrscheinlichkeit ein k mit-r/2· kr (mod L) · r/2 [Erfolg]

|kr-cL|· r/2 für ein c Dann:|k/L-c/r|· 1/(2L), d.h. k/L ist Approximation von c/r Wir kennen k und L. Wähle reduzierte Darstellung von k/L als

rationale Zahl. c ist uniform zufällig aus 0,...,r-1 c kein Teiler von r mit Wahrscheinlichkeit 1/log c Dann: Berechnung von c/r gibt uns auch r Wähle also L gross genug, um gute Approximation zu erhalten

Shors Algorithmus

Wir erhalten mit konstanter Wahrscheinlichkeit ein k mit |k/L-c/r|· 1/(2L)

Mit Wahrscheinlichkeit 1/log c<1/log L ist ggt(c,r)=1

Sei r<N, L=N2

c/r ist rationale Zahl mit Nenner <N Zwei solche Zahlen liegen nicht dichter

aneinander als 1/N2=1/L > 1/(2L) Es gibt also im Intervall nur die eine rationale Zahl

c/r mit Nenner < N Finde die rationale Zahl mit Nenner < N, die nah

an k/L liegt Kettenbruchmethode

Kettenbruchmethode

Die Kettenbruchmethode berechnet zu einer reellen Zahl die Kettenbruchdarstellung

Wenn |c/r-|· 1/(2r2), dann wird in einem der Schritte das Paar c,r erzeugt, nach höchstens O(t3) Operationen für t-Bit Zahlen

Performance insgesamt

Mit konstanter Wahrscheinlichkeit ist k gut Mit Wahrscheinlichkeit 1/log N ist auch c gut (d.h.

teilerfremd zu r) Anzahl Wiederholungen daher O(log L)

Zum Finden der Ordnung in ZN wähle also L=N2,

d.h. 2 log N +log N Qubits insgesamt Fouriertransformation in O(log2 L) Dann kann mit dem Kettenbruchalgorithmus r

bestimmt werden aus k/L in O(log3 L) Zeit Errechnetes r kann mit Black Box getestet

werden Also Zeit erwartet O(log4 N), kann auf O(log3 N)

gesenkt werden

Kettenbruchmethode

Gegeben reelles Approximiere durch

Finde Darstellung so: Nehme ganzzahligen Teil als a0, invertiere Rest, iteriere

Theorem: |p/q-|· 1/(2q2), dann tritt p/q im Algorithmus nach O(log (p+q)) Schritten auf

Recommended