1 Klassische vs. Quantencomputer 1.1 Bits und Qubits KL Darstellung durch gemeinsamen Zustand vieler Elektronen. Diskretisierung durch Schwellwert bezüglich einer Observablen. (z.b. Spannung am Kondensator). QU Darstellung durch 1-Partikel-System mit zwei Eigenzuständen 0 und 1. (z.b. Spin, Polarisierung, Grund- und erregter Zustand eines Ions) 1.2 Speicher KL Menge voneinander unabhängiger Bits. Lokale Änderungen möglich. Kapazität steigt linear mit der Anzahl der Bits. QU Gemeinsamer Quantenzustand mehrerer verknüpfter Qubits. Jeder Manipulation eines Qubits hat Auswirkungen auf den Gesamtzustand. Kapazität steigt exponentiell mit der Anzahl der Qubits. 1
1.3 Operationen KL Alle booleschen Operationen können ausgeführt und uneingeschränkt kombiniert werden. Zustandsänderungen exotherm. QU Nur reversible Operationen können ausgeführt werden. Beschränkung auf unitäre Operatoren. Zustandsänderungen adiabatisch (konstante Entropie). 1.4 Input und Output KL Das Setzten von Registern ist zu jedem Zeitpunkt möglich. Register können gelesen werden, ohne deren Zustand zu verändern. QU Rücksetzen von Registern ist nicht unitär und nur durch zu Beginn der Berechnung durch Kühlung auf den Grundzustand möglich. Die Messung eines Qubits reduziert den Quantenzustand des Speichers. 2
2 Quantum Computation 2.1 Zustandsraum Ein allgemeiner Zustand ψ H von n Qubits ist gegeben durch ψ = 2n 1 i=0 c i i mit 2 n 1 i=0 c ic i = 1, H = C 2n 2.2 Unitäre Operatoren Reversible Berechnungen werden durch unitäre Operatoren (d.h. U 1 = U ) beschrieben. Eine allgemeine unitäre Operation U2 auf ein Qubit hat folgende Form: U2 = e i(δ+σ+τ) cos( θ 2 ) e i(δ+σ τ) sin( θ 2 ) e i(δ σ+τ) sin( θ 2 ) ei(δ σ τ) cos( θ 2 ) Zusammen mit dem 2-Qubit Operator XOR : x, y x, x y kann jede unitäre Transformation realisiert werden. 3
2.3 Messung von Zuständen Die Messung von n Qubits reduziert die Dimension von H um den Faktor 2 n : 2 n 1 i=0 2 m 1 c i,j i, j 1 2 m 1 c I,j I, j j=0 p(i) j=0 Die Wahrscheinlichkeit p(i), im ersten Register den Wert I zu messen, ist dabei gegeben durch p(i) = 2m 1 j=0 c I,jc I,j 2.4 Parallelität Da unitäre Operatoren linear sind, werden Operationen auf gemischte Zustände parallel ausgeführt. U i c i i = i c iu i 4
2.5 Irreversible Funktionen Um eine irreversible Funktionen f(x) zu einem reversiblen Operator F zu erweitern, genügt es, das Argument mitzuführen und ein Zielregister zu verwenden: F x, 0 x, f(x) 2.6 Scratch Space Management Um den Speicher für Zwischenergebnisse wieder zurückzugewinnen, kann folgende Methode verwendet werden: x, 0, 0 G x, g(x), 0 H x, g(x), h(g(x)) G x, 0, h(g(x)) 5
3 Shor s Algorithmus 3.1 Modulare Exponentiation EXPN N,x a, 0 = x a mod N N = n 1 n 2 sei das Produkt aus zwei Primzahlen, Ist die Periode r von f(a) = f(a + r) = x a mod N bekannt, so kann für r N g ein Primteiler von N gefunden werden. n = ggt(n, x r/2 + 1) oder n = ggt(n, x r/2 1) 3.2 Diskrete Fourier Transformation FFT i = 1 2 n/2 2 n 1 j=0 e2πi 2 n ij j Die FFT bildet eine homogene periodische Verteilung auf ein periodisches Spektrum ab: FFT i c ri + s = j c j 2n r j 6
3.3 Algorithmus Für N = n 1 n 2 < 2 n benutzt man 2 Register mit 2n und n Qubits. Alle Operatoren beziehen sich auf das erste Register. 0, 0 FFT q 1 q i=0 i=0 c i, 0 EXPN c i, 0 mit q = 22n q 1 i=0 c i, xi mod N Eine Messung im zweiten Register stellt eine (fast) homogene periodische Verteilung her: q 1 i=0 c i, xi mod N mess2 q/r 1 j=0 c rj + s, w Eine weitere FFT beseitigt den Offset s: q/r 1 j=0 c rj + s, w FFT 1 r 1 r k=0 e iφ k q k, w r Messung von c = λ(q/r) im ersten Register. Die Periode r kann berechnet werden, wenn ggt(λ, r) = 1, da λ/r c 2 2n mit λ, r < 2 n. 7