QUANTENCOMPUTER Eine Einführung Enrico Arrigoni WS 2009/10 Herzlichen Dank an den Herren Roland Peckl und Stefan Rossegger für die Hilfe bei der Verfassung des Textes. —— Inhalt Inhaltsverzeichnis 1 Einführung 4 1.1 Geschichtliches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2 Struktur und Gliederung der Vorlesung . . . . . . . . . . . . . . . . . . . . . . 6 1.3 Was bedeutet schnellere Algorithmen ? . . . . . . . . . . . . . . . . . . . . . . 8 1.4 Exkurs: warum ist die Faktorisierung interessant? . . . . . . . . . . . . . . . . 9 2 Klassische Logik und klassische Rechnung 13 2.1 Vom elementaren Prozess zur (komplizierten) Funktion . . . . . . . . . . . . . 14 2.2 Elementare Operationen (B) sind die Boolsche Operatoren . . . . . . . . . 14 2.3 Beispiel für die Realisierung einer Funktion (C) durch Boolsche Operatoren . . 15 2.4 Universalität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.5 Dirac-Darstellung für klassische Zustände . . . . . . . . . . . . . . . . . . . . . 18 2.6 Darstellung von logischen Operatoren in Dirac-Schreibweise . . . . . . . . . . . 19 3 Konzepte der Quantenmechanik 22 3.1 Der quantenmechanische Zustand - Dirac Darstellung . . . . . . . . . . . . . . 22 3.2 Die Messung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.3 Zeitentwicklung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4 QuantenBits - QUBITS 29 4.1 Gates für ein QuBit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.2 Zwei-Qubits Gates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.3 CONTROLLED NOT - Gate - CN OT . . . . . . . . . . . . . . . . . . . . . . . 32 4.4 Einstein, Podolsky, Rosen (EPR) Paradox (EINSCHUB) . . . . . . . . . . . . 34 4.5 Phase-shift Gate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.6 Controlled-U - Gate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.7 Quanten-Arithmetik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 2 4.7.1 4.8 Auswertung von Funktionen . . . . . . . . . . . . . . . . . . . . . . . . 40 Quantenparallelismus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.8.1 44 Zusammenfassung und Überlegungen . . . . . . . . . . . . . . . . . . . 5 Erste Quantenalgorithmen 45 5.1 Einfacher Algorithmus (D. Deutsch) . . . . . . . . . . . . . . . . . . . . . . . . 45 5.2 Quanten-Recherche in Datenbanken (Grover-Algorithmus) . . . . . . . . . . . 46 5.2.1 51 Realisierung der Spiegelung RS . . . . . . . . . . . . . . . . . . . . . . 6 Einige Physikalische Realisierungen 53 6.1 Notwendige Voraussetzungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 6.2 Ionen in einer Ionenfalle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 6.2.1 1-Qubit Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . 56 6.3 Messung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 6.4 2-Qubit Transformationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 6.5 Weitere Realisierungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 6.5.1 71 Richtige Behandlung des J-Termes . . . . . . . . . . . . . . . . . . . . 7 Faktorisierung 73 7.1 Faktorisierungsalgorithmus (Shor’94) . . . . . . . . . . . . . . . . . . . . . . . 73 7.2 Quanten-suche nach der Periode einer Funktion . . . . . . . . . . . . . . . . . 77 7.3 Fourier-Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 8 Fehler in einem Quantencomputer 8.0.1 88 Was ist anders in einem Quantencomputer . . . . . . . . . . . . . . . . 89 Quantenfehlerkorrektur (SHOR, 95) . . . . . . . . . . . . . . . . . . . . . . . . 89 8.1.1 Phasenfehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 8.1.2 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 8.2 Dekohärenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 8.3 Dichtematrix formalismus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 8.4 Beispiel: Dichtematrix und Messung . . . . . . . . . . . . . . . . . . . . . . . . 103 8.1 3 8.5 Dekohärenz versus Systemgröße . . . . . . . . . . . . . . . . . . . . . . . . . . 103 8.6 Rekohärenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 9 One-way Quantum Computer 107 9.1 Vergleich: Standard/One-Way Quantum Computer . . . . . . . . . . . . . . . 107 9.2 Beispiel: linearer Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 9.2.1 Einzelne Schritte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 10 Literatur 111 1 Vorwort Allgemeine Bemerkungen Die Vorlesung richtet sich vor allem an Studierende der Physik, die ein besonderes Interesse an Quantenmechanik und ihre Anwendungen haben. Die faszinierenden Eigenschaften der Quantenmechanik zeigen neue Möglichkeiten auf, Probleme, die mit gewöhnlichen Algorithmen und Computern nur in astronomischen Zeiten lösbar wären, effizient und schnell zu behandeln. In dieser Vorlesung soll durch einige Beispiele vermittelt werden, wie aus den einfachsten Regeln der Quantenmechanik solche für den Quantencomputer notwendigen Algorithmen entwickelt und realisiert werden können. Was ist ein Quantencomputer ? Eine fundamental neue Art von Informationsverarbeitung, dass die einzigartigen Eigenschaften der Quantenmechanik benutzt um ihre Effizienz zu verbessern. Mit Hilfe quantenmechanischer Überlegungen und deren Gesetzen sollen bestimmte Algorithmen verbessert und weiterentwickelt werden. Warum diese Vorlesung? Zweck dieser Vorlesung ist es, eine sinnvolle Ergänzung zu den Quantenmechanik-Grundlagen anzubieten und eine moderne Anwendung der Quantenmechanik vorzustellen. Das Gebiet Quantencomputer hat sich in den letzten Jahren schnell entwickelt und gewinnt immer mehr an Bedeutung,vor allem durch die rasend schnelle Entwicklung der Mikroelektronik und der Informationstechnologie. Bedingt durch die Miniaturisierung der Bausteine (Schalt-u. Speicherelemente) spielt die Quantenmechanik bereits jetzt eine wichtige Rolle in der Hardware moderner Computer. Für die Software gilt aber nach wie vor die klassische Logik. Ebendies ist Aufgabe der QuantenInformatik, sich darüber Gedanken zu machen, wie die quantenmechanischen Gesetze direkt in 2 der Logik, also in die Software angewendet werden können. Einige dieser Möglichkeiten sollen in dieser Vorlesung gezeigt werden. 3 1 Einführung 1.1 Geschichtliches • Landauer (1961) Nur unumkehrbare (irreversible) logische Operationen verursachen einen Energieverlust (Dissipation). Dies ist beim Quantencomputer von besonderer Wichtigkeit, da hier nur reversible Operationen zulässig sind.Im Prinzip können umkehrbare Berechnungen ohne Energieverlust dargestellt werden. • Moor’sches Gesetz (1975) Die Zahl der Transistoren pro Fläche verdoppelt sich alle 2 Jahre, wenn man die Linie in Abb.1 extrapoliert. D.h.: im Jahre 2020 würde ein Bit durch ein einzelnes Atom beschrieben. DAS MOOR'SCHE GESETZ 19 Anzahl der Atome in einem Bit 10 15 10 11 10 7 10 1000 Quantenmechanisches Regime ? 0.1 1960 1970 1980 1990 2000 2010 Jahr Abbildung 1: Das Moor’sche Gesetz 4 2020 • Benioff,Feynman (1982) Erste Idee eines Quantencomputers: ein System, das quantenmechanische Bits kontrolliert, um komplexe quantenmechanische Systeme zu simulieren. Physikalische Quantensysteme (z.B.: ein Festkörper) können im Prinzip durch klassische Rechner simuliert werden, jedoch nur sehr ineffizient. Da der Hilbertraum sehr groß ist , wächst der Bedarf an Speicherplatz und Rechenzeit exponentiell mit der Systemgröße an. Feynman: Die Positive Seite ist aber, dass genau aus diesem Grund können quantenmechanische -Systeme exponentiell mehr Information speichern und verarbeiten. • Deutsch (1989) Erste einfache quanten-logische Schaltung, somit erster Entwurf eines praktischen Quantencomputer. • Shor (1994) Formulierte den ersten Algorithmus, der durch einen QC exponentiell schneller durchgeführt werden kann, als mit einem klassischen Rechner, nämlich die Faktorisierung grosser Zahlen (siehe Kap.7.1). • Cirac und Zoller (1995,Innsbruck) -Monroe et al. (1995,Boulder) Erster Vorschlag (Cirac+Zoller) und Realisierung (Monroe et al) einer 2-Quantenbit Schaltung durch Berillium+ -Ionen in einer Falle. • Turchette (1995,Caltech) Ebenfalls Realisierung einer 2-Quantenbit Schaltung mit polarisierten Photonen • Shor, Steane (1996) Erste Vorschläge, wie man Fehler in QC korrigieren kann. 5 1.2 Struktur und Gliederung der Vorlesung • Klassische vs. Quantenlogik – Klassische Computer: Datenspeicherung und -verarbeitung Bits, Bool’sche Schaltungen (Gates), Netzwerke etc. – Die Sprache der Quantenmechanik Dirac’sche Darstellung für klassische Zustände und logische Operatoren. – Irreversibilität Nichtumkehrbarkeit von Operationen und somit Entropiezuwachs • Fundamentale Gesetze der Quantenmechanik – Superpositionsprinzip Ein QM Zustand besteht aus einer Überlagerung mehrerer (klassischen) Zuständen: somit kann dieser prinzipiell eine größere Menge von Information gleichzeitig speichern und bearbeiten. z.B. Elektron mit Spin polarisiert in x-Richtung (~ = 1): |Sx = +1/2 >= |Sz = +1/2 > +|Sz = −1/2 >. N Elektronen können prinzipiell gleichzeitig 2N Konfigurationen speichern. – Messprinzip Unschärferelation: es ist unmöglich einen Quantenzustand komplett zu bestimmen. Eine Messung beeinflusst (und zerstört) immer den Quantenzustand. Konsequenz: die Superposition mehrerer Zustände kann nicht beobachtet werden. Wenn man z.B den Spin Sz eines Teilchen misst, bekommt man entweder +1, oder -1. Die restliche Information wird zerstört. – Interferenz Was ein Quantencomputer wirklich ausnutzen kann. 6 Ein Quantenalgorithmus muß die INTERFERENZ geschickt ausnutzen. Das ist die Herausforderung der (theoretischen) Quanteninformatik. Man kann das nicht für alle numerische Fragen tun. In dieser Vorlesung werden wir sehen, welche diese Fragen sind, und wie man die Interferenz ausnutzen kann, um schnellere Algorithmen zu erzeugen. – Verschränkung Zwei getrennte Systeme, die in der Vergangenheit wechselgewirkt haben, können gemeinsame Information enthalten, die nicht lokal zugänglich ist. • Quantenalgorithmen – Fundamentale Frage Wie nutzt man die quantenmechanische -Gesetze, um schnellere Algorithmen zu machen? – Was heißt schneller? Konzept der Rechenkomplexität – Einige algorithmen: Suche in Datenbanken (Grover), Faktorisierung (Shor),. . . • weitere Anwendungen: – Perkeft sichere Datenübertragung (Cryptographye) – Simulierung quantenmechanischer Systeme: Forschung in Festkörperphysik, Teilchenphysik .. • Physikalische Realisierung (Hardware) – Verschiedene Möglichkeiten der Realisierung Ionen in einer Ionenfalle, Quantum Dots, Photonen in einem Hohlraumresonator, Otisches Gitter (Bose-Einstein Kondensation), Supraleiter, Nuclear Magnetic Resonance etc. 7 • Wie werden Fehler korrigiert – Die wichtigsten Fehler z.B.: Wechselwirkung mit der Umgebung (Dekohärenz), Phasenfehler, Störung durch Messung, etc. 1.3 Was bedeutet schnellere Algorithmen ? (Algorithmenkomplexität) Alles kann man im Prizip berechnen, (z.B. Zeitentwicklung eines Quantenmechanisches Systems) aber mit welchem Aufwand (Zeit). Hängt natürlich von der Geschwindigkeit des Computers ab. Trotzdem kann man eine Definition angeben von schnellen (berechenbaren) oder langsamen (unberechenbaren) Algorithmen (oder entsprechender Probleme) die nicht von der Maschine abhängt:1 Ein Algorithmus ist berechenbar, wenn die Rechenzeit (T : Anzahl der elementaren Rechenschritte) nicht schneller als ein Polynom der Größe des Inputs wächst (Schwierigkeitsklasse “P”) L = Größe des Inputs = Anzahl von Bits == Anzahl von Binärstellen (oder Dezimalstellen) Beispiel: T ∼ L3 Algorithmen, deren T schneller als jedes Polynom von L wächst sind UNBERECHENBAR (Schwierigkeitsklasse “N” oder NP“) ” z.B. exponentiell T ∼ exp L aber auch T ∼ exp(L1/2 ) (subexponentiell). Church und Turing Vermutung (1936): Diese Klassendefinition ist universell: hängt nicht von der Maschine ab. Z.B. die Klasse kann mit einer sog. Turing Maschine“ getestet werden: einfachste Maschine ” die nur eine Einzeloperation pro Schritt machen und speichern kann. PN Probleme: 1 Für berechenbar verwendet man auch die Bezeichnung effizientünd für unberechenbar ineffizient“ ” ” 8 Das sind Probleme, die (nach der obigen Definition) UNBERECHENBAR sind, aber gegeben einen Ansatz für die Lösung, kann diese in POLYNOMIALER Zeit getestet werden. Wichtiger Beispiel (auch für Quantencomputers): FAKTORISIERUNG: gegeben n, Finde a,b, so daß a × b = n (angenommen wir wissen, dass es nur zwei Faktoren gibt, n, a, b ganzzahlig) Für die Multiplikation gilt T ∼ L2 . Am besten sieht man das mit Hilfe eines Beispiels: 1 2 3 4 5 6 7 3 8 6 1 5 4 9 2 × ··· ··· ··· ··· Der “Hauptteil” besteht aus L2 Multiplikationen einzelner Dezimalstellen. Die Summe und die Restübertragung ändern den L2 Verhalten von T nicht. Einfachter Algorithmus zur Faktoriesierung von n: Man versucht n durch alle Zah√ len zwischen 2 und n = 2L zu dividieren, bis man einen Faktor gefunden hat. Für diesen Algorithmus T 2L/2 ∗ L2 , also EXPONENTIELL Der beste Algorithmus ist nicht wesentlich besser: T ∼ exp[L1/3 (logL)2/3 ]. Beispiel: 1.4 Exkurs: warum ist die Faktorisierung interessant? Cryptographye: Der Spion A will geheime Informationen an B übertragen, über ein unsicheres (oder sogar öffentliches) Kanal (z.B. , Radio, Internet, ..) 9 Dezimalstellen Faktorisierung/[Jahre] mit Quantencomputer/[Jahre] 1 2 log10 2 ·L eαL 3 (log L) 3 ) ∝ L3 20 10−5 0.06 50 0.05 1 100 151 8 129 5000 17 150 60000 27 300 19 · 109 216 Standardmethoden: A und B einigen sich vorher über einen Schlüssel (Das trivialste - aber einfach zu knacken - ist eine Permutation der Buchstaben. Die sog.. 1-Pad Methoden stellen eine Verbesserung dieser Methode dar). Nachteile: 1) Der Schlüssel muss unbedingt über ein sicheres Kanal übertragen werden (z.B., A und B treffen sich vorher) 2) A kann erwischt werden, oder unzuverlässig sein oder sein Kode gestohlen werden Beide methoden sind schlecht für z.B. Internet Lösung: Public Key Cryptography (oder RSA von den Namen der Erfindern, Rivest,Shamir,Adleman) . Wird in Internet bei Verschlüsselten Verbindungen benutzt: z.B. bei Kontoführung oder Bezahlung mit Kreditkarte, usw. oder ssh protocol zur login in einer remoten Machine Wie der Name sagt ist der Schlüssel Öffentlich, d.h. jeder kennt ihn. Jeder kann mit diesem Schlüssel eine verschlüsselte Nachricht herstellen nur B kann aber die Nachricht entschlüsseln Wie funktioniert das? 10 Siehe Preskill’s lecture notes, Sec. 6.10.2 : http://www.theory.caltech.edu/people/preskill/ph229/notes/chap6.ps 11 Quantenalgorithmus: Faktorisierung einer riesigen Zahl (z.B. mit 300 Dezimalstellen ) M Warum? RSA Kryptographie M RSA M Bank P x Q = M Internet (P,Q Primzahlen) Codierung Kann nur mit Kenntnis der Faktoren P und Q dekodiert werden ! Rechenzeit zur Faktorisierung von M Dezimal "Klassischer" Algor. Stellen (1 GHz Rechengeschw.) 100 300 L 150 Tage (1 MHz) (Shor 94) 2.5 Stunden 6 Millionen Jahre ~ exp L Quanten− Algor. 1/3 Rechenschritte 2.5 Tage ~L 3 Rechenschritte Zeitaufwendigster Schritt : Suche der Periode der Funktion f(x) = Y x mod M 12 2 Klassische Logik und klassische Rechnung Information wird in Einheiten von Bits dargestellt: 0 (nein) b= 1 (ja) Bits müssen physikalisch dargestellt werden können, z.B.: • Zwei weit entfernte Ströme oder Spannungen in elektrischen Schaltungen • Zwei in verschiedene Richtungen magnetisierte Bereiche Bits müssen prinzipiell beliebig kopierbar und dauerhaft sein. Komplizierte Information kann, in binärer Schreibweise, als Reihe von Bits dargestellt werden. z.B.: 6=110 , 7=111 ,”a”=100 ,”b”=101 Eine Gruppierung von L Bits nennen wir ein Register. Dieses kann in binärer Kodierung 2L Werte darstellen. Es erhebt sich nun die Frage: Können andere Schemen besser sein? Unär =⇒ 1,11,111 : Speicher wächst exponentiell Trinär,usw =⇒ können binär effizient dargestellt werden Um Rechnungen durchführen zu können muß man beliebige Funktionen an Register anwenden können ′ R = f (R1 , R2 , ...) z.B. für Bits: 13 ′ 1 Bit −→ 4 unterschiedliche Funktionen ′ 2 Bits −→ 16 unterschiedliche Funktionen b = f1 (b) b = f2 (b1 , b2 ) 2.1 Vom elementaren Prozess zur (komplizierten) Funktion Man möchte beliebig komplizierte Funktionen als ”Netzwerk”elementarer Operatoren ausdrücken. Das ist auch das Ziel eines Quantencomputers. IDEE (A) Implementierbare physikalische Bauelemente (z.B.: elektrische Kreise mit MOS-Fet’s) ⇓ (B) Netzwerk elementarer Operatoren Boolsche Operatoren (bilden einen universellen Satz) ⇓ (C) beliebig komplizierte Funktion Beispiel: Addition als “Netzwerk” elementarer Operationen 2.2 Elementare Operationen (B) sind die Boolsche Operatoren . • Not b 0−→1 b 1−→0 14 . 0 0 0 1 b1 • And b1 b2 b2 b1 −→ 0 1 1 −→ 1 . • Or 1 0 b1 b2 b2 0 0 −→ 0 0 1 −→ 1 1 0 1 1 2.3 Beispiel für die Realisierung einer Funktion (C) durch Boolsche Operatoren Z.B. Addition Man benötigt zwei Input Register A = A3 A2 A1 B = B3 B2 B1 ein Übertrag- und ein Output-Register: R4 R3 R2 R1 = 0 ..... Übertrag der vorigen Bits S4 S3 S2 S1 ..... Summe Man braucht zunächst die bit-sum (mod 2) Funktion: 15 (a + b)mod2 = (a ⊕ b) · (a · b) Dann haben wir für die einzelnen Bits der Summe und des Übertrags: Si = ((Ai + Bi )mod2 + Ri )mod2 ..... Summe = Int( Ai +B2i +Ri ) Ri+1 = [(Ai · Bi ) ⊕ (Ai · Ri )] ⊕ (Bi · Ri ) ..... Übertrag Bsp: A=111 B=011 R2 = [(A1 · B1 ) ⊕ (A1 · R1 )] ⊕ (B1 · R1 ) = 1 | {z } | {z } | {z } 0 1 0 {z } | 1 Ergebnis: A= 111 B= 011 R=1110 S=1010 Netzwerk zur Realisierung der bit-sum-Funktion a (a+b)mod2 b NAND Nand = And-Not = 16 2.4 Universalität Boolsche Operatoren können als Netzwerk anderer Operatoren aufgebaut werden. Mit Nand können alle Boolschen Operatoren gebildet werden. D.h.: Nand ist ein universelles Logikelement. • Not Not(a) = a =⇒ a = Nand(a, a) • And a·b =⇒ Nand(a, b) • Or a⊕b =⇒ Nand(a, b) +V Senke (Drain) +Vg Strom fließt also nur wenn VG > Vkrit ≈ Mosfet Gatter (Gate) Quelle (Source) 1V olt Vs=0 Vi > 2V Für Bits gilt: −→ 1 Vi 6 0.8V −→ 0 17 V R V Nand(a,b) (Output) a R b (Output) b (Input) b Not(b) Nand(b) 2.5 Dirac-Darstellung für klassische Zustände 1-Bit Zustände Zustand(Basis): |0i |1i |2i ... | {z } Bits Klassischer Zustand kann nur ein Basiselement sein, z.B.: |Ψi = |1i ”Ket”-Vektor hΨ| = h1| ”Bra”-Vektor Skalarprodukt: h0|1i = 0 h1|1i = 1 hm|ni = δm,n 2-Bit Zustände Basis |00i |01i |10i |11i ”Ket”-Vektor h00| h01| h10| h11| ”Bra”-Vektor 18 Skalarprodukt: h01|01i = 1 h01|10i = 0 h01|11i = 0 usw. ′ ′ hmn|m n i = δm,m′ δn,n′ Bemerkung: N-Bit Zustände kann man auch dezimal darstellen: |0, 0i = |010 i |0, 1i = |110 i |1, 0i = |210 i |1, 1i = |310 i 2.6 Darstellung von logischen Operatoren in Dirac-Schreibweise 1-Bit Operatoren: χ = |{z} Operator X00 |0ih0| + X01 |0ih1| + X10 |1ih0| + X11 |1ih1| |{z} Koeffizient Anwendung an einem Zustand: χ|Ψi für .... χ angewandt auf Ψ |Ψi = |1i χ|1i = X00 |0i h0|1i +X01 |0i h1|1i +X10 |1i h0|1i +X11 |1i h1|1i | {z } | {z } | {z } | {z } 0 1 = X01 |0i + X11 |1i 19 0 1 • Not-Operator Not = 1 · |1ih0| + 1 · |0ih1| Not|0i = |1i h0|0i +|0i h1|0i | {z } | {z } Beweis: = |1i 1 0 (ähnlich für |1i) Vektor-Matrixdarstellung: Dann 1 |0i ⇒ 0 |1i ⇒ Not = 2-Bit Operatoren: 0 1 1 0 0 1 • And-Operator And = |0ih00| + |0ih01| + |0ih10| + |1ih11| z.B.: And|01i = |0i h00|01i +|0i h01|01i +|0i h10|01i +|1i h11|01i | {z } | {z } | {z } | {z } = |0i 0 1 Matrixdarstellung: 0 1 1 0 −→ , −→ , |01i |00i 0 0 (= |110 i) (= |010 i) 0 0 |0i −→ 1 0 0 0 0 −→ , |10i 1 (= |210 i) 0 , |1i −→ 20 0 0 1 , 0 0 −→ |11i 0 (= |310 i) 1 And = 1 1 1 0 0 0 0 1 2 × 4 matrix • Or-Operator Or = |0ih00| + |1ih01| + |1ih10| + |1ih11| Beweis: Matrixdarstellung: Or|01i = |0i h00|01i +|1i h01|01i +|1i h10|01i +|1i h11|01i = |1i | {z } | {z } | {z } | {z } 0 Or = 1 0 0 0 0 1 1 1 1 0 0 Bemerkung: And und Or-Gates sind keine richtige quantenmechanische Operatoren, da dadurch der Hilbertraum reduziert wird. Es sind irreversible operatoren, da man diese nicht invertieren kann. Irreversible Prozesse erhöhen die Entropie, d.h.: es kostet Arbeit auf den Anfangspunkt zurückzukehren. 21 3 Konzepte der Quantenmechanik Der Zustand |Ψi beschreibt ein physikalisches System vollständig (”Strahl” im Hilbertraum). a) Vektorraum über die komplexen Zahlen C bezeichnet durch |Ψi b) Es existiert ein inneres Produkt hΨ| • |Ψi in C mit allen Eigenschaften des Skalarproduktes – Positivität hΨ|Ψi > 0 – Linearität hΦ| • (a|Ψ1 i + b|Ψi) = ahΦ|Ψ1 i + bhΦ|Ψ2 i – Schrägsymmetrie (für |Ψi = 6 0) hΦ|Ψi = hΨ|Φi∗ c) Vollständigkeit durch die Normierung (kein Problem in endlichen Räumen) ||Ψ|| = hΨ|Ψi1/2 3.1 Der quantenmechanische Zustand - Dirac Darstellung Der quantenmech. Zustand kann mittels der Diracdarstellung dargestellt werden: ”KET-Vektor” |Ψi = a0 |0i + a1 |1i + a2 |2i + . . . ”BRA-Vektor” hΨ| = a∗0 h0| + a∗1 h1| + a∗2 h2| + . . . Die Basis ist hierbei {|0i, |1i, |2i, . . .}. Zum Beispiel wäre die notwendige Basis, um 1 Bit darzustellen {|0i, |1i} (Dies entspricht z.B. Spin up bzw. Spin down) Das Skalarprodukt der Vektoren |Ψi = a0 |0i + a1 |1i + . . . und |Φi = b0 |0i + b1 |1i + . . . wäre dann, unter Berücksichtigung von hm|ni = δm,n , hΨ|Φi = a∗0 b0 h0|0i + a∗1 b0 h1|0i + . . . + a∗0 b1 h0|1i + a∗1 b1 h1|1i + . . . = a∗0 b0 + a∗1 b1 + . . . Starten wir mit einem zweidimensionalen Raum Operatoren werden geschrieben als: X = X00 |0ih0| + X01 |0ih1| + X10 |1ih0| + X11 |1ih1| 22 Die Anwendung auf einen Zustand |Ψi ergibt X|Ψi = X00 a0 |0ih0|0i + X00 a1 |0ih0|1i + X01 a0 |0ih1|0i + X01 a1 |0ih1|1i + . . . (1) . . . + X10 a0 |1ih0|0i + X11 a1 |1ih1|1i = (X00 a0 + X01 a1 )|0i + (X10 a0 + X11 a1 )|1i Für Hilberträume endlicher Dimensionen (unser Fall) kann man eine Darstellung mittels Zeilenvektoren (Bra), Spaltenvektoren (Ket) bzw. Matrizen (Operatoren) verwenden: • Basis: |0i • Ket: • Bra: m |1i m ··· 1 0 0 1 0 0 ··· ··· |ni 0 ··· ··· 1 |ai ≡ a0 |0i + a1 |1i + · · · an |ni a0 a1 ⇔ ··· an ha| ⇔ (a∗0 , a∗1 , · · · , a∗n ) • Skalarprodukt: 23 a0 a1 hb |ai ⇔ (b∗0 , b∗1 , · · · , b∗n ) · = b∗0 a0 + b∗1 a1 + · · · + b∗n an ··· an Normierung c|Ψi beschreibt den selben Zustand wie |Ψi. Mit Hilfe der Normierung kann man diese Vielfalt etwas reduzieren: |Ψ̄i = p |Ψi ⇒ hΨ|Ψi hΨ̄|Ψ̄i = 1 Allerdings auch eiφ |Ψ̄i ist normiert, wobei die Phase undefiniert bleibt. Erst durch die Linearkombination zweier Zustände wird die relative Phase wichtig. |Ψi = (eiφ1 |Ψ1 i + eiφ2 |Ψ2 i) hΨ|Ψi = (e−iφ1 hΨ1 | + e−iφ2 hΨ2 |) · (eiφ1 |Ψ1 i + eiφ2 |Ψ2 i) = hΨ1 |Ψ1 i + hΨ2 |Ψ2 i +ei(φ1 −φ2 ) hΨ2 |Ψ1 i + e−i(φ1 −φ2 ) hΨ1 |Ψ2 i | {z } (2) Interferenz Die Interferenzterme, welche die relative Phase beinhalten, können gemessen werden. Diese Terme sind wichtig für Quanten-Computer. Beispiel, Spin polarisiert in x oder y-Richtung: | →i ≡ |Sx ; +i = √1 (| 2 ↑i + | ↓i) ei0 = +1 | ←i ≡ |Sx ; −i = √1 (| 2 ↑i − | ↓i) eiπ = −1 |Sy ; +i = √1 (| 2 ↑i + i| ↓i) eiπ/2 = +i |Sy ; −i = √1 (| 2 ↑i − i| ↓i) ei3π/2 = −i Es ist die Relative Phase, welche die Orientierung der Spins kontrolliert. Observable Observablen entsprechen physikalischen Grössen, die im Prinzip gemessen werden können. Diese werden mittels Hermitescher Operatoren  dargestellt • a)Operator: 24 ist eine lineare Transformation von Zuständen, z.B.: Â|Ψi = Â(a|Ψ1 i+b|Ψ2 i) = aÂ|Ψ1 i+ bÂ|Ψ2 i Operatoren in endlich dimensionalen Hilberträumen können als Matrizen dargestellt a b werden z.B.:  = c d • b) Hermitesch: bedeutet, dass die Eigenschaft † = ˆ(AT )∗ =  gilt. a∗ c∗ † ≡ ∗ ∗ b d also für eine hermitesche Matrix: a, d sind reell und b = c∗ . • c) Spektraldarstellung: Die Eigenzustände eines Hermiteschen Operators  bilden eine vollständige Basis , d.h. sie haben einen vollständig orthonormalen Satz von Eigenvektoren |An i mit reellen Eigenwerten an . Die letzten entsprechen den physikalisch erlaubten Werten der Observablen. Die Eigenwertgleichung lautet Â|An i = an |An i mit der vollständig orthonormalen Basis {|An i; n = 0, 1...} Orthonormal bedeutet dass hAn |Am i = δn,m . Vollständig bedeutet dass jeder beliebiger Zustand in dieser Basis entwickelt werden P kann: |Ψi = n cn |An i. Sehr nützlich ist folgende Darstellung des Identitätoperators I mit Hilfe vollständig orthonormierter Basen (wir benutzen hier unterschiedliche Basen {|An i} oder {|Bn i} oder {|ni}) I= X n |An ihAn | = X n |Bn ihBn | = X n |nihn| Mit Hilfe dieser Darstellung kommt man zu einer weiteren Darstellungsform eines Operators (Spektraldarstellung): 25  = I  I = X n,m 3.2 Die Messung |An i hAn |Â|Am ihAm | = | {z } an δnm X n an |An ihAn | Die Messung eines Observablen  ergibt im Allgemeinen ein nicht deterministisches Ergebnis. Wird  in einem Zustand Ψ gemessen, wobei P |Ψi = n Ψn |An i die Entwicklung von Ψ in Eigenzuständen von  ist, kann das Ergebnis der Messung einer der Werten an Liefern. Die Wahrscheinlichkeit, dass an gemessen wird ist W (an ) = |Ψn |2 hΨ |Ψi (oder einfach |Ψn |2 im Fall eines normierten Zustandes). Die Messung ändert den Zustand |Ψi: dieser kollabiert“ auf den entsprechenden Eigenzustand ” |An i. |Ψi ← Messung(Â) ← Endzustand: |An i Ergebnis der Messung: a n |Ψn |2 Wahrsch.: hΨ |Ψi Beispiel: Spinmessung in einer Stern-Gerlach-Apparatur Anfangzustand |Ψx i = |Sx ; +i = √1 (|Sz ; + ~ i 2 2 + |Sz ; − ~2 i) Messung von Ŝz ergibt mit einer Wahrscheinlichkeit von 1/2 den Wert + ~2 . Die Messung verändert den Zustand: |Ψx i → |Sz ; + ~2 i. Mit der selben Wahrscheinlichkeit bekommt man den Wert − ~2 (und |Ψx i → |Sz ; − ~2 i). Eine zweite Messung von Ŝz mit einer nachgeschalteten Stern-Gerlach-Apparatur würde, wenn zuvor + ~2 gemessen wurde, mit einer Wahrscheinlichkeit von 1 den selben Zustand messen. 26 Man kann von einem Erwartungswert (Mittelwert) sprechen, wenn man mehrere Messungen des selben Zustandes durchführt. Dies ist auch die übliche Vorgangsweise in einem Experiment, wo man mehrere “Kopien” desselben Zustandes hat. Dieser Fall ist in einem Quantencomputer in der Regel nicht relevant. Hier hat man normalerweise am Ende der Rechnung nur eine Kopie eines Zustandes. Da man aber in der Quantemechanik einen Zustand nicht kopieren kann, ist für den Quantencomputer der Erwartungswert nicht relevant. Observable: ~ (|Sz ; +ihSz ; +| − |Sz ; −ihSz ; −|) 2 ~ hΨx |Ŝz |Ψx i = hΨx | (|Sz ; +i − |Sz ; −i) = 2 Ŝz = Erwartungswert: ~ (hSz ; +|Sz ; +i − hSz ; −|Sz ; −i) = 0 2 Abbildung 2: Schematische Darstellung einer Stern-Gerlach-Apparatur Aus der Linearität von QM Zustände folgt die Möglichkeit des QUBITS. Beispiel: Spin eines Elektrons (Atoms) Für einen klassischen Computer stehen nur zwei Mölichkeiten für die Bits (0, 1) zur Verfügung. Wir könnten solche Bits durch die zwei Spinrichtungen darstellen: 0→+ ~ 2 → 27 ~ |0i ≡ |Sz ; + i 2 1→− ~ 2 → ~ |1i ≡ |Sz ; − i 2 Der Vorteil besteht darin, dass man quantenmechanisch viel mehr Speichern kann, im Prinzip jede beliebige Überlagerung a|0i + b|1i. Diese speichert zwei klassische bits gleichzeitig. Das Problem, ist, dass eine Messung immer nur einen der beiden Werten ergibt. 3.3 Zeitentwicklung Die Zeitentwicklung eines quantenmechanischen Zustandes ist unitär und ist durch den hermiteschen Hamiltonoperator Ĥ generiert. Schrödingerbild Zur Vereinfachung wird ~ = 1 angenommen: d |Ψ(t)i = −iĤ |Ψ(t)i dt Lösungsansatz: |Ψ(t)i = U(t)|Ψ(0)i d U(t) = −iĤU(t) dt wenn Ĥ zeitunabhängig ist folgt daraus U(t) = e−itĤ ⇒ Damit die Norm von |Ψi erhalten bleibt muß der Zeitentwicklungoperator U(t) unitär sein. † U(t)U(t)† = e−itĤ eitĤ = e−itĤ eitĤ = I ⇒ hΨ(t)|Ψ(t)i = hΨ(0)|U † (t)U(t)|Ψ(0)i = hΨ(0)|Ψ(0)i Dies gilt für isolierte Systeme (dynamisch reversibel) 28 4 QuantenBits - QUBITS Qubits können im Prinzip mit Hilfe eines beliebigen zwei-Niveau System realisiert werden. Dazu gibt es mehrere Möglichkeiten: A) Spin 12 - Teilchen , z.B. in einem Magnetfeld in die z-Richtung |0i = |Sz ; +i = | ↑i = |+i = |1i = |Sz ; −i = | ↓i = |−i = 1 0 0 1 B) Photonen - Polarisationszustände |0i = |Rechtspolarisierti |1i = |Linkspolarisierti C) Zwei metastabile Zustände eines Atoms instabiler Zustand |1 |0 ... metastabilder Zustand ... Grundzustand Der Zustand |1i muss aureichend langlebig sein, daher kann es keinen direkter Dipolübergang zwischen |0i und |1i geben. Zur Vereinfachung werden wir als Beispiel vorwiegend das Spin 12 - System verwenden. Wichtige Voraussetzung ist die Möglichkeit, elementare Operationen (die entsprechenden ”Gates”), auf die QuBits anwenden zu können. Erlaubte Operationen sind quantenmechanische “Zeitentwicklungen”, also unitäre Transformationen. 4.1 Gates für ein QuBit Einfachstes ”Gates”: NOT 29 Dieses entspricht einen SPIN FLIP, welcher durch einen sogenannten π-Laserimpuls realisiert werden kann (siehe Sec. 6). Laserimpuls Laserimpuls Formell: σx 1 0 = 0 1 bzw. σx 1 0 = 0 1 ⇒ σx = NOT Die größte Schwierigkeit hier ist, dass einzelne Atome kontrolliert werden müssen. Eine gute Möglichkeit sind QUANTEN DOTS oder IONENFALLEN. Ein neue, rein quantenmechanisches Gate ist der Hadamard Gate (H) Dieses Gate bewirkt, im Grunde, eine Drehung des Spins um 90◦ . Für das Hadamard-Gate existiert klassisch kein Äquivalent. 1 H |↑i −→ √ (|↑i + |↓i) = |→i 2 1 H |↓i −→ √ (|↑i − |↓i) = − |←i 2 Man kann das auch schreiben: 1 1 H = √12 1 0 0 1 H = √12 1 −1 ⇒ H|0i = √1 (|0i 2 + |1i) (3) ⇒ H|1i = √1 (|0i 2 − |1i) Eine nützliche Eigenschaft ist die Tatsache, dass eine zweifache Anwendung des Hadamard Gate die Identität liefert: H 2 = I. Formell kann man H ausdrücken mit Hilfe des Drehoperators. Aus der Quantenmechanik wissen wir, dass eine Drehung um ein Winkel α um einen Einheitsvektor ~n durch ein Operator ~ R̂(α~n) ≡ eiαS~n mit Si = 21 σi (~ = 1) 30 angewandt auf dem Spin erzeugt wird. Also: α R̂(α~n) = ei 2 ~σ·~n = cos α α + i~σ · ~n sin 2 2 Der Hadamard Gate besteht insgesamt aus einer “Phasenshift” gefolgt von einer Drehung um − π2 um die y-Achse: 1 −1 1 1 1 0 1 0 π = √1 = √1 H = R̂(− ŷ) 2 2 2 1 1 1 −1 0 −1 0 −1 Die “Phasenrotation” ist nützlich damit H 2 = I gilt. Beispiel: 1 1 1 1 1 = √1 = √1 (| ↑i + | ↓i) = |Sx ; +i H| ↑i = √ 2 2 2 1 −1 1 0 4.2 Zwei-Qubits Gates Schwieriger wird es, wenn man versucht, ein Gate auf zwei QuBits anzuwenden. Solche Operationen würden dem klassischen OR, AND etc entsprechen. Es gibt zunächst zwei Schwierigkeiten: Um solche Gate zu erzeugen muss man die Korrelation zwischen den einzelnen Spins “einschalten”. Die andere Schwierigkeit ist, dass AND, OR etc. irreversible Operationen sind. In der Quantenmechanik müssen Operationen jedoch reversibel sein, da für die Zeitentwicklung unitäre Operatoren vorausgesetzt werden. Die Darstellung von mehreren QuBits wird formell als Tensorprodukt einzelner QubitZuständen dargestellt. In der Dirac-Darstellung schreiben wir |b1 b2 i oder |b1 i ⊗ |b2 i mit bi ∈ {0, 1} Das Skalarprodukt ist dann hb1 b2 |b′1 b′2 i = δb1 ,b′1 δb2 ,b′2 31 Beispiel: Wir wollen eine Hadamard-Transformation auf einem zwei-Qubit Zustand wirken lassen. Da müssen wir festlegen auf welches Qubit diese wirkt. Wir können das mit einem Superscript machen, oder explizit durch Anwendung des Tensorproduktes. z.B. hier wirkt H auf das zweite QuBit: H (2) = I ⊗ H ⇒ H (2) |b1 b2 i = (I ⊗ H)(|b1 i ⊗ |b2 i) = I|b1 i ⊗ (H|b2 i) = |b1 (Hb2 )i Die Operation Hadamard auf das zweite Qubit“ bedeutet eigentlich Identität auf das erste ” ” und Hadamard auf das zweite Qubit“. z. B., mit b1 =↑, b2 =↑ und Gleichung (3) folgt 1 1 H (2) | ↑↑i = | ↑i ⊗ (H| ↑i) = | ↑i ⊗ √ (| ↑i + | ↓i) = √ (| ↑↑i + | ↑↓i) 2 2 Eine übersichtlichere Darstellungsmöglichkeit erfolgt durch ein sogenannte Quanten-Netzwerk Anfangszustand Endzustand Netzwerk 0 0 0 1 2 H 0 1 4.3 CONTROLLED NOT - Gate - CN OT Der (I ⊗ H)-Gate wirkt unabhängig auf die zwei Qubits. In diesem Sinne ist dieser kein echtes zwei-Qubit Gate. Ein echtes (korreliertes) zwei-Qubit Gate ist der Controlled NOT (CN OT ). Seine Wirkung lautet wende auf den zweiten QuBit NOT an, nur dann wenn der erste QuBit 1 ist, ansonsten ” 32 tue nichts“. Formell kann man CN OT mit Hilfe von Projektoren schreiben: 1 0 ⇒ Projektor auf |0i P0 = 21 (I + σz ) = 0 0 0 0 ⇒ Projektor auf |1i P1 = 12 (I − σz ) = 0 1 Dann ist (1) CN OT = P1 (1) NOT (2) + P0 I(2) oder besser: P1 ⊗ NOT + P0 ⊗ I Beispiel CN OT |1 bi = CN OT |1i ⊗ |bi = P1 |1i ⊗ NOT |bi + P0 |1i ⊗ I|bi = |1i ⊗ |b̄i = |1 b̄i Man kann leicht zeigen, dass im allgemeinen CN OT |b1 b2 i = |b1 (b1 + b2 )mod2 i. In einem Quanten-Netzwerk wird der CN OT Gate wie unten dargestellt, was die Kontrolle“ ” des ersten Qubits auf dem zweiten deutlich macht. X X Y Y X MOD 2 Der CN OT -Gate tauscht einfach |10i mit |11i. Seine Matrixdarstellung ist also relativ einfach: 1 0 0 0 0 1 0 0 I2×2 O2×2 = CN OT = 0 0 0 1 O2×2 σx 0 0 1 0 Beispiel Betrachten wir die Anwendung folgendes Netzwerkes auf dem Zustand |0 0i: H 33 ⇒ 1 1 CN OT (H ⊗ I)|00i = CN OT √ (|0i + |1i)|0i = √ (|00i + |11i) 2 2 Der Endzustand ist ein sog. Verschränkter Zustand, was eine wichtige Rolle in der Quanteninformatik spielt. Ein Verschränkter Zustand: • kann nicht als Produktzustand von zwei Teilchen geschrieben werden • Getrennte auch wiederholte Messung an den einzelnen Teilchen können den Zustand nicht aufschlüsseln • kann nur durch Wechselwirkung zwischen Teilchen (CN OT ) entstehen. Diese Wechselwirkung kann aber auch in der Vergangenheit statgefunden haben. 4.4 Einstein, Podolsky, Rosen (EPR) Paradox (EINSCHUB) Verschränkte Zustande spielen eine besondere Rolle und führen manchmal zu Paradoxen, wie der berümte EPR Paradox Aus dem Zerfall eines S = 0 Teilchens in zwei Spin- 21 Teilchen entstehen zwei Teilchen (A und B) mit entgegengesetztem Spin. Da der Gesamtspin erhalten ist, müssen die Zustände von A und B so kombiniert sein, dass der Gesamtspin 0 bleibt (Addition der Drehimpulse). Dieser Zustand ist verschränkt. 1 |S = 0i = √ (| ↑↓i − | ↓↑i) 2 Man kann leicht zeigen, dass der Zustand die gleiche Form hat, wenn man die x-Richtung als Quantisierungsachse wählt. 1 |S = 0i ∝ √ (| →←i − | ←→i) 2 (4) Der Zustand von A und B alleine ist nicht wohl definiert, bis eine Messung gemacht wird. Das gilt im Prinzip auch, wenn die Zerfallteilchen ein weiten Weg zurückgelegt haben, und weit voneinander sind (das gilt nur wenn die Teilchen nicht mit der Umgebung wechselwirkt haben: Die Wechselwirkung mit der Umgebung kann die Rolle einer Messung“ spielen). ” Die Beobachterin Alice bekommt das Teilchen A und Bob das Teilchen B. 34 Alice macht eine Messung der z-Komponente des Spins (von Teilchen A) entlang der z-Achse. Nach der Messung (siehe Sec. 3.2), fällt A in einem Eigenzustand von Sz . Die Messung bewirkt eine Projektion auf dem entsprechenden Eigenzustand von Sz . Es kann also, mit jeweils 50% Wahrscheinlichkeit einer der folgenden Ergebnissen vorkommen: • Die Messung von Alice ergibt Sz = +~/2. Der |S = 0i wird auf dem Zustand projiziert wo Sz (A) = +~/2: |S = 0i −→ (P↑ ⊗ I) |S = 0i = (|↑i h↑| ⊗ I) |S = 0i ∝ |↑ ↓i Messung • Die Messung von Alice ergibt Sz = −~/2. |S = 0i −→ (P↓ ⊗ I) |S = 0i = (|↓i h↓| ⊗ I) |S = 0i ∝ |↓ ↑i Messung (Im Endergebnis sind die unwichtigen Konstanten bzw. Phasen gefallen.) In beiden Fällen fällt B in einem Eigenzustand von Sz . Das besondere daran ist, dass dies gleichzeitig mit Alices Messung passiert. Es sieht so aus also, als ob Information vom Teilchen A zu Teilchen B mit unendlicher Geschwindigkeit übertragen werden könnte, im Widerspruch zum Relativitätsprinzip. Kann Alice dieses Effekt benutzen, um Information an Bob mit Überlichtgeschwindigkeit zu übertragen? Alice könnte ihr Stern-Gerlach Apparatus anders ausrichten, und eine Messung der Sx -Komponente (statt Sz ) von A durchführen. In diesem Fall, würde sowohl A als auch B in ein Eigenzustand von Sx (statt Sz ) fallen (siehe Eq. 4). Erkennt Bob in welchen Eigenzustand sein“ Teilchen (B) gefallen ist, könnte er instantan die ” Information erhalten, welche Komponente des Spins (Sz oder Sx ) Alice gemessen hat. Alice könnte also diese Eigenschaft ausnutzen, um Information an Bob mit unendlicher Geschwindigkeit zu übertragen. Steht also die Quantenmechanik mit der Relativität in Widerspruch? Die Antwort ist nein. Die Lößung des Paradoxon ist folgende: • Alice kann das Ergebnis ihrer Messung nicht beeinflussen. Entscheidet sie sich z. B. für die z-Richtung, wird sie Sz = ±~/2 mit jeweils 50% Wahrscheinlichkeit bekommen. 35 • Bob muss auch eine Messung machen. Angenommen er wählt die z-Richtung. – Wählt Alice die z-Richtung, bekommt Bob Sz = ±~/2 mit jeweils 50% Wahrscheinlichkeit. B ist zwar in einem Eigenszustand von Sz , aber eben einer der beiden Sz = ±~/2, weil Alice ihre Messung nicht beeinflussen kann. – Wählt Alice die x-Richtung, bekommt Bob ebenfalls Sz = ±~/2 mit jeweils 50% Wahrscheinlichkeit. In diesem Fall, weil B in einem Eigenzustand von Sx ist. Also Alice kann keine Information auf dieser Weise übertragen, auch dann nicht wenn viele Teilchen gleichzeitig verwendet werden. 4.5 Phase-shift Gate Ein weiteres 1-Qubit Gate ist das Phase-shift Gate Uφ . Dieses verschiebt um φ die relative Phase zwischen |1i und |0i φ |xi ei 1 0 0 1 In matrix Form: Uφ = 1 0 iφ 0 e φ x |xi Betrachten wir jetzt folgendes Netzwerk (Beweis:Übg.): 0 H 2α H π/2 + φ cos α 0 + eιφ sin α 1 Oder, in Operatorschreibweise: U( π2 +φ) H U2α H|0i = const. cos α |0i + eiφ sin α |1i (5) Die rechte Seite von Eq. (5) stellt die allgemeinste unitäre Transformation eines Spin- 21 -Objekt dar: es entspricht die Rotation von der z-Achse hin zur Richtung (θ, φ) in Kugelkoordinaten. Das Ergebnis zeigt, dass H und Uφ allgemeine 1-Qubit Transformationen erzeugen können. Sie stellen also ein universellen Satz für 1-QuBit Transformationen dar. 36 Man muss allerdings beachten, dass es eigentlich nicht nur eine, sondern ein Kontinuum von Uφ Transformationen gibt: eine für jedes Wert von φ. Man kann aber ein einzeles Uφ̄ wählen, mit φ̄/(2π) irrational. Ein beliebiges Uφ kann dann durch n-fache Anwendung von Uφ̄ (mit geeigneten n) beliebig genau reproduziert werden, da ∀ǫ, φ ∃n : |φ − (nφ̄ mod(2π)| < ǫ 4.6 Controlled-U - Gate Das CU -Gate macht das analoge zum CN OT -Gate für ein beliebiges 1-Qubit Gate U. Es wendet U auf den zweiten QuBit an, genau dann wenn der erste QuBit |1i ist. Ansonsten tut es nichts: CU = (P0 ⊗ I + P1 ⊗ U) Dieses Gate kann aber auch durch einem Netzwerk bestehend aus 2 CN OT und 3 geeignete 1-QuBit Operationen A, B und C erstezt werden. A, B, C müssen so gewählt werden, dass CBA = I und Cσx Bσx A = U (6) Dass dieses möglich ist bleibt als Übungsaufgabe (oder kann in Ref. [1] gefunden werden). Der entsprechende Netzwerk ist: 00 11 00 11 00 11 U 1 0 0 1 A 11 00 00 11 B C Es ist leicht, sich zu vergewissen, dass dieses gilt, solange Eq. (6) gilt. Wir haben also gezeigt, dass ein beliebiges CU mit einem geeigneten Netzwerk aus nur drei Gate, nämlich CN OT , H und Uφ̄ , realisiert werden kann. Das legt nahe, dass diese drei Operatoren eigentlich ein universellen Satz für beliebige unitäre Transformationen nicht nur von 2 sondern von n-QuBits, also von einem beliebigen Quantencomputer darstellen. Das ist in der Tat so, den Beweis ersparen wir aber uns. Dieser befindet sich in Ref. [1]. Wir haben also den Zwischenschritt“ in Sec. 2.1 bewiesen“ nämlich, dass eine beliebige ” ” Operation als Komposition von einem kleinen Satz ( Universeller Satz“) von einfachen Trans” formationen realisiert werden kann. Das gilt eigentlich nicht für beliebige Operationen sondern 37 für beliebige unitäre Transformationen. Wir werden aber gleich sehen dass, bei geeigneter Darstellung, die ersten eine Untermenge der letzteren sind. Ein allgemeiner Quanten-Netzwerk wird also aus ein-und zwei-Qubit Gate bestehen und man M ag ne t St er n− G er la ch kann sich das physikalisch so vorstellen: Messung durch Stern−Gerlach 4.7 Quanten-Arithmetik Eine Reihe von n Qubits bildet ein Register |bn i ⊗ · · · |b2 i ⊗ |b1 i ⊗ |b0 i = |bn · · · b2 b1 b0 i Eine kompaktere Darstellungsmöglichkeit (für uns, nicht für den Quantencomputer) ist die Dezimaldarstellung, z.B. |1110i = |(13)10 i oder |0110i = |(5)10 i Wie schon erwähnt, kann durch ein geeignetes Netzwerk von Quantengates jede beliebige unitäre Transformation auf n-Qubits durchgeführt werden. Leider sind die üblichen klassischen 2-Qubit nicht zugelassen, weil diese nicht unitär (reversibel) sind. Z.B existiert die inverse von AND nicht, da die Anzahl der QuBits (Eingang, Ausgang) verändert wird. Eine 38 notwendige (aber nicht ausreichende) Forderung für unitäre Transformationen ist natürlich, dass die Anzahl der QuBits unverändert bleiben soll. Das AND Gate kann reversibel gemacht werden mit Hilfe des CN2 OT -Gate (oder TOFFOLIGate). CN2 OT ist ein drei-Qubit Gate. Seine Wirkung ist folgende: NOT wird auf das dritte Qubit x3 angewandt, genau dann wenn beide x1 = 1 und x2 = 1. Die letzteren bleiben unverändert. Ansonsten soll nichts geschehen. Der Netzwerk wird folgendermaßen dargestellt: |x1 i 1 0 0 1 |x1 i |x2 i 1 0 0 1 |x2 i |x3 i o Input-Register Output-Register |((x1 · x2 ) + x3 )mod2 i Wie realisiert man die AND-Schaltung? Man betrachtet x1 und x2 als input-register“ und ” x3 als output register. x3 wird am Anfang auf 0 präpariert. Im output hat man dann genau x3 = x1 AND x2 . Diese Schaltung zeigt schon, wie man irreversible Operationen durch ein reversibles Gate darstellen kann, nähmlich indem ein output und ein input register einführt, wobei der letztze unverändert bleibt. Selbstverständlich kann der 3-Qubit CN2 OT -Gate als Netzwerk von 1 und 2-Qubit Gate realisiert werden. Zuerst bilden wir den Netzwerk für den CU2 2 -Gate, wo U ein geeigneter 1-Qubit Operator ist: = U 2 U U −1 U Wie man sieht besteht dieser aus CN OT , CU und CU −1 (Die letzten beiden können widerum aus einer Komposition von CN OT und 1-Qubit Operatoren realisiert werden, wie in Sec. 4.6 √ gezeigt.) In unserem Fall soll U 2 = NOT sein, also wir brauchen NOT . Das kann man leicht 39 π π bekommen indem man feststellt, dass NOT = σx = ei 2 σx e−i 2 Also, √ π π π 1 NOT = ei 4 σx e−i 4 = √ (I + iσx )e−i 4 2 4.7.1 Auswertung von Funktionen Das Ziel einer Rechnung ist es, für ein gegebenes input x eine beliebige Funktion f (x) zu berechnen 2 . Für unser Quantencomputer können wir uns es so vorstellen, dass ausgehend von einem Anfangzustand der x beschreibt, dieser Zustand durch ein geeigneten Netzwerk durchfließt“, und als output ein Zustand, der f (x) beschreibt, herauskommt. x könnte mittels ” eines Registers dargestellt werden, also ein Zustand der aus n Qubits besteht, deren Werte die binäre Darstellung von x ergeben. Wie schon gesagt, nennen wir diesen Zustand einfach |xi. Als Output möchten wir, dass der Zustand |f (x)i herauskommt, auch ein Register aus n Qubits. Die Frage stellt sich, ob so ein Quanten-Netzwerk existiert. Nach den Überlegungen von Sec. 4.6 ist es klar, dass die Antwort ja ist, solange die entsprechende Transformation unitär ist. Nennen wir Uf diese Transformation, die von der Funktion f abhängt. INPUT − Register (n−QuBits) X QUANTEN− NETZWERK TRANSFORMAT. OUTPUT − Register (n−QuBits) f(X) Uf Man kann sich leicht vergewissern, dass dieses nicht immer möglich ist, zum Beispiel wenn die Funktion f (x) nicht invertierbar ist, weil in dem Fall Uf ebenfalls nicht invertierbar also nicht unitär sein kann. Unter anderem könnte f (x) weniger Bits haben als die Variabel x. Die Lösung dieses Problems erfolg ähnlich wie beim oben diskutierten reversiblen AND. Wir benötigen zwei Register, ein Input Register |xi, der aus n-Qubits besteht, und ein Output Register |yi, der aus m-Qubits besteht. Im Anfangzustand wird im Input Register die Variabel 2 f (x) kann im allgemeinsten Sinne betrachtet werden. z.B. x kann ein Text sein und f (x) eine entsprechende Verarbeitung 40 x geschrieben“, während der output-Register auf y = 0 präpariert wird. Im Endzustand ” (nach der Transformation) bleibt der input-Register unverändert, wärend das output Register den Wert der Funktion f (x) erhält. Um ein Operator vollständig zu definieren muss man seine Wirkung auf alle Basis-Elemente |xi ⊗ |yi = |x, yi spezifizieren. Wir definieren also den Funktionsauswertung-Operator Uf als Uf |x, yi = |x, (y + f (x))M OD 2m i (7) was für y = 0 den gewünschten Effekt hat. Es ist leicht zu sehen, dass die Transformation Uf jetzt invertierbar ist. Sie ist auch unitär, da es sich lediglich um eine Basis-Umstellung handelt.3 Es existiert also ein Quanten-Netzwerk, der diese unitäre Transformation macht. So eine Transformation ist eigentlich nicht rein quantenmechanisch: es existiert natürlich auch das klassische Analogon. Soweit ist also diese Transformation nichts besonderes. Hier noch einmal die Transformation als Quanten-Netzwerk: INPUT − Regi. (n−QuBits) OUTOUT − Reg. (m−QuBits) (i.d.R. y=0) |X, Y i QUANTEN− NETZWERK |X, (Y + f (X))MOD2m i TRANSFORMAT. Uf (Wir werden von nun an das MOD 2m stets implizieren, anders kann nicht sein, wenn man m-Qubits hat.) Ein einfacher Beispiel für so eine Transformation ist ein Quanten-Adder für zwei Qubits, den man mit Hilfe des CN2 OT -Gates erzeugen kann: 3 Die entsprechende Unitäre Matrix ist einfach eine 2m+n × 2m+n -Matrix, in der in jeder Zeile jeweils eine 1 vorkommt und alle andere Elemente 0 sind. 41 X1 X1 X2 X2 0 (X 1 + X2 ) MOD 2 (SUMM 0 X 1 X2 (ÜBERT INPUT− Reg. OUTPUT−Reg. 4.8 Quantenparallelismus Wie gesagt, ist (7) eigentlich eine klassische Transformation, d. h. auch ein klassischer Computer kann sowas machen. Das neue kommt, wenn man die linearität der Quantenmechanik ausnutzt, und den Anfangzustand |ψi in einer Überlagerung von zwei Werten x1 und x2 präpariert: |ψi = |x1 , 0i + |x2 , 0i Dann liefert die Transformation Uf |ψi = |x1 , f (x1 )i + |x2 , f (x2 )i Es ist zu beachten hier, dass es sich um eine einzelne Transformation: der Quantencomputer rechnet hier nur einmal. Die Funktion f (x) wird also für zwei Werte x1 , x2 gleichzeitig bestimmt. Noch besser, man kann alle Basiszustände des ersten Registers als Anfangzustand nehmen: |ψAlle i = dann Uf |ψAlle i = n −1 2X x=0 n −1 2X x=0 |x, 0i (8) |x, f (x)i ≡ |Loesungalle i . In diesem Fall wird also mit einer einzigen Operation für alle x die zugehörige Funktion f (x) ausgewertet. Das ist der Quantenparallelismus. 42 Der Vorteil ist augenscheinlich. Würde man mit einen klassischen Computer mit n = 100 Bits (d.h. x = {0, . . . , 2100 − 1}) dasselbe berechnen wollen, bräuchte man etwa 2100 ≃ 1030 Rechenoperationen. Mit einem klassischen Computer, der z.B. 109 solche Rechnungen pro Sekunden schafft, würde dies 1021 Sek. bzw. etwa 1014 Jahre dauern, während der Quantencomputer alle 2100 Operation in der gleichen Zeit durchführt, die er für eine Operation braucht. Natürlich besteht Uf aus vielen elementaren Operationen (z.B. wenn f ein Produkt ist, braucht man ≈ n2 elementare Operationen), dies ist aber auch beim klassischen Computer der Fall. Bemerkung: Benutzt man Spins als Qubits, dann hat der Zustand |ψAlle i eine sehr einfache Form (hier als Beispiel für n = m = 3): |ψAlle i = | |→→→ {z } , ↑↑↑ | {z } IN P U T Reg. OU T P U T Reg. i Der Input Register wird also präpariert mit all seine Spins polarisiert in die x-Richtung, da |→i ⊗ |→i ⊗ |→i = (|↑i + |↓i) ⊗ (|↑i + |↓i) ⊗ (|↑i + |↓i) = X s1 ,s2 ,s3 |s1 , s2 , s3 i (die Normierung wurde weggelassen). Wir erhalten also im Prinzip eine exponentiell große Rechenleistungssteigerung. Das Problem besteht leider darin, die Ergebnisse zu lesen (zu messen). Prinzipiell erfolgt eine Messung durch Auswertung aller oder von einem Teil der Spins durch eine Stern-Gerlach-Apparatur (orientiert in einer gegebenen Richtung). Man kann z.B. alle Spins des INPUT-Registers messen. Die Messung von Sz ergibt aber nur eine Konfiguration, d.h. nur einen Wert x = x̄ (alle x Werte kommen mit der gleichen Wahrscheinlichkeit vor). Der Zustand |Loesungalle i wird dann auf diesen Raum projiziert: Projektor Px̄ = |x̄ihx̄| | {z } ⊗ auf Input−Reg Also Px̄ X x |x, f (x)i = I |{z} . auf Output−Reg X (|x̄ihx̄||xi ⊗ I|f (x)i = X δxx̄ |x̄i ⊗ |f (x)i = |x̄, f (x̄)i Jetzt kann man natürlich y messen, was mit 100% Wahrscheinlichkeit f (x̄) ergeben wird, d.h. man kann immer nur einen Wert lesen! Unsere Rechnung berechnet also blitzartig“ f (x) für ” n 2 Werte von x, aber das Ergebnis kann nur für ein Wert von x gelesen werden. 43 Bei der einfachen klassischen Auswertung einer Funktion kann ein Quantencomputer also nicht schneller als ein klassischer sein. 4.8.1 Zusammenfassung und Überlegungen • In der Quanten Mechanik wird ein physikalischer Zustand als Überlagerung mehrerer klassischer Zustände beschrieben (z.B. Spin, Doppelspaltexperiment) • Wird aber gemessen, so findet man nur einen von diesen klassischen Zuständen. Wo kann man also die Effekte dieser Überlagerung sehen und diese somit nutzen? Die Antwort lautet INTERFERENZ. Um also schnelle (effiziente) Quantenalgorithmen zu machen, muss man die Interferenz geschickt ausnutzen. Wie das geht wird im nächsten Kapitel gezeigt. 44 5 Erste Quantenalgorithmen In diesem Kapitel werden einige Quanten-Algorithmen besprochen, die bestimmte Probleme durch geeigneter Benutzung der Interferenz deutlich schneller als die entsprechende klassische Algorithmen lösen können. Wie bereits in Sec. 1.3 erwähnt, braucht der Begriff schnell“ ” eine genauere Definition. Deswegen wurde die Definition der Komplexität eines Algorithmus eingeführt. berechenbar unberechenbar T ∼ Polynom von L T > als jeder Polynom von L 5.1 Einfacher Algorithmus (D. Deutsch) Um ein ersten Eindruck zu bekommen, wie der Quantencomputer die Interferenz benutzt, wird hier einen einfachen Algorithmus, der auf wenige Qubits wirkt, präsentiert. Da das System klein ist kann natürlich dieser Algorithmus die Komplexitätklasse nicht verbessern. Es sei eine Black-Box-Funktion“ f von einem Bit auf einem Bit gegeben: (f : {0, 1} → {0, 1}). ” Wie in Sec. 4.7 besprochen, es existiert ein Quantennetzwerk, der die entsprechende unitäre Transformation Uf , Eq. (7) durchführt. Die Fragestellung sei nicht, welche die Werten von f sind, sondern ob f (0) = f (1) oder f (0) 6= f (1) sei. Mit einem klassischen Computer hat man keine Wahl. Man muß f (0) und f (1) ausrechnen. f muß also zwei Mal ausgewertet und dann verglichen werden. Wir wollen sehen, dass ein Quantencomputer diese Frage mit einer einzigen Rechnung von f beantwortet. Dieses Problem zeigt auch, wie ein Quantencomputer nicht für alle Fragestellungen schneller“ ” ist sondern nur für gewisse Arten von Fragestellungen. Als Motivation nehmen wir an, dass die Berechnung von f (x) extrem zeitaufwendig sei, so dass schon ein großes Gewinn ist, sich auch nur eine Berechnung von f zu sparen. Ein Beispiel dafür wäre eine Funktion f (x), welche 0 oder 1 liefert, je nachdem, ob die millionste Zahl √ hinter dem Komma von 2 + x gerade oder ungerade ist. Wir starten vom Anfangszustand: | |{z} 1 , |{z} 1 i input output 45 wir führen dann eine Hadamard-Transformation auf beiden Registern durch: |Ψi ≡ H ⊗ H(|1i ⊗ |1i) = (|0i − |1i) ⊗ (|0i − |1i) = |00i − |10i − |01i + |11i Dann folgt die Funktionsauswertung“ mit Hilfe des Operators Uf Eq. (7). ” |Ψf i ≡ Uf |Ψi = |0i ⊗ |f (0)i − |1i ⊗ |f (1)i − |0i ⊗ |f (0) + 1i + |1i ⊗ |f (1) + 1i (das mod2 ist hier implizit). Obwohl hier mit nur eine Funktionauswertung beide Werte von f zur Verfügung stehen, wissen wir schon dass wir nicht beide gleichzeitig lesen“ können. ” je nachdem, ob f (0) = f (1) oder nicht sind zwei Fälle zu unterscheiden: (|0i − |1i) ⊗ (|f i − |f + 1i) für f (0) = f (1) ≡ f |Ψf i = (9) (|0i + |1i) ⊗ (|f i − |f + 1i) für f (0) = f (1) + 1 ≡ f Wir führen dann eine Hadamard-Transformation nur auf den INPUT-Register durch: |1i ⊗ (|f i − |f + 1i) (H ⊗ I)|Ψf i = |0i ⊗ (|f i − |f + 1i) Dieser Schritt ist derjenige, wo die Interferenz ausgenutzt wird. Wie man sieht braucht man jetzt einfach den Input-Register zu messen. Erhalten wir 1, dann wissen wir, dass f (0) = f (1), Erhalten wir 0, dann war f (0) 6= f (1). Dieses Ergebnis haben wir mit einer einzelnen Auswertung von f (statt zwei) erhalten. Es gibt Verallgemeinerungen dieses Algorithmus für eine Funktion von n Bits auf 1 Bit: f : {0, 1}n → {0, 1}. 5.2 Quanten-Recherche in Datenbanken (Grover-Algorithmus) Wir wollen jetzt ein Praktischeres und (nützlicheres) Algorithmus betrachten: die Recherche in Datenbanken. Das Problem besteht darin, einen gegebenen Eintrag in einer Datenbank mit N Daten zu suchen. Die Daten seine nicht sortiert. Ein Beispiel wäre eine Suche in einem Telefonbuch nach einen Namen für eine gegebene Telefonnummer. Im klassischen Fall muß man im Durchschnitt N/2 Mal die Funktion auswerten. Anders gesagt: Mit N/2 zufälligen Auswertungen ist die Erfolgswahrscheinlichkeit 50% 46 Mathematisch sei das Problem so formuliert. Es gibt eine Variabel x = 1, . . . N, die die Position des Eintrages beschreibt. f (x) sei der Eintrag an der Stelle x. Gegeben ein gesuchten“ Eintrag a, muß man den Wert x̄ von x finden, für den f (x̄) = a gilt. ” Es ist also zweckmäßig eine neue Funktion zu definieren: 0 f (x) 6= a fa (x) = 1 f (x) = a also fa (x) ist eine Funktion von n auf 1 Bit, wo N = 2n . Ufa sei der entsprechende FunktionauswertungOperator: Ufa |xi|qi = |xi|fa (x) + qi. Der Quantenalgorithmus funktioniert auf dieser Weise: • Der Anfangzustand Ψ0 sei gegeben als |Ψ0 i ≡ |Si ⊗ |1i wo der Input Register im Zustand |Si präpariert wurde, der aus der Superposition aller möglichen Werten von x (siehe Eq. 8) besteht: |Si = n −1 2X x=0 |xi . (10) Dieses kann man formell erhalten aus einer Hadamard-Transformation auf alle n Qubits (H [n] ): |Si = H [n] |0i (11) • Dann führen wir eine Hadamard-Transformation auch auf den output-Register durch: |Ψ1 i ≡ (I ⊗ H)|Ψ0i = |Si ⊗ (|0i − |1i) • Die Funktionsauswertung liefert: |Ψ2 i ≡ Ufa |Ψ1 i = X x 47 |xi(|fa (x)i − |fa (x) + 1i) (12) Wir sehen, dass (|fa (x)i − |fa (x) + 1i) = ±(|0i − |1i), wo das + Zeichen gilt wenn fa (x) = 0 und das − für fa (x) = 1. Wir können Eq. (12) schreiben als: |Ψ2 i = |v1 i ⊗ (|0i − |1i) mit |v1 i ≡ X x (−1)fa (x) |xi Bisher ist nichts besonders passiert, der gesuchte“ Term hat eine Phase −1 erhalten. ” Die Wahrscheinlichkeit, dass man bei einer Messung den gesuchten Term erhält wird von dieser Phase nicht beeinflusst und ist weiterhin 1/N, wie im Anfangzustand Eq. (11). Dank der speziellen Form des Output-Registers, ändert die Funktionauswertung letzendlich nur den Output-Register Zur verdeutlichung können wir einen entsprechenden Operator Rx̄ definieren, der diese Transformation ausdrückt, also Ufa |Si ⊗ (|0i − |1i) = (Rx̄ |Si) ⊗ (|0i − |1i) . (13) Rx̄ also dreht die Phase des unbekannten |x̄i-Termes um π. Es ist leicht, sich zu vergewissern, dass die Wirkung Eq. (13) für beliebige Zustände des Input-Registers gilt. • Im folgenden ist es nützlich diese Transformationen geometrisch zu interpretieren. Betrachten wir den Input-Register als ein N-dimensionalen Vektor. Wir betrachten nun die transformation RS auf den input-Register, die eine Spiegelung P um die Ebene S⊥ bewirkt. S⊥ ist die Ebene senkrecht zum Zustand |Si = x |xi. 4 Wir werden später sehen, wie diese Transformation durchgeführt werden kann. Wir erhalten den Zustand: |Ψ3 i ≡ (RS Rx̄ |Si) ⊗ (|0i − |1i) Zum geometrischen Verständnis betrachten wir den input register in einem N-dimensionalen Karteischen Koordninatensystem. Wir plotten die Projektion auf die von |x̄i und |Si gespannte 4 ~ Eigentlich ist diese Transformation sehr ähnlich zu Rx̄ , in diesem Fall bekommt die Komponente entlang S eine Phase π. 48 Ebene. Der Anfang-Vektor |Si bildet einen sehr kleinen Winkel φ mit der unteren (x̄⊥ ) Achse, √ mit φ = arcsin(1/ N ). Im Bild Aufgetragen sind die Vektoren nach der Rx̄ -Transformation und nach der zusätzlichen RS -Spiegelung: x̄-Achse S⊥ φ |v0 i ≡ |Si −φ 3φ − π x̄⊥ Rx̄ |Si |v1 i ≡ RS Rx̄ |Si Aus dem Bild kann man erkennen, dass der Vektor |v1 i ≡ RS Rx̄ |Si ein Stück näher“ an ” die x̄ Achse gelangen ist. D. h. eine Messung in |v1 i ergibt eine höhere Wahrscheinlichkeit (W = (sin 3φ)2 ≈ 9/N), das richtige“ x̄ zu finden. Allerdings ist der Gewinn sehr klein, da ” √ der Winkel φ auch sehr klein ist φ ∼ 3/ N . Wir können allerdings die Prozedur mehrmals wiederholen, um noch näher zu kommen. Abgebildet ist die k + 1-te Iteration |vk+1 i = RS Rx̄ |vk i |vk i soll ein Winkel θk mit der x̄⊥ Achse haben 49 x̄-Achse |vk i S⊥ θk φ |Si x̄⊥ −θk |vk+1 i Rx̄ |vk i θk+1 = θk + 2φ − π dann bildet |vk+1 i einen Winkel θk+1 = θk + 2φ − π. Die Rekursion, und die Tatsache, dass θ0 = φ ergibt θk = (2k + 1)φ − kπ Nehmen wir als Beispiel den Fall N = 4, dann sin φ = 1 2 ⇒ φ = 30◦ Nach nur einer Iteration RS Rx̄ |Si ist θ(1) = −90◦ . Also |v1 i = RS Rx̄ |Si = − |x̄i liegt genau auf der x̄-Achse. Es ist klar also, dass eine Messung des ersten Registers das gesuchte x̄ mit 100% Wahrscheinlichkeit ergibt. Schon hier sieht man, dass der gesuchte Eintrag mit nur einer Auswertung der Funktion fa (oder von f ) gefunden wurde. Mit einem klassischen Computer und N einträge hätte man im durchschnitt 2 Mal f ausrechnen müssen (oder 3 Mal, wenn man die Sicherheit haben wollte). Was passiert für große N? Wir wollen, daß die Wahrscheinlichkeit, |x̄i zu messen, maximal (∼ 1) ist. Die Iteration muss also k-Mal wiederholt werden bis vk (praktisch) auf der x̄-Achse 50 liegt. Es muss also: θk ≈ π + mπ 2 oder (2k + 1)φ = π π ⇒ k = ( − 1)/2 2 2φ (14) Da φ = arcsin √1N , Eq. (14) zeigt, dass man die Grover-Iteration (die jeweils die Lesung ” √ eines Eintrages“ enthält) k Mal (mit k ∼ O( N )) wiederholen muß. Das ist zu vergleichen mit dem klassischen Fall, indem man im Durschnitt O(N) Einträge lesen muss, um die Lösung zu finden. Wenn Eq. (14) nicht ganzzahlig ist, weicht θk von π 2 √ um einen Winkel | π2 − θk | = O(1/ N ) ab. Die Wahrscheinlichkeit, den Falschen x 6= x̄ zu messen is entsprechend O(1/N). Es gibt eine geringe Wahrscheinlichkeit für Fehlschläge, was für Quantenrechnungen charakteristisch ist. 5.2.1 Realisierung der Spiegelung RS Für ein gegebenes Vektor |vi, kann man Formell die Transformation Rv (Spiegelung um die Ebene v⊥ ) schreiben als: Rv = I − 2 |vi hv| (15) das kann man gut checken, weil Rv die Eigenschaften haben muss: Rv |vi = − |vi und Rv |ui = |ui für jedes |ui : hu |vi = 0 (16) Nehmen wir jetz |vi = |0i und betrachten wir die Transformation H [n] R0 H [n] = I − 2 H [n] |0i h0| H [n] = I − 2 |Si hS| = RS (17) wo wir Eq. (11) und Eq. (15), sowie (H [n])2 = I benutzt haben. Intuitiv kann man Eq. (17) verstehen, wenn man dies betrachtet als (i) Drehung der |Si-Axe in die |0i-Achse (ii) Spiegelung um 0⊥ , (iii) Drehung zurück. R0 erhält man ähnlich wie Rx̄ mit Hilfe einer Funktionsauswertung“ Ug0 wobei g0 (x) eine ” NOT [n] Funktion ist, die 1 ist nur wenn x = 0. (Bemerkung: Alternativ kann R0 auch als NOT [n] Cσn−1 z 51 realisiert werden (ÜBG).) Zusammenfassend: Netzwerk für die k + 1-te Grover Iteration: Input Register (n Qubits) Rx̄ |vk i |vk i |0i − |1i Ufa H [n] H [n] Ug0 |0i − |1i |vk+1 i |0i − |1i Output Register (1 Qubit) Diese Iteration muß insgesamt k ∝ √ N = 2n/2 mal wiederholt werden. In einem klassischen Algorithmus müßte man dagegen k ∝ N Mal die Funktion Auswerten. Sowohl klassisch als auch für ein Quantencomputer ist also die Suche in Datenbanken ein NP (unberechenbares) Problem. Allerdings gewinnt man mit Hilfe eines Quantencomputer eine Halbe Potenz von N. Bemerkungen • Der Grover Algorithmus kann verallgemeinert werden: – auf mehrfache Lösungen (r Werte von x mit r unbekannt) – und auf eine strukturierte Suche (zusätzliche Information). • Es wurde gezeigt, daß der Grover Algorithmus optimal ist: d.h. es gibt kein schnelleres Algorithmus für dieses Problem. 52 6 Einige Physikalische Realisierungen 6.1 Notwendige Voraussetzungen • Identifizierung einzelner Qubits |Ri = |q1 i ⊗ |q2 i ⊗ |q3 i ⊗ .... ⊗ |qn i (Spin 12 , atomare Zustände, Polarisierungszustand eines Photons) • Präparation“ in einem definierten Zustand mus̈ möglich sein ” z.B.: Grundzustand |0i = |0i ⊗ |0i ⊗ |0i ⊗ |0i Notwendige Voraussetzungen zum Erreichen des Grundzustandes ist ausreichende Abkühlung! • Der Fehler muß hinreichend klein sein • Kontrollierte Sequenzen von 1 und 2-Qubittransformationen müssen mit ausreichender Genauigkeit durchführbar sein. =⇒ Hamiltonoperator muß ein/ausschaltbare Terme besitzen. • Messung von einzelnen Qubits muß mit ausreichender Genauigkeit möglich sein. 53 6.2 Ionen in einer Ionenfalle Vorschlag: Realisierung: Cirac,Zoller (Innsbruck ′ 95) Monroe et al. (NIS, Boulder ′ 95) (C-NOT Gate) Man benötigt ein schwingendes elektrisches Feld (Radiofrequenz), um die Ionen (z.B. Ca+ µm 20 10- Coulomb-Abstoßung oder Be+ -Ionen) speichern zu können (1 − 100Hz, 100 − 1000V ) Ionen werden durch Doppler-Cooling abgekühlt (bis ca. 100µK), danach evaporative Cooling (bis ca µK). Einschub: Doppler-Cooling Elektronischer ∆ω Übergang ω Laser mit Frequenz ν ω=ν+∆ω Frequenz des Lasers leicht unterhalb der Resonanz 11 00 00 11 Ion bewegt sich entgegen der Ausbreitungsrichtung des Laserstrahls ~v ← Ion Dopplereffekt: das Ion sieht“ eine höhere La” ′ serfrequenz ν = ν + ∆ω ≈ ω =⇒ Photon wird absorbiert . . . und in allen Richtungen wieder emittiert =⇒ Impulsübertragung vom Photon bremst das Ion ~v >= 0 → Ion ν ′ < ω =⇒ Photon wird nicht absorbiert 54 8 Laser Ionen werden gebremst Abkühlung Evaporative cooling Vergleiche: Potentialtopf Potentialbarriere im Potentialtopf wird abgesenkt. Ionen mit höhere kinetische Energie ent- 55 weichen. Nur kalte“ Ionen bleiben im Topf. ” Realisierung der Qubits: P 3 2 |aux> S 21 −→ |0i Grundzustand D 52 −→ |1i metastabiler Zustand mit langer |1> 5 D2 Lebensdauer ≈ Sekunden P 23 −→ |auxi Hilfszustand für Messung mit- ω0 tels Fluoreszenz 1 S2 |0> ω0 −→ Frequenz des Quadrupolübergangs Das Hamiltonoperator des zwei-Niveau Systems in Wechselwirkung mit dem Laserstrahl ist H = H0 + HEF (18) Mit dem ungestörten Hamiltonoperator: H0 = ω0 |1ih1| (19) Die Quadrupolstrahlung führt den Wechselwirkungsterm ein: HEF = Q(t)|0ih1| + Q∗ (t)|1ih0| (20) Q(t) .... prop. zu Quadrpol-Matrixelement (zirkularpolarisiertes Licht) (Dieses Hamilton Operator gilt auch für andere Fälle wie, z.B. für einen Spin in einem transversales, zeitabhangiges Magnetfeld, hier Q → Bx , siehe Kap.6.5) 6.2.1 1-Qubit Transformation Wir schreiben den allgemeinen, zeitabhängigen Zustand des Qubits als |Ψ(t)i = a(t)|0i + b(t)|1i 56 die zeitabhängige Schrödingergleichung ist: ∂ i ∂t |Ψi = H|Ψi Die Schrödingergleichung wird: ˙ iȧ(t)|0i + ib(t)|1i = ω0 b(t)|1i + Q(t)b(t)|0i + Q∗ (t)a(t)|1i {z } | {z } | Beitrag von H0 Beitrag von HEF Koeffizientenvergleich: iȧ(t) = Q(t)b(t) ˙ = ω b(t) + Q∗ (t)a(t) ib(t) (21) 0 Es liegt nahe die Wechselwirkungsdarstellung zu benutzen: wir ersetzen a(t) = a(t) b(t) = eiω0 t b(t) (22) (die Wechselwirkungsdarstellung ist jene Transformation, bei der die neue Koeffizienten konstant sind, wenn die Wechselwirkung ausgeschaltet wird). Dann wird Eq. (21): iȧ(t) = Q(t)e−iω0 t b(t) i(−iω0 b(t) + ḃ(t)) = ω0 b(t) + eiω0 t Q∗ (t)a(t) (23) =⇒ iḃ(t) = eiω0 t Q∗ (t)a(t) Wir erhalten das allgemeine Gleichungssystem: ȧ(t) = −iQ(t)e−iω0 t b(t) ḃ(t) = −iQ∗ (t)eiω0 t a(t) (24) Wir betrachten den Fall, wo das Feld eine einzige Frequenz hat (und zirkularpolarisiert ist): Q(t) = Ωeiωt+iϕ 57 Die Ampltude Ω des Feldes gibt die sogenannte Rabi-Frequenz 2Ω. Die Gleichung wird: ȧ(t) = −iΩ eiϕ eiνt b(t) (25) ḃ(t) = −iΩ e−iϕ e−iνt a(t) Mit ν = ω − ω0 das sog. Detuning“ (Abweichung von der Resonanzbedingung). ” Im Resonanzfall: ν = 0 ȧ = −iΩeiϕ b ḃ = −iΩe−iϕ a → ä = −Ω2 a allgemeine Lösung: a = a0 cos(Ωt) − ieiϕ b0 sin(Ωt) −iϕ b = b0 cos(Ωt) − ie (26) a0 sin(Ωt) NOT Gate Im sog. π-Puls wirkt der Laser für eine Zeit τ so daß 2Ωτ = π. In diesem Fall und für ϕ = 0 erhalten wir nach der Zeit τ : In diesem Fall und für ϕ = 0 erhalten wir nach der Zeit τ : a = −i b0 0 1 ao = −i b = −i a0 1 0 b0 (27) Also bis auf die (unwichtige) Gesamtphase i, haben wir dadurch das NOT-Gate realisiert. Bemerkung: Die Komponenten des Qubit-Zustandes sind nicht die echten“ (a, b), sondern ” die in der Wechselwirkungsdarstellung. Das ist nur eine Frage der Konvention. Es ist aber notwendig, damit wenn HEF ausgeschaltet ist, der Zustand konstant bleibt. Hadamard Gate Wirkt der Laser für die Hälfte der Zeit haben wir den sog. π2 −Puls:. Hier ist 2Ωτ = die Phase soll ϕ = π 2 sein, also eiϕ = i. Dann erhalten wir: 58 π 2 b0 a0 a= √ +√ 2 2 a0 b0 b= √ −√ 2 2 a 1 1 1 o = −√ 2 b0 −1 1 Wir haben also (fast) den Hadmard-Gate realisiert. Es fehlt noch eine Phasenverschiebung: b soll noch eine Phase π erhalten. Phasenverschiebung Die Phasenverschiebung kann auf verschiedenen Weisen realisiert werden. Zum einen kann man die Übergangsenergie auf kontrollierter Weise verähndern. Das kann man z.B. leicht machen, wenn das zwei-Niveau Systems aus einem Spin- 12 Teilchen in einem Magnetfeld besteht. Statt des Wechselwirkungtermes Eq. (20) haben wir ∆H0 = |1ih1|∆ω0 Also: ∆ ω0 H = H0 + ∆H0 = (ω0 + ∆ω0 )|1ih1| ω0 wobei dieser Term nur für eine vorgegebene Zeit τ wirken soll, so dass φ = τ ∆ω0 genau die gewünschte Phasenverschiebung φ ergibt. Eine Phasenverschiebung φ = π kann man auch mit Hilfe des Hilfszustand |auxi realisieren. Es soll ein Laserpuls abgestimmt auf die Frequenz des Überganges vom |1i zu |auxi verwendet werden. Der Zustand bei der Zeit t sei Ψ(t) = a(t) |0i + b(t) |1i + c(t) |auxi . 59 (28) Wir wollen, dass vor und nach der Wirkung dieses Laserpulses c(t) = 0, also keine Amplitude auf dem Hilfezustand. Wir führen die Wechselwirkungsdarstellung ein, also zusätzlich zu Eq. (22) haben wir c(t) = ei(ω0 +ωaux )t c(t). Dann kann die Lösung aus Eq. (26) mit ersetzen von a durch b und von b durch c abgelesen werden. Für die π-Phasenverschiebung benötigen wir ein 2π-Puls, der Puls soll für eine Zeit τ wirken, so dass 2Ωτ = 2π. Auf dieser Weise erhalten wir b = −b0 und c = −c0 = 0, also die gewünschte Phasenverschiebung. Nichtresonanter Fall Um die Auswirkungen von Fehlern in der Frequenz wollen wir den Nichtresonanten Fall (ν 6= 0) betrachten. Dieser kann andere, unerwünschte Zustände anregen und, im allgemeinen, Fehler einführen. Wir machen die Transformation b(t) = e−iνt B(t) (29) Dann wird Eq. (25): ȧ(t) = −i R B(t) Ḃ(t) − iν B(t) = −iR∗ a(t) (30) mit R = Ωeiϕ . Diese lösen wir mit Hilfe eines Ansatzes: a(t) = a0 eiqt B(t) = B0 eiqt (31) Das gibt das homogene Gleichungssystem für die Koeffizienten: q a0 + R B0 = 0 (q − ν)B0 + R∗ a0 = 0 Um eine nichttriviale Lösung zu finden muß die Determinante verschwinden, also: 60 (32) q(q − ν) = |R|2 = Ω2 q 2 − νq − Ω2 = 0 √ ν ± ν 2 + Ω2 = q± q= 2 (33) (34) Es gibt zwei linear unabhängige Eigenlösungen der Form Eq. (31), mit den zwei Werten q = q± . Eine Speziallösung ist gegeben durch die Linearkombination der zwei Lösungen a(t) = a+ (t) + a− (t) b(t) = b+ (t) + b− (t) (35) Wir betrachten den Fall ν ≪ Ω, was auch die Bedingung ist, dass der Fehler klein“ bleibt. ” Dann ist q± ≈ ν ± Ω (36) wenn man das in Eq. (32) benutzt, findet man für die zwei Eigenlösungen B0± = −a0± ν±Ω R (37) Als Beispiel nehmen wir den Fall, dass für t = 0 das Qubit im Zustand |1i präpariert wird, also a(0) = 0, B(0) = b(0) = 1. Diese Bedingung mit Eq. (37) und Eq. (35) ergibt 0 = a(0) = a0+ + a0− ⇒ a0± = ±ã0 1 = b0+ + b0− = −ã0 2Ω eiϕ = −2e−iϕ ã0 ⇒ ã0 = − R 2 (38) Bei t > 0 haben wir aus Eq. (29), Eq. (31), Eq. (36), Eq. (37), Eq. (38), Eq. (35) eiνt−iνt+iϕ b(t) = 2 eiϕ iq+ t e − eiq− t = −eiϕ eiνt i sin Ωt 2 ν Ω − ν −iΩ t t = cos Ωt + i sin Ωt + e R Ω a(t) = − Ω + ν iΩ e R (39) Betrachten wir z.B. die Auswirkung auf dem NOT-Gate, wobei Ωt = π2 . Ein Vergleich mit dem resonanten Fall Eq. (27) (für a0 = 0, b0 = 1) zeigt, dass das Detuning zwei Arten von Fehlern 61 πν einführt: Zum einen eine (unkontrollierte) Phasenverschiebung ei 2Ω in a(t). Dieser Phasenfehler führt zur sogenannten Dekohärenz. Zum anderen eine kleine (unerwünschte) Amplitude ∝ ν Ω in b(t). Es gibt also eine Wahrscheinlichkeit ∝ ( Ων )2 , den Qubit im falschem“ Zustand |1i zu ” finden. Im Kap. 8 werden wir diese Fehlerquellen genauer Untersuchen, und auch zeigen, wie diese korrigiert werden können, solange sie nicht zu groß sind. Das ist offensichtlich der Fall, wenn ν ≪ Ω. 6.3 Messung Für die Messung benutzt man sinnvollerweise den Hilfszustand |auxi aux 1 ω Mess ω0 0 Ein Laser, abgestimmt mit der Frequenz ωM ess = ω0 +ωaux, produziert Übergänge von |0i −→ |2i , wenn |0i besetzt ist. Die Wahrscheinlichkeit des Überganges ist proportional zur Besetzung des Grundzustandes ∼ |a|2 . 2 |2i hat kurze Lebensdauer und zerfällt 0 Die gemessene Fluoreszenz gibt die Besetzung des Grundzustandes an. 62 6.4 2-Qubit Transformationen Schwieriger ist die Realisierung von 2-Qubit Gates, da in diesem Fall die Wechselwirkung zwischen zwei Qubits kontrolliert werden muss. In einer Ionenfalle ordnen sich Ionen in einer Reihe an. Wegen der Coulombabstoßung bleibt ein gewisser Abstand zwischen den Ionen: es bildet sich eine Gleichgewichtsanordnung. Kleine Oszillationen um die Gleichgewichtslage können durch gekoppelte harmonische Oszillatoren modelliert werden: A B Betrachten wir den abgebildeten Fall von zwei Ionen. In dieser Situation gibt es zwei Normale Moden mit entsprechenden Eigenfrequenzen ν0 und ν1 : ν1 ν0 Normalerweise ist ν0 << ν1 , weil die Abstoßung zwischen den Wänden kleiner ist als zwischen den Ionen. Für die Kopplung zwischen den Qubits verwendet man die Mode ν0 . Die Eigenzustände des harmonischen Oszillator sind: |0i , |1i , |2i , · · · {z } | Zustände 1 ~ν0 (n + ) | {z 2 } Energien Wir nehmen an, dass die Energien klein genug sind, so dass nur die zwei niedrigsten Anregungen eine Rolle spielen. Benennen wir nun diese (|0i, |1i) um in (|gi, |ei) da es sonst zu Verwechslungen mit den Qubit-Zuständen kommen kann. Für zwei auf dieser Weise gekoppelten Qubits gibt es 8 relevante Zustände, die man auf folgender Weise klassifizieren kann: 63 |nosz i ⊗ |bA i ⊗ |bB i, wo |nosz i der Zustand des harmonischen Oszillators ist, und |bA i , |bB i die der beiden Ionen. Zusätzlich besitzt jedes Ion einen Hilfezustand. Die Möglichen Energieniveaus für ν0 << ω0 sind schematisch: e g e g 1 1 1 e g 0 0 1 ω 0 ν0 ω0 e g ν0 0 0 Wir sehen jetzt, wie man ein Controlled Phase-Shift Gate (mit Phase π) erzeugen kann. Die entsprechende Tabelle ist ziemlich einfach: |00i −→ |00i Controlled-π (C-π) Gate: |01i −→ |01i (40) |10i −→ |10i (41) |11i −→ − |11i Also die einzige Änderung liegt in der Phase, die den Zustand |11i erhalten muss. (42) Am Anfang und am Ende der Rechnung müssen alle Zustände im Grundzustand des Oszillators (|gi) liegen, der Zustand |ei wird nur als Hilfzustand verwendet. Am Anfang der Transformation liegt also der 2-Qubit-Zustand in einer der Vier Zuständen |gi |00i |gi |01i |gi |10i |gi |11i 64 oder besser gesagt in einer linearen Kombination davon. Die Realisierung dieses Gates wird nun, wie folgt, in 3 Schritten durchgeführt. 1. π-Puls (Not) mit Frequenz ω = ω0 − ν0 auf dem Ion A Aus der Abb.;sind die möglichen Übergänge ersichtlich, der Ion B kann in einem der beiden Zuständen |bB i mit b = 0, 1 sein: |ei |gi |1i |bB i ω0 − ν0 |ei |0i |bB i |gi Die Zustände Eq. (43) werden also in folgender Weise transformiert: |gi |00i |gi |01i |gi |10i |gi |00i ⇒ |gi |11i |gi |01i |ei |00i |ei |01i 2.2π-Puls mit auxiliären Zustand und Frequenz ω = ωaux − ν0 auf dem Ion B Mögliche Übergänge (der Ion A ist in einem beliebigen Qubit-Zustand |bA i): 65 (43) |ei |gi |bA i |auxi ωaux − ν0 |ei |bA i |1i |gi Wir haben in Kap. 6.2.1 gesehen, dass diese Transformation eine π Phase dem Qubit |1i liefert. Aus der Figur kann man aber sehen, dass nur die Zustände |ei |bA i |1i (bA = 0, 1) diese Phase erhalten können. Von den möglichen Zuständen von der Tabelle Eq. (43), kommt nur |ei |0i |1i in Frage. Durch diesen Schritt erhalten wir also die Transformation: |gi |00i |gi |01i |ei |00i |gi |00i ⇒ |ei |01i |gi |01i (44) |ei |00i − |ei |01i 3. Wie in 1.: π-Puls (Not) mit Frequenz ω = ω0 − ν0 auf dem Ion A Wie im Punkt 1. gesehen, vertauscht dieser Schritt die Zustände |ei |0i |bB i ↔ |gi |1i |bB i Wir haben also: |gi |00i |gi |01i |ei |00i |gi |00i ⇒ − |ei |01i |gi |01i (45) |gi |10i − |gi |11i Nach diesen drei Schritten haben wir also unseren Ziel erreicht. Die Oszillatoren sind wieder in Ihren Grundzustand und der Zustand |11i hat ein minus-Zeichen erhalten. Diese drei Schritte 66 realisieren also tatsächlich einen Controlled-π (C−π) Gate. Mit Hilfe dieses C−π Gates und von zwei Hadamard-Transformationen kann das (eigentlich gewünschte) C−Not Gate realisiert werden (ÜBG): CNOT H π H Controlled π 6.5 Weitere Realisierungen Der große Nachteil der Ionenfalle ist, daß man nur wenige Ionen einfangen kann. Es ist somit nicht möglich, einen gros̈en“ Quantencomputer mittels einer Ionenfalle zu bauen. Das System ” ist nicht Skalierbar. Skalierbare Quantencomputer können möglicherweise mit Hilfe von Festkörpersystemen, in denen viele Qubits untergebracht werden können. Quantum Computer mittels Quantum Dots Vorschlag: Loss, Divincenzo (St.Barbara′ 98) Noch nicht realisiert 67 Metallische "Dots" Halbleiter Substrat Man kann diese Dots“ als schmale Potentialtöpfe betrachten, in denen nur wenige quantisier” te Zustände leben können. ω0 E Zeeman−Aufspaltung ∆ε Bz x Die Energiedifferenz ∆ǫ zwischen Grundzustand und erster angeregter Zustand sei gross (∆ǫ ≫ KB T ), so dass die elektronen immer im niedrigen Zustand leben. Ein Magnetfeld führt zusätzlich eine Zeemann-Aufspaltung ein, so dass man die zwei Spin-Richtungen für die zwei Qubit-Zustände benutzen kann. Sei ω0 = µ Bz diese Aufspaltung (µ ist der magnetische Moment der Elektronen), dann hat der Hamiltonian die gleiche Form wie in Eq. (19): H = ω0 |1i h1| (46) Übergänge zwischen den beiden Spinrichtungen, also 1-Qubit Gates, können mit Hilfe eines zeitabhangigen transversalen Magnetfeldes Bx (t) realisiert werden. Die Form des Wechselwirkungshamiltonian ist − µ Bx (t) (|0i h1| + |1i h0|) 2 68 (47) also die gleiche Form wie in Eq. (20). NOT und Hadamard Gates können also ganz analog wie im Kap. 6.2.1 realisiert werden, mit Hilfe des entsprechenden Transversalfeld (Magnetresonanz). 2-Qubit Gates: (vereinfachte Behandlung) Hier wird das Prinzip des Superaustausches benutzt. Zwischen zwei Elektronen A und B in zwei benachbarten Dots gibt es eine sog. Superaustausch-Wechselwirkung der Form: ↓↑ antiparallel E = − J 4 (A) (B) HJ = J Sz Sz =⇒ ↑↑ parallel E = J4 (48) Wir werden später sehen, wie diese entsteht. Eigentlich ist in der Regel die SuperaustauschP (A) (B) Wechselwirkung spinrotationsinvariant, d. h. sie hat die Form α=x,y,z Sα Sα , der Einfach- heit halber betrachten wir aber zunächst nur die z-Komponente. Den C-π-Phase Gate kann man auf folgender Weise realisieren. Man nutzt die Tatsache, dass die Kopplungskonstante J ein-und ausgeschaltet werden kann, siehe Kap. 6.5.1. Die Prozedur ist die folgende: 1. Einschalten von J in Eq. (48) für eine bestimmte Zeit τJ 2. Änderung des Magnetfeldes, ∆Bz für eine Zeit τB . Das führt zu einem zusätzlichen Hamiltonian-Term ∆HB = ∆B (Sz(A) + Sz(B) ) (49) mit ∆B = −µ∆Bz . Der Zeitentwicklungsoperator (in der Wechselwirkungsdarstellung) ist dann Û = e−i(τJ HJ +τB ∆HB ) (50) (die Form ist besonders einfach, weil HJ und HB vertauschen). In der Qubit-Basis führt diese Zeitentwicklung einfach eine Phase ein (siehe Eq. (48), Eq. (49), 69 zur Erinnerung |0i = |↑i, |1i = |↓i): J + τB ∆B 4 J = τJ − τB ∆B 4 J = −τJ 4 = φ01 Û |00i = e−iφ00 |00i φ00 = τJ Û |11i = e−iφ11 |11i φ11 Û |01i = e−iφ01 |01i φ01 Û |10i = e−iφ10 |10i φ10 (51) Im C-π Gate muss der |11i-Term eine extra π-Phase erhalten. Das legt die beiden Zeiten τJ und τB fest: τJ 2∆B =− τB J π = π ⇒ τB = − 2∆B φ00 = φ01 ⇒ φ11 − φ00 Ein- und Ausschalten der Kopplungen 1. Die Lokale Änderung von ∆B = µBz kann auf zwei Weise erreicht werden: a) durch eine lokale Änderung des Landé Faktors g (da µ = gµ0, wo µ0 das magnetische Moment der freien Elektronen ist). g ist materialabhängig und kann durch anlegen einer Bias-Voltage moduliert werden5 b) durch Modulierung der Austauschkopplung J zu einem benachbarten ferromagne- J (F) (A) S S Ferro tischen Quantendot: 2. Superaustauschmechanismus und Modulierung von J 5 Auf dieser Weise kann man die Wellenfunktion des Elektrons zwischen zwei Materialien mit unterschiedlichen g verschieben. 70 1 2 ∆x klein ∆x groß Tunneln von einem Dot zum nächsten ist nur erlaubt, wenn Spins antiparallel sind wegen Pauli-Prinzip! Parallele Spins: Tunnel ist unterdrückt =⇒ ∆x klein =⇒ ∆p groß =⇒ Kinetische Energie K↑↑ groß. Antiparallele Spins: Tunnel erlaubt =⇒ ∆x groß =⇒ ∆p klein =⇒ Kinetische Energie K↑↓ klein. Die Differenz zwischen den kinetischen Energien der parallelen und der antiparallelen Konfiguration wird genau durch den Term Eq. (48) (plus eine Konstante) beschrieben, wobei J = 2(K↑↑ − K↑↓ ) (52) J verschwindet, wenn die Tunnelbarriere sehr hoch ist. In diesem Fall können auch antiparallele Spins nicht Tunneln: es gibt also kein Energiegewinn durch die antiparallele Anordnung. Die Schaltung von J erfolgt also durch Anlegen eines Gate-Potentials, der die Tunnelbarriere erhöht oder absenkt. V 6.5.1 Richtige Behandlung des J-Termes ~ (A) S ~ (B) = J JS X α 71 ~α(A) S ~α(B) S Eigenzustände: 1 |S = 0i = √ (| ↑↓i − | ↓↑i) 2 1 |S = 1, Sz = 0i = √ (| ↑↓i + | ↓↑i) 2 3 E=− J 4 (Sges = 0) 1 E=+ J 4 (Sges = 1) z.B. (ohne Normierung): | ↑↓i = (|S = 0i + |S = 1, Sz = 0i) der Zeitentwicklungsoperator UJ (t): J ÛJ (t) | ↑↓i = e−i 4 t (eiJ t |S = 0i + |S = 1, Sz = 0i) bei J t = π ∝ (−|S = 0i + |S = 1, Sz = 0i) = | ↓↑i ”Swap”-Operator bei J t = π 2 π π ∝ (i|S = 0i + |S = 1, Sz = 0i) = ei 4 | ↑↓i + e−i 4 | ↓↑i verschränkter Zustand Man kann zeigen (ÜBG), dass π A π B C − NOT = ei 2 SZ e−i 2 SZ UJ (t = 72 π ) eiπ 2J A SZ UJ (t = π ) 2J (53) 7 Faktorisierung 7.1 Faktorisierungsalgorithmus (Shor’94) Problem: N ist gegeben, finde P, q =⇒ N = P ·q (i.d.r P, q Primzahlen). klassischer Algorithmus: 1. trivialer Algorithmus: √ alle Zahlen, von r = 1, ..., N probieren, und N r bilden 1 T ∝ e2L (T .... Anzahl der Iterationen) 2. bester (klassische) Algorithmus: 1 2 T ∝ eL 3 (log L) 3 also immer langsamer als jede Potenz von L (aber schneller als exponentiell)! Die Faktorisierung ist also, als klassischer Algorithmus, ein NP (unberechenbares) Problem. Wir zeigen jetzt, dass der zeitaufwendigste Schritt in der Faktorisierung die Suche nach der Periode einer (ganzzahligen) Funktion ist. Hat man die Periode der Funktion Eq. (54) gefunden, gelingt der rest der Rechnung in polynomialer Zeit. Die Funktion, von der die Periode gesucht werden muss ist fa,N (x) = ax mod(N) (54) für ein zufälliges a koprim mit N. Alle Größen sind ganzzahlige Zahlen. Koprim bedeutet: (gcd(N, a) = 1). Das gilt für alle Zahlen bis auf die gesuchten Faktoren p und q und multiple. 6 Hat man die Periode von Eq. (54) gefunden, wollen wir jetzt zeigen, dass man in polynomialer Zeit die Faktoren von N finden kann. Sei r die Periode fa,N (x + r) = fa,N (x) 6 Nimmt man also ein zufälliges a, entweder ist es koprim mit N (in fast allen Fällen) oder, wenn nicht, dann hat man praktisch die Faktoren gefunden. 73 dann: ax+r − ax = kN ax (ar − 1) = kN r r ax (a 2 − 1)(a 2 + 1) = kN (55) Angenommen, dass r gerade ist und ar mod(N) 6= −1 r Dann kann man zeigen, dass (siehe Ref. [1]), dass a 2 ± 1 nicht koprim mit N sind. Wie bereits erklärt bedeutet das, dass r gcd(a 2 ± 1, N) 6= 1 . (56) Die gcd sind also die gesuchte Faktoren von N und es ist nur ein kleiner Schritt, diese zu finden. Bsp.: N = 15, a = 7 x= 0 1 2 3 4 5 6 =⇒ r = 4 7x mod(15) = 1 7 4 13 1 7 4 50 4 2 7 ±1= 48 gcd(48, 15) = 3 =⇒ Faktoren von 15 gcd(50, 15) = 5 Wie findet man gcd? Das kann effizient, (berechenbares P-Problem) mit einem klassischen Algorithmus, (Euklid 300 v.Chr.) berechnet werden: gcd(N, q) (N > q) N q q r2 = Rest von r1 r1 = Rest von 74 r3 = Rest von r1 r2 . . rn = 0 =⇒ rn−1 = gcd(N, q) Die Anzahl der Operationen ist proportional zu log N! POLYNOMIALES PROBLEM =⇒ BERECHENBAR Fazit: Kann man die Periode r der Funktion fa,N effizient bestimmen, so kann man auch N effizient faktorisieren. Aber die Suche nach der Periode r ist, auch ein NP-Problem für ein klassischen Computer. Das kann man sehen, wenn man einen einfachen Algorithmus betrachtet: man berechnet die Funktion für x, x + 1, x + 2, · · · , bis sich diese wiederholt. Man muss also die Funktion ∝ rMal ausrechnen. Auf der anderen Seite ist typischerweise r ∝ N potenz ∝ eP otenz·L, also ein NP-Problem. Der Shor-Quantenalgorithmus bestimmt die Periode r in effizienter Weise. Weiterer Beispiel 75 Periode vs. Faktorisierung Zu faktorisieren: N = 1595153807287 Funktion: Log(N) 25 f(x) = a x mod N 20 Log f(x) 15 Rest der Teilung durch N a=5 10 5 20 40 60 80 100 x r=26 f (x) ≡ ax mod N Findet man Periode r ax mod N = ax+r mod N ⇒ ax+r − ax = n N (Teilbar durch N ) z. B. für x = 0 ar − a0 = k N (ar/2 − 1)(ar/2 + 1) = kN in unserem Fall gcd[(513 + 1),N] = 5227 Faktoren von N 13 gcd[(5 − 1),N] = 305175781 76 7.2 Quanten-suche nach der Periode einer Funktion Quantenalgorithmus : Periode einer Funktion f(x+r) = f(x) def. N−1 Uf Σ x=0 1 N r? (x=0,.....,N−1) x Uf 0 = x N−1 0 = x Σ 1 N x x=0 f(x) Ψ1 f(x) = (Quantenparallelismus) (Alle Spins des ersten Registers in x−Richtung) Σ( Ψ1 g(y) hat jetzt die Form: + g(y) + r + g(y) + 2 r + ... ) y y Fourier−Transformation F x y Ψ2 1 N N−1 N F Ψ1 = = N−1 Σe 1 N−1 2π i x s/N s s=0 Σ Σ e s=0 F Unitäre Transf. (wirkt nur auf x) = 2π i x s/N x=0 Geometrische interpretation: 77 s f(x ) y f(x) m=0 0 m=2 m=1 r 3r 2r x z z = 0, ....., r−1 m=0, ....., D − 1 x= z +m r Nur Werte von s sind erlaubt für welche die Bedingung Ψ2 m=3 = Σ erlaubte s r = n s N s Dr =N D=N/r ist erfüllt φ y (s) φ y (s0) Messung des ersten Registers (s) gibt s0 mit Wahrsc. 78 φ y (s0) x=z+m r m=0,...,D−1; z=0,...,r−1 f(z+ m r) = f(z) N−1 r−1 Σ z=0 N−1 r−1 = D−1 Σ Σ m=0 x=0 Ψ2 D=N/r unabh. von m 2π i ΣΣ e z=0 zs/N s f(z ) s=0 1 N 1 N D−1 e Σ m=0 D−1 Σ m=0 ...... = { 2π i sr/N m D/N 0 für sr/N für sr/N ganzzahlig (n) nicht ganzz. (vgl. Theorie der Braggrefraktion) Nur Werte von s , für welche die Bedingung N r erfüllt ist (n ganzzahlig) = n s tragen zur Summe in Ψ2 bei. Eine Messung von s auf diesen Zustand kann nur einen von diesen diskreten Werten geben (vgl. Bragg−Reflektion) 79 Physikalische Interpretation: Bragg −Peaks λs = N/s f(x) 0 r 3r 2r x N r = s n =n λs Konstruktive Interferenz : r Wahrscheinlichkeit Messung des ersten Registers (x) (s) nach der F.T. vor der F.T. 0 N r 2 N r 3 N r 4 N r s x Die Figur zeigt die Wahrscheinlichkeit, ein bestimmtes Wert von s zu messen. Allerdings, in Gegensatz zu gewöhnlichen Experimenten, in denen man die enstprechende Verteilung zu sehen ist, wird in dem Fall nur ein Ergebnis (ein Wert von s) gemessen. Im Prinzip steht die 80 Lösung (r) im Nenner von s, aber es kann sein, dass der Bruch noch reduziert werden kann! Die Wahrscheinlichkeit dazu ist aber nicht zu gross. Genauer gesagt, sei ǫ die Erfolgswahrscheinlichkeit, also die Wahrscheinlichkeit, dass r und n koprim sind. Wir können immerhin die ganze Prozedur w-Mal wiederholen, so dass die Wahrscheinlichkeit P(w), dass man bei mindestens einer Wiederholung Erfolg hat ist P(w) = 1 − (1 − ǫ)w . (57) Fordern wir eine gegebene Wahrscheinlichkeit P0 (sagen wir 99%), dann müssen wir die Rechnung w= − log(1 − P0 ) log(1 − P0 ) ≈ log(1 − ǫ) ǫ wiederholen. Man kann zeigen [1, 2], dass 1 ǫ (58) ∝ Polynom von(log N), also der Algorithmus bleibt Polynomial auch wenn man ihn w Mal wiederholen muss. 81 Messung von s Wahrscheinlichkeit Messung von s (erster Register) "Bragg"−Peaks nur ein "Photon" n=1 n=2 n=3 sr/N=n n=4 n=5 s N r = s n r/3 r/4 r/5 ......... r r/2 n 1 2 3 4 5 6 7 8 r n 8 4 8/3 2 8/5 4/3 8/7 1 aus Messung Beispiel: r=8 Quantenrechnung: Probabilistische Rechnung ! P ( Erfolg mit einem Versuch P ( Erfolg mit zwei Versuchen P ( Erfolg mit drei Versuchen ....... Weitere Fehlerquellen: 82 ) = 50 % ) = 75 % ) = 87.5 % Der Fall, dass N teilbar durch r ist ideal und eigentlich unwahrscheinlich. Führ den Fall, dass N nicht durch r teilbar ist, kann man zeigen, dass die Werte von s eine Verteilung bilden, dessen Maxima beim nearest integer von n N/r liegen. Der wichtige Punkt ist, dass die Kurven (siehe Fig. 3) eine Halbwertsbreite die proportional zu log N ist. Findet man ein falsches Wert“, ” kann man die O(log N) benachbarten probieren“, bis man das richtige findet. Das ändert die ” Komplexitätsklasse des Algorithmus nicht. In der exakten Fouriertransformation Eq. (59) müsste man im Prinzip die Phasen kontrollieren bis auf Fehlern der Größenordnung 2π/N, also exponentiell klein in log N. Das würde bedeuten, dass man z.B. den irrationellen Phase-shift Gate (siehe Sec. 4.5) O(N) mal anwenden müsste, also wäre der Algorithmus nicht mehr polynomial. Allerdings, kann man zeigen [3], dass es reicht, wenn die Phasen in Eq. (59) mit einer Genauigkeit O(1/ log(N)) erzeugt werden. Dieser Fehler“ in den Phasen, würde ebenfalls eine Verbreiterung der Peaks (Fig. 3) um O(log N) ” bringen. Abbildung 3: Wahrscheinlichkeit Breite ∆s ∝ log N 0 N r 2 N r 3 83 N r 4 N r x 7.3 Fourier-Transformation Wie wird die Fourier-Transformation 1 X i 2πx s e N |si F |xi = √ N s (59) realisiert? Wie wächst die dazu benötige Rechenzeit T mit der größe des Inputs L? Fangen wir mit dem einfachen Fall von n = 1 Qubit an (N = 2). Die Fouriertransformation ist in diesem Fall (die Normierung lassen wir weg): 2π F |bi = |0i + ei 2 b |1i (60) also F |0i = |0i + |1i = H |0i F |1i = |0i − |1i = H |1i (61) Für n = 1 ist also die Fourier Transformation equivalent zu einem Hadamard-Operator. Wie kann man das für n > 1 verallgemeinern? Als Beispiel betrachten wir den Fall n = 4 (N= 2n =16). Die Fourier Transformation kann mittels des Netzwerkes in Fig. 4 erzeugt werden. |b3 i |b2 i |b1 i |b0 i H |c3 i |d3 i C ϕ1 C ϕ2 C ϕ1 H |s2 i C ϕ1 H C ϕ2 |s3 i C ϕ3 |s1 i H |s0 i Abbildung 4: Die verbundene Punkte stehen für eine Controlled-Phase-Transformation CϕR mit der Phase ϕR ≡ 84 π 2R (62) und R ist der Abstand“ zwischen den Punkten (siehe Figur). |bl i sind die Qubits, welche die ” Zahl x representieren: x = b0 20 + b1 21 + b2 22 + b3 23 , (63) |sl i die Endzustände (l = 0, 1, 2, 3), und |c3 i, |d3 i Zwischenzustände. Unser Ziel ist zu zeigen, dass |s3 i ⊗ |s2 i ⊗ |s1 i ⊗ |s0 i die rechte Seite von Eq. (59) egibt. Wir zeigen zunächst, dass |sl i = |0i + exp 2π i x |1i . 2l+1 (64) Beachten wir zunächst, dass die CϕR -Transformation symmetrisch“ ist, d. h. es ist egal welche ” der beiden Qubits der kontrollierende und welcher der kontrollierte ist. Daher haben die Punkte die gleiche Form. Für unsere Überlegung betrachten wir jeweils den unteren“ Qubit als der ” kontrollierende. Betrachten wir jetzt den Weg“ des obersten Qubit durch das Netzwerk. Nach der ersten ” Hadamard Transformation wird (vgl. Eq. (60)): |c3 i = |0i + exp 2π i b3 |1i . 2 Nach dem Cϕ1 -Gate (siehe Eq. (62)) erhält |1i eine weitere Phase kontrolliert wird: 2π i |d3 i = |0i + exp 2 b2 b3 + 2 b2 , weil diese von b2 |1i b1 , nach Cϕ3 die Phase 2π b , so dass 16 0 b2 b1 b0 2π i b3 + + + |1i = |0i + exp 2 2 4 8 = |0i + eiα3 |1i nach Cϕ2 bekommt |1i die Phase |s3 i 2π 8 2π 4 mit α3 = 2π 2π (8b3 + 4b2 + 2b1 + b0 ) = 4 x 16 2 (65) was mit Eq. (64) für l = 3 übereinstimmt. Für |s2 i ist die Überlegung sehr ähnlich. Das Ergebnis ist ähnlich wie in Eq. (65), nur dass in diesem Fall nur die 3 Werte b0 , b1 , b2 beitragen. Deswegen ist auch der Nenner in der Phase die Hälfte wie in Eq. (65). Wir bekommen daher |s2 i = |0i + eiα2 |1i mit α2 = 85 2π (4b2 + 2b1 + b0 ) 23 (66) wir können das fehlende“ Term 8b3 addieren und subtraieren: ” α2 = 2π x 2π (8b3 + 4b2 + 2b1 + b0 ) − 2πb3 = 3 − 2πb3 3 2 2 was auch mit Eq. (64) übereinstimmt, da die Phase Modulo 2π definiert ist. (67) Mit sehr ähnlichen Überlegungen kann man zeigen, dass Eq. (64) auch für l = 1 und l = 0 stimmt. Die Verallgemeinerung von Eq. (64) für eine beliebige Anzahl n von Qubits ist auch leicht zu beweisen. Fig. 4 beschreibt noch nicht die komplette Fourier-Transformation. Am Ende dieses Netzwerkes müssen alle outcoming Qubits zusätzlich vertauscht (SWAP) werden: Der Qubit k (k = 0, · · · n − 1) wird mit dem n − 1 − k vertauscht. Nach dieser Transformation und aus Eq. (64) sehen wir, dass der Endzustand ist: F |xi mit θ = α3 = = |0i + eiα0 |1i ⊗ |0i + eiα1 |1i ⊗ |0i + eiα2 |1i ⊗ |0i + eiα3 |1i = |0i + ei8θ |1i ⊗ |0i + ei4θ |1i ⊗ |0i + ei2θ |1i ⊗ |0i + eiθ |1i 2π x. 16 (68) Die Entwicklung der Produkte in Eq. (68) gibt eine Summe von allen 16 Vektoren |xi: F |xi = 15 X x=0 cx |xi (69) Schauen wir uns einige der cx Koeffizienten an. Z.B. der Koeffizient von |5i = |0101i ist c5 = exp [4 i θ] exp [i θ] = exp [5 i θ], der von von |13i = |1101i ist c13 = exp [8 i θ] exp [4 i θ] exp [iθ] = exp [13 i θ]. Im allgemeinen kann man gut sehen, dass 2π i x cx = exp [i x θ] = exp 16 , (70) also Eq. (69) mit Eq. (70) gibt genau die gesuchte Fourier-Transformation Eq. (59). Die Frage natürlich ist, wie gross die Algorithmenkomplexität der Fourier Transformation in Fig. 4 ist. In anderen Worten, wieviele elementare Operationen werden dafür benötigt. Aus Fig. 4 kann man sich leicht vergewissern, dass man O(n) Hadamard-Operationen, sowie O(n2 ) 86 Controlled-Phase (Cϕ ) benötigt. Da die Größe des Inputs L = n ist, ist die Komplexität dieser Operation genau O(L2 ), also polynomial, wie man sich auch erwünscht hat. 87 8 Fehler in einem Quantencomputer (Siehe auch Ref. [4] für eine pädagogische Darstellung). Quantencomputer sind sehr Fehlerempfindlich, weil nichtlokale Korrelationen eine wichtige Rolle spielen. Wichtige Fehlerquellen 1. Fehler in Quanten-Gates z.B. Dauer und Phase eines Laserimpulses. Es handelt sich hier um ein unitäres Fehler. Abgesehen von der Einwirkung des externen, zeitabhängigen Feldes kann das System als isoliert“ betrachtet werden. ” 2. Dekohärenz Das System wechselwirkt mit der Umgebung, der Fehler entspricht also einer nicht unitären Transformation. Situation bei einem klassischen Computer: In diesem Fall ist der Fehler eine unerwünschte Bitumdrehung ( Bit-Flip“) 1 → 0. ” Die Korrektur nützt die Redundanz aus: jedes Bit wird in N-Kopien gespeichert, z.B. N = 3: |0i wird in |000i gespeichert |1i wird in |111i gespeichert Die Fehlerhäufigkeit wird durch eine Fehlerrate R characterisiert, also wie oft ein solches Bit-Flip pro Zeiteinheit, pro Bit im Durchschnitt vorkommt. P = RT ist also die Wahrscheinlichkeit eines solchen Fehlerereignisses nach der Zeit T (solange P ≪ 1). Nach der Zeit T wird der Bit kontrolliert und falls notwendig, nach der Mehrheitsregel, korrigiert. Z.B. |010i → |000i Die Wahrscheinlichkeit, dass mindestens zwei Werte falsch sind, so dass die Korrektur einen Fehler macht, ist dann P2 = 3P 2 + O(P 3) . 88 Die neue Fehlerrate ist also R2 = P2 /T = 3R2 T Man kann also R2 beliebig klein machen, indem man entweder T klein genug wählt (also häufigere Kontrolle macht) oder N größer nimmt. 8.0.1 Was ist anders in einem Quantencomputer In einem Quantencomputer kann man diese Redundanzmethode“ nicht ohne weiteres benut” zen. Es gibt zusätzliche Probleme., z. B. andere Arten von Fehlern: 1. Phasenfehler: |0i → |0i |1i → −|1i 2. Kontinuierlicher Fehler startet man von einem Zustand a|0i + b|1i, können kleine Fehler in den Koeffizienten a, b vorkommen. Diese sind nicht diskret, also nicht eindeutig aufzuspüren und bauen sich auf. 3. Die Korrektur durch Redundanz“ braucht eine Messung. Das quantenmechanische ” System wird dadurch gestört. 4. Für quantenmechanische Systeme gilt das sog. No cloning Prinzip. Ein quantenmechanischer Zustand kann im allgemeinen nicht kopiert werden. (Ansonsten könnte man z.B. bei einem Zustand den Ort x beliebig genau messen, und bei der Kopie den Impuls p, dies entspricht einer Verletzung der Heisenberg’schen Unschärferelation. ) 8.1 Quantenfehlerkorrektur (SHOR, 95) Wir betrachten zunächst den klassischen“ Fehler, nämlich das Bit-Flip. Auch im Quanten” computer nutzt man die Redundanz aus. Man ersetzt also die Qubits auf folgender Weise: 89 |0i −→ |0̄i ≡ |000i |1i −→ |1̄i ≡ |111i also |Ψi = a|0i + b|1i −→ a|000i + b|111i (71) Zu beachten ist, dass diese keine Kopie des Zustandes ist (diese würde Punkt 4 verletzen). Eine Kopie des Zustandes wäre |Ψi −→ (a|0i + b|1i)(a|0i + b|1i)(a|0i + b|1i) Das Netzwerk für die Erstellung des redundanten Zustandes Eq. (71) ist relativ einfach: a |0i + b |1i |0i a |000i + b |111i |0i Nehmen wir an, dass der Bit-Flip Fehler bei dem 1. QuBit von Eq. (71) auftritt: |Ψi → |ΨF i = a|100i + b|011i (72) Wir können nicht wie im klassischen Fall vorgehen. Das müsste man eine Messung der Qubits durchführen, was den Zustand verändern würde. Misst man z.B. den 1. Qubit, würde der Zustand die Information über die lineare Kombination (die Koeffizienten a und b) verlieren. Die Lösung besteht darin, eine andere Größe zu messen. Bezeichnen wir die Basiszustände als |b1 b2 b3 i dann messen wir die zwei Größen (b1 + b2 , b2 + b3 ) wobei die Summen modulo 2 zu betrachten sind. Diese ist äquivalent zur Anfrage (eigentlich die Negation davon) ? ? (b1 = b2 , b2 = b3 ) . 90 (73) Im Fall des Fehlers, Eq. (72), ergibt die Messung: (NEIN,JA) Nach dieser Messung wissen wir also, dass der Fehler beim Qubit b1 aufgetreten ist und können diesen korrigieren. Der wichtige Punkt ist, dass |ΨF i in Eq. (72) ein Eigenzustand der Operatoren Eq. (73) ist ( Eq. (73) gibt dasselbe Ergebnis auf beiden Termen von Eq. (72)). Die Messung ändert also den Zustand nicht !. Bemerkungen: • Das funktioniert, weil der Fehler unitär ist. Das sorgt dafür, dass wenn |0i → |1i auch |1i → |0i vorkommt. • Man benötigt dazu eine nichtlokale Messung ( Eq. (73)). • Die Annahme ist, dass der Fehler dagegen lokal also unkorreliert ist. In diskutierten Fall hat man angenommen, dass der Fehler diskret ist, also entweder findet ein ganzes Bit-Flip statt oder gar nicht. Wir betrachten jetzt den Fall eines Kontinuierlichen, unitären Fehlers: Die Zeit zwischen Korrekturen soll klein gehalten werden, so dass auch der Fehler klein ist. Durch ein solches Fehler wird ein Qubit auf folgender Weise transformiert (ǫ ≪ 1): |0i → |0i + ǫ|1i |1i → |1i − ǫ|0i (74) plus Terme der Ordnung ǫ2 . Diese Form folgt aus der Unitarität. Nehmen wir an, dass der Fehler auf dem ersten Qubit von Eq. (71) wirkt, dann: |000i → |000i + ǫ|100i |111i → |111i − ǫ|011i a|0̄i + b|1̄i → |Ψ′F i ≡ a|000i + b|111i + a ǫ |100i − b ǫ |011i 91 (75) Der Fehler wird mit der gleichen Messung wie Eq. (73) korrigiert. In diesem Fall ist |Ψ′F i kein Eigenzustand dieses Operators. Wir können also zwei Ergebnisse bekommen, mit unterschiedlichen Wahrscheinlichkeiten P : (JA,JA) mit P = 1 − ǫ2 Ψ′F zerfällt in a |000i + b |111i (NEIN,JA) mit P = ǫ2 Ψ′F zerfällt in a|100i − b|011i Im ersten Fall, wurde der kleine Fehler ǫ durch die Messung korrigiert (und das wissen wir aus dem Ergebnis (JA,JA) der Messung). Im zweiten Fall, hat sich der Fehler verschlechtet, aber dann wissen wir aus der Messung, dass der erste Qubit geflipped“ werden muss. ” Das Netzwerk für diese Fehlerkorrektur ist: 1. 2. a |0i + b |1i |0i |0i a |000i + b |111i hier findet der evtl. Flip-Fehler statt 3. 4. a |0i + b |1i |x1 i |x2 i Die Output-Qubits |x1 i und |x2 i enthalten das Ergebnis einer Messung ähnlich zu Eq. (73): x1 = b1 + b2 x2 = b1 + b3 . (76) Der erste Qubit liefert den bereits korrigierten Zustand, der aber zur veiteren Verarbeitung noch einmal wie in Eq. (71) redundant gemacht werden muss. Um das zu überprüfen, betrachten wir in der unterstehenden Tabelle die einzelnen Schritten 1., 2., 3., 4. für unterschiedlichen Fehlerereignissen. Die linke und die rechte Tabellen sind jeweils für |000i und |111i. 92 1. 2. 3. 1. 4. 2. 3. 4. 0 + 0 + 0 + 0 + 0 0 0 0 0 0 0 0 1 + 1 + 1 + 1 + 1 0 0 0 1 1 0 0 0 + 0 + 0 + 0 + 1 1 1 1 0 0 0 0 1 + 1 + 1 + 1 + 1 1 1 0 0 0 1 1 1 + 1 + 1 + 0 + 1 1 1 0 1 1 0 0 0 + 0 + 0 + 1 + 1 1 1 1 1 1 1 1 (77) Soweit haben wir also die Probleme der Punkte 2, 3 und 4 gelöst. 8.1.1 Phasenfehler Auch im Fall des Phasenfehlers gibt es einen diskreten und einen kontinuierlichen Fehler. Wir nehmen an, dass wir den Zustand wie in Eq. (71) redundant gemacht haben. Im diskreten Fall flipt“ die Phase um π: ” a|0̄i + b|1̄i ⇒ a|0̄i − b|1̄i Wie man leicht sehen kann, hilft die Redundanz in diesem Fall nicht, weil das flippen einer der Phasen der Qubits bi sich auch auf die anderen auswirkt. Die Lösung besteht darin, nicht die Qubits sondern die Phase redundant zu machen. Die Qubits sollen also folgendermaßen transformiert werden: |0̄i → |¯0̄i = (|0̄i + |1̄i)(|0̄i + |1̄i)(|0̄i + |1̄i) |1̄i → |¯1̄i = (|0̄i − |1̄i)(|0̄i − |1̄i)(|0̄i − |1̄i) (78) wie man sieht braucht man mindestens 9 Qubits, um die Information eine Qubits für die Fehlerkorrektur zu speichern. Noch einmal nehmen wir an, dass dieser Fehler nur auf einer der Phasen stattfindet. Im Fall eines diskreten, unitären Phasenfehlers, z. B. auf dem linken Zustand in Eq. (78) haben wir die Transformation |0̄i ± |1̄i → |0̄i ∓ |1̄i 93 . Nach dem Fehler modifiziert sich also der Zustand: a|¯0̄i + b|¯1̄i → |Ψ′′F i ≡ a(|0̄i − |1̄i)(|0̄i + |1̄i)(|0̄i + |1̄i) +b(|0̄i + |1̄i)(|0̄i − |1̄i)(|0̄i − |1̄i) (79) Bezeichnen wir mit P hasei die Phase des i. Zustand (hier diskret: entweder 0 oder π). Die Messung, die durchgeführt werden muss ist ganz analog zu Eq. (73), nur jetzt angewandt auf die Phase. ? ? (P hase1 = P hase2 , P hase2 = P hase3 ) . (80) In Fall Eq. (79) ist das Ergebnis (NEIN,JA). Wie beim Bit-Flip Fehler, wissen wir, dass die 1. Phase korrigiert werden muss. Noch einmal ist Eq. (79) ein Eigenzustand von Eq. (80), und wird nach der Messung nicht modifiziert. Wie kann man überprüfen, ob zwei Phasen gleich sind? Das wird mit Hilfe von Hadamardtransformationen gemacht. Eine Hadamard-Transformation transformiert nämlich die Phase in Bit und zurück: H(|0i ± |1i) = |0i |1i (81) Der Operator Eq. (80) wird also realisiert, indem man zuerst eine Hadamard-Transformation auf alle drei Termen macht, die Messung Eq. (73) durchführt, und dann wieder eine HadamardTransformation auf die drei Termen anwendet, um zum ursprünglichen Zustand zurückzukehren. Die Behandlung des kontinuierlichen Phasenfehler ist sehr ähnlich zur Behandlung des kontinuierlichen Bit-Flip Fehler. Als Beispiel betrachten wir den Fall, dass der linke Qubit eine kleine Phase φ (also |1̄i → eiφ |1̄i) 94 bekommt. Statt Eq. (79) haben wir also a|¯0̄i + b|¯1̄i a(|0̄i + eiφ |1̄i) | + i | + i → +b(|0̄i − eiφ |1̄i) | − i | − i (82) wo |+i ≡ 0 + 1 |−i ≡ 0 − 1 . (83) die Eigenzustände der Phase“ sind. ” ? Wir messen noch einmal Eq. (80). (P hase2 = P hase3 ) ist trivial und gibt JA. Eq. (82) ist ? aber kein Eigenzustand von (P hase1 = P hase2 ). Um seine Wirkung zu bestimmen, entwickeln wir nach Eigenzuständen der Phase Eq. (83). Für φ ≪ 1 haben wir 0 + eiφ 1 ≈ 0 + (1 + iφ) 1 = (1 + i φ ) | + i − i φ | − i , 2 2 (84) Ähnlich erhalten wir: 0 − eiφ 1 ≈ (1 + i φ ) | − i − i φ | + i . 2 2 Eq. (82) wird also φ (1 + i ) (a | + i | + i | + i + b | − i | − i | − i) − 2 φ i (a | − i | + i | + i + b | + i | − i | − i) . 2 (85) (86) Die Situation is jetzt ganz analog zu Eq. (75), nur hat man hier | + i statt |0i , | − i statt |1i und wir messen hier die Phasen statt der Qubitwerte. Misst man Eq. (80) in Eq. (86), hat man zwei Möglichkeiten: (JA,JA) mit P = 1 − (NEIN,JA) mit P = φ2 , 4 φ2 , 4 Ψ′′F → a | + i | + i | + i + b | − i | − i | − i Ψ′′F → a | − i | + i | + i + b | + i | − i | − i (87) Im ersten Fall, wird der Phasenfehler schon durch die Messung korrigiert (und das wissen wir aus dem Ergebnis (JA,JA) der Messung). Im zweiten Fall, hat sich der Fehler verschlechtet, 95 aber dann wissen wir aus dem Messergebnis, dass die erste Phase um π korrigiert werden muss. Das Netzwerk für die Phasen-Korrektur ist sehr ähnlich zu dem für die Bit-Flip Korrektur. Zur vereinfachung zeigen hier ein Netzwerk, in der die Kodierung |0i → |000i vernachlassigt wird. Es gilt also Eq. (78) mit einen bar“ weniger: Der Einzige unterschied sind die Hadamard ” Transformationen, die die Phase in Qubits transformieren. 8.1.2 Zusammenfassung • Quantenfehlerkorrektur wird durchgeführt, indem man ob ein Fehler stattgefunden hat“ ” nicht die Daten selber misst. • Ein kontinuierlicher Fehler wird durch Messung einer diskreten Variablen (Fehler JA oder NEIN) diskretisiert. • Der Fehler ist lokal, die Korrektur nichtlokal. • Man muss, wie in einem klassischen Computer, die Häufigkeit der Fehlerkorrektur (und/oder die Anzahl der Qubits für die Redundanz) so wählen, dass die Fehlerrate R2 (nach der Korrektur) klein genug wird. • Natürlich braucht man dann mehr QuBits und mehr elementare Operationen für die gleiche Rechnung. Das ändert aber nichts an der komplexitätsklasse, da das Wachstum linear ist. 8.2 Dekohärenz Dekohärenz ist ein Fehler in der Phase, produziert durch Wechselwirkung mit der Umgebung, die zu einer nichtunitären Zeitentwicklung führt. Dies kann als einer (partiellen) Messung des Zustandes von seitens der Umgebung betrachtet werden, wodurch die Phaseninformation verloren geht. 96 Es ist genau die Phaseninformation (Interferenz), die den Vorsprung eines Quantencomputer gegenüber eines klassichen liefert. Aus diesem Grund stellt die Dekohärenz ein größeres Problem dar, auch weil die Dekohärenzrate in der Regel schneller als andere Fehlerquellen ist. Beispiel: Betrachten wir den Algorithmus zur Bestimmung der Gleichheit von f (0) und f (1) (Sec. 5.1). Das Zwischenergebnis ( Eq. (9)) hat die Form |Ψi = |0i ± |1i . (88) Eine Messung in Eq. (88) würde 0 oder 1 mit Wahrscheinlichkeit jeweils P = 1/2 ergeben. Diese ermöglicht keine Bestimmung der Phase. Die Phase kann bestimmt werden, indem man vor der Messung den Hadamard-Operators anwendet, der die Phase in Bits transformiert: |0i (für Phase +) H|Ψi = |1i (für Phase -) Nehmen wir jetzt an, dass jemand (die Umgebung) den Zustand |Ψi ( Eq. (88)) misst“, bevor ” H angewandt wird. Das Ergebnis dieser unerwünschten Messung, und auch die Tatsache, dass es eine Messung stattgefunden hat, soll uns unbekannt bleiben. |0i (mit P = 1 ) 2 |Ψi zerfällt in |1i (mit P = 1 ) 2 (89) Messen wir diesen Zustand, bekommen wir 0 oder 1 mit P = 1/2 (weil wir das Ergebnis der unerwünschten Messung nicht kennen). Soweit hat sich also für uns die Situation gegenüber dem Fall ohne unerwünschten Messung, die wir Dekohärenzsprozess nennen, nicht verändert. Wir sind aber an die Phase von Eq. (88) interessiert. Daher wollen wir vor der Messung den Hadamard Operator an Eq. (89) anwenden: (mit P = 1 ) |0i −→ 2 (mit P = 1 ) |1i −→ 2 |0i + |1i |0i − |1i Jetzt führen wir eine Messung durch, in der Hoffnung, die ursprüngliche Phase in Eq. (88) zu bestimmen. Wegen des Dekohärenzprozesses werden wir aber in beiden Fällen 0 oder 1 mit 97 P = 1/2 erhalten. Die Information über die Phase ± ist also verloren gegangen. Wie geht genau die Phase verloren? Was macht die unerwünschte Messung? Die Zeitentwicklung des isolierten Qubits ist nicht unitär. Betrachtet man die Zeitentwicklung des Systems Umgebung+Qubit bleibt diese unitär. Eine Messung kann als einer Transformation (Zeitentwicklung) betrachtet werden, die das Qubit mit der Umgebung verschränkt. Wir betrachten jetzt ein sehr einfaches Beispiel (siehe Ref. [5]), um das Prozess einer Messung zu verstehen. Eine genauere Beschreibung erfordert das Konzept der Dichtematrix. Wir haben einen Qubit, der durch Spinrichtungen beschrieben ist. Unser Messgerät hat zwei mögliche Zustände, die dann den Zustand des Spins zeigen. Zum Beispiel ein Zeiger, der eine Spannung zeigt (wenn der Spin nach unten zeigt) oder keine (wenn der Spin nach oben zeigt). Die Zustände des Messgerätes seien |m0 i ≡ | keine Spannung i |m1 i ≡ | Spannung i (90) (91) Das Messgerät sei vor der Messung in einem Anfangzustand |mi. Vor dem Messprozess sind die Zustände des Qubits und des Messgerätes unverschränkt. Der Anfangzustand sei also: |Ψ0 i = |ΨQubit i ⊗ |ΨM essgeraeti = (a |0i + b |1i) ⊗ |mi Das Messprozess führt eine Wechselwirkung zwischen den beiden Systemen ein, (92) die |0i mit |m0 i und |1i mit |m1 i assoziiert. Nach der Messung haben wir also |Ψ1 i = UM essung |Ψ0 i = a |0i ⊗ |m0 i + b |1i ⊗ |m1 i . (93) Die Transformation UM essung ist unitär. Im Zustand |Ψ1 i ist das Qubit mit dem Messgerät verschränkt. Das Messgerät kann auch der Beobachter selbst sein: |m1 i ist ein Zustand des Beobachters in dem sein Auge eine Spannung im Messgerät gesehen hat. Eq. (93) beschreibt also zwei parallele Welten“ in denen der Beobachter die Spannung gesehen hat oder nicht. In jeder von ” 98 diesen beiden Welten ist der Zustand des Qubits in den entsprechenden Eigenzustand 0 oder 1 zerfallen, wie die Theorie der Messung nach der quantenmechanik beschreibt. Dekohärenzprozess: Wie bereits gesagt kann man auf dieser Weise auch ein Dekohärenzprozess berschreiben. In diesem Fall, beschreiben die |mi i mögliche Zustande der Umgebung, und Eq. (93) die Verschränkung der Qubits mit der Umgebung. Nehmen wir an, dass wir nach dieser Verschränkung mit der Umgebung eine richtige“ Messung ” von |Ψ1 i durchführen wollen. Wir wollen natürlich den Qubit und nicht die Umgebung messen. Aus Eq. (93) ist es klar, dass das Ergebnis der Messung 0 mit Wahrscheinlichkeit P (0) = |a|2 (der Zustand sei Normiert) oder 1 mit P (1) = |b|2 sein wird. Das wäre so auch vor dem Dekohärenzprozess, d. h. in Eq. (92). Solange wir direkt die Qubits messen, hat die Dekohärenz nichts gehändert, wie auch im Beispiel bei Eq. (89). Nehmen wir jetzt an, dass wir vor der Messung eine Hadamard Transformation durchführen wollen (um die Phase zu messen). Wir betrachten jetzt zur Vereinfachung den Fall, dass √ a = b = 1/ 2 . Die Phase von |Ψ0 i wäre also +“. ” Die Hadamard-Transformation wirkt natürlich nur auf das Qubit in |Ψ1 i: (H ⊗ I) |0i ⊗ |m0 i + |1i ⊗ |m1 i |0i ⊗ (|m0 i + |m1 i) + |1i ⊗ (|m0 i − |m1 i) = . 2 2 (94) Wir führen jetzt eine Messung auf Eq. (94) durch. Wenn |m0 i = |m1 i wäre, also keine Dekohärenz, dann würde unsere Messung mit Sicherheit 0 ergeben (also P (0) = 1). Wir hätten also die Information erhalten, dass die Phase des Anfangszustand |Ψ0 i +“ war. ” Für |m0 i = 6 |m1 i gibt es aber auch eine Wahrscheinlichkeit P (1), dass wir aus der Messung das falsche“ Ergebnis (1) erhalten, mit ” P (1) = 1 1 ||m0 i − |m1 i|2 = (1 − Rehm0 |m1 i) , 4 2 (95) wobei wir angenommen haben, dass die Zustände |mi i zwar nicht orthogonal sind (das kann der Fall sein, wenn die Dekohärenz klein ist) aber normiert. Die Phaseninformation wird komplett gelöscht, wenn P (0) = P (1). Das kommt vor, wenn |m0 i und |m1 i orthogonal sind (maximale Dekohärenz). 99 Das Prozess der Dekohärenz erfolgt kontinuierlich als Funktion der Zeit, d. h. die Information über die Phase wird in einer charakterischen Zeit τdek , der Dekoharenzzeit, verloren. Für den betrachteten Fall, P (0) − 1 2 ∝ e−t/τdek . Typische Werte für τdek für verschiedene mögliche Realisierung eines Quantencomputers sind in der Tabelle gezeigt (aus Ref. [3]). telem ist die Zeit die man benötigt, um eine elementare Operation durchzuführen. Die interessante Größe hier ist natürlich N, die Anzahl der Operationen, die ein Quantencomputer in einer Dekoharenzzeit durchführen kann. Technologie telem /sec τdek /sec N Mössbauer nucleus 10−19 10−10 109 Elektrons GaAs 10−13 10−10 103 Electrons Au 10−14 10−8 106 Trapped ions 10−14 10−1 1013 Optical cavities 10−14 10−5 109 Electron spin 10−7 10−3 104 Electron quantum dot 10−6 10−3 103 Nuclear spin 10−3 10−4 107 Superconductor islands 10−9 10−3 106 Kann man Dekohärenz rückgängig machen (Rekohärenz) ? Das Kann man mit Hilfe eines Netzwerkes wie in Fig. 5 geschehen, wie wir jetzt diskutieren werden. 8.3 Dichtematrix formalismus (Folgt zum Teil Ref. [5]) Das Dekohärenzprozess ist eine nicht-unitäre Zeitentwicklung des QM Systems (Quantencomputers). Der Grund für die nicht-Unitarität ist, dass das System nicht isoliert ist, sondern mit der Umgebung wechselwirkt. Der (isolierte) Gesamtzustand von System+Umgebung entwickelt sich dagegen unitär. Am Anfang seien System und Umgebung voneinander isoliert und nicht miteinander verschränkt. Der Gesamtzustand sei also von einem Produktzustand zwischen System und Umgebung (“environment”) beschrieben: |Ψ0 i = Φ(S) ⊗ |ei . 100 (96) Solange System und Umgebung nicht wechselwirken, entwickeln sich Φ(S) und |ei getrennt unitär. Die Wechselwirkung führt dagegen eine Verschränkung zwischen System und Umgebung ein, und der Zustand bekommt die allgemeine Form |Ψi = X n |Sn i ⊗ |en i . (97) Wir können die |Sn i orthonormal wählen. Dagegen müssen die |en i nicht unbedingt orthonormal sein. Normalerweise kennt man den Zustand der Umgebung nicht, und man möchte ein Formalismus haben, der nur das System beschreibt. Das ist das Dichte-Matrix Formalismus. Betrachten wir zunächst den Erwartungswert eines Observables Â, der nur auf das System wirkt, Ψ sei normiert: D E X X  = hΨ|  |Ψi = hen |em i Anm = ρmn Anm = T r(ρ̂Â) n,m (98) nm mit Anm ≡ hSn |  |Sm i und ρmn ≡ hen |em i (99) ist die Dichtematrix. Die Eigenschaften der Dichtematrix sind: 1. hermitesch: ρ̂ = ρ̂† . Es gibt also einen orthonormalen Satz von Eigenvektoren |ρn i mit reellen Eigenwerten ρn . 2. Da die Form Eq. (99) in einer beliebigen Basis gilt, sind alle diagonalelemente der Dichtematrix ≥ 0, also alle Eigenwerte ρn ≥ 0 . (100) Man kann leicht sehen, dass jedes Eigenwert ρn die Wahrscheinlichkeit für den entsprechenden Eigenzustand |ρn i beschreibt: D E X  = T r ρ̂ = ρn hρn |  |ρn i (101) n Die Tatsache, dass in dieser Summe nur Diagonalterme vorkommen zeigt, dass man hier eine Wahrscheinlichkeit hat und keine Amplitude. Ansonsten hätte man gemischte Terme der Form hρn |  |ρm i (Interferenz!). 101 3. Diese Wahrscheinlichkeit ist normiert: X n ρn = T r ρ̂ = hΨ| ρ̂ |Ψi = 1 (102) Ein Zustand, der nicht mit der Umgebung verschränkt ist, Eq. (96), nennt man reiner Zustand. Wie kann die Dichtematrix verraten, wann man mit einem reinen Zustand zu tun hat? Entwickeln wir in Eq. (96) das Systemzustand in einer orthonormalen Basis: (S) X Φ = Φn |Sn i (103) n also |Ψ0 i = Dann ist aus Eq. (99) X n |Sn i ⊗ Φn |ei . | {z } (104) |en i ρmn = Φ∗n Φm (105) (den environment-Zustand |ei nehmen wir normiert). Man kann leicht sehen, dass der Zustand (S) Φ ein Eigenzustand von ρ̂ mit Eigenwert 1 ist: X X X X ρmn |Sm i hSn | Φl |Sl i = ρ̂ Φ(S) = Φ∗n Φm |Sm i Φn = Φm |Sm i = Φ(S) nm | {z ρ̂ }| l {z } |Φ(S) i mn (106) m Die Wahrscheinlichkeitsinterpretation sagt also, dass Φ(S) mit Wahrscheinlichkeit 1 auftritt. Wegen Eq. (102) und Eq. (100), sind alle andere Eigenwerte (Wahrscheinlichkeiten) gleich 0. Wir haben also ρ̂2 = ρ̂ und T r(ρ̂2 ) = 1 . (107) Für einen nicht-reinen Zustand ist dagegen7 T rρ2 < 1. Eq. (107) ist also eine notwendige und ausreichende Bedingung für einen reinen Zustand (gilt übrigens für eine beliebige Potenz von ρ̂). 7 Das kann man sehen, weil in der Eigenbasis von ρ̂ gilt T rρ2 = P n ρ2n , was zusammen mit Eq. (102) und Eq. (100) kleiner als 1 ist, es sei denn ein ρn0 = 1 und alle andere 0, also ein reiner Zustand. 102 8.4 Beispiel: Dichtematrix und Messung Wir betrachten erneut den Zustand für Spin+Messgerät Eq. (92): . |mi |Ψ0 i = (a |0i + b |1i) ⊗ {z } |{z} | environment System In diesem reinen Zustand ist die Dichtematrix (in der Qubit basis) 2 ∗ |a| a b ρ̂ = ∗ 2 b a |b| (108) (109) nach der Wechselwirkung mit der Umgebung (“Messung”) erhalten wir ( Eq. (93)) |Ψ1 i = a |0i ⊗ |m0 i + b |1i ⊗ |m1 i und ρ̂ wird ρ̂ = |a| 2 ∗ a bhm0 |m1 i ∗ b ahm1 |m0 i |b| 2 (wir nehmen |mi i normiert aber nicht orthonormal). (110) (111) Den reinen Zustand (maximale Kohärenz) hat man wenn |m0 i = |m1 i. Die maximale Dekohärenz hat man dagegen wenn hm0 |m1 i = 0; in diesem Fall verschwinden die off-diagonal Matrixelemente. Daher identifiziert man oft (z.B. in der Optik) die off-diagonal Matrixelemente der Dichtematrix mit der “Kohärenz” des Systems. Bei maximaler Dekohärenz ist ρ̂ diagonal und D E  = |a|2 A00 + |b|2 A11 , (112) also die zwei Koeffizienten a und b tragen unabhängig bei: es gibt keine Interferenz! 8.5 Dekohärenz versus Systemgröße oder: warum existiert die Schrödinger Katze nicht Wir haben oben besprochen, dass die Kohärenz exponentiell zerfällt: hm0 |m1 i ∝ e−t/τdek . (113) Betrachten wir jetzt ein Register mit n Spins, sowie den environment: |x0 x1 · · · xn−1 i ⊗ |Ei . 103 (114) Man kann z.B. annehmen, dass nach der Wechselwirkung mit der Umgebung, jeder Spin sich unabhängig mit dem environment verschränkt. Der Zustand Eq. (114) geht über in: ⇒ |x0 x1 · · · xn−1 i ⊗ |mx0 i |mx1 i · · · mxn−1 . {z } | | {z } |xi (115) Mx Eine kohärente Überlagerung von zwei Register-Zustände (|xi ≡ |x0 x1 · · · xn−1 i |yi ≡ |y0 y1 · · · yn−1i) (a |xi + b |yi) ⊗ |Mi (116) geht nach dem Dekohärenzprozess über in: ⇒ a |xi ⊗ |Mx i + b |yi ⊗ |My i . (117) Wie Kohärent diese Überlagerung danach ist, wird von den Ausserdiagonalelementen von ρ̂ zwischen |xi und |yi beschrieben: hx| ρ̂ |yi = ab∗ hMy |Mx i = ab∗ hmy0 |mx0 i hmy1 |mx1 i · · · hmyn−1 mxn−1 = = ab∗ hm0 |m1 iH(x,y) , (118) wo H(x, y) die sogenannte “Hamming distance” , i. e. die Anzahl der bits bei denen sich x und y unterscheiden, ist. Beispiel: x= 1 0 1 1 0 1 y= 1 1 1 0 0 1 ↑ H(x, y) = 2 . (119) ↑ Aus Eq. (113) und Eq. (8.5) sieht man, dass als Funktion der Zeit die Kohärenz wie hMy |Mx i ∝ e−t/τ (x,y) mit τ (x, y) ≡ τdek H(x, y) (120) zerfällt. Da H(x, y) mit der Größe des Systems anwächst (genauer gesagt mit der Differenz zwischen den beiden zu intereferierenden Zuständen), fällt die Dekohärenzzeit mit der Systemgröße ab. Für die beiden Zuständen |xi = |Schrödinger Katze toti und |yi = |Schrödinger Katze lebendigi ist natürlich H(x, y) sehr gross, und daher die Dekohärenzzeit verschwindend klein. Das gleiche Problem hat man bei einem Quantencomputer! Wie kann man das Problem Lösen? 104 8.6 Rekohärenz Die Prozedur ist die gleiche wie beim Phasenfehler. Wir codieren also das System wie in Eq. (78) (zur Vereinfachung vernachlässigen wir hier die redundanz Eq. (71)) Rekohärenz Redundante Kodierung, wie beim Phasenfehler: |0i ⇒ |+i |+i |+i ≡ 0 |1i ⇒ |−i |−i |−i ≡ 1 (121) (siehe Eq. (83)). Wir starten vom Kohärenten Zustand a0 + b1 . (122) Wir nehmen an, dass ein Dekohärenzprozess wie in Eq. (110) im zweiten Qubit stattfindet. Der Zustand wird dann: Ψ1 = a |+i (|0i |m0 i + |1i |m1 i) |+i + b |−i (|0i |m0 i − |1i |m1 i) |−i . (123) Mit der Invertierung von Eq. (83) bekommen wir (ohne die Normierung zu berücksichtigen): h i Ψ1 = a |+i |+i (|m0 i + |m1 i) + |−i (|m0 i − |m1 i) |+i + h i b |−i |−i (|m0 i + |m1 i) + |+i (|m0 i − |m1 i) |−i = h i = a |+i |+i |+i + b |−i |−i |−i ⊗ (|m0 i + |m1 i) + h i a |+i |−i |+i + b |−i |+i |−i ⊗ (|m0 i − |m1 i) (124) (125) (126) ? Wie im Phasenkorrekturalgorithmus (Sec. 8.1.1) können wir die “Messung” (P hase1 = P hase2 ) durchführen. Das Ergebnis der Messung ist “JA” mit Wahrscheinlichkeit ∝ | |m0 i + |m1 i |2 oder “NEIN” mit Wahrscheinlichkeit ∝ | |m0 i − |m1 i |2 . Das interessante ist, dass in beiden Fällen die Verschränkung mit der Umgebung aufgehoben wird! Z.B. im Fall “NEIN” zerfällt Ψ1 in (a |+i |−i |+i + b |−i |+i |−i) ⊗ (|m0 i − |m1 i) , 105 (127) also in einem reinen Zustand! Gleichzeitig gibt uns die Antwort “NEIN” (sowie die Antwort ? auf die Frage (P hase2 = P hase4 )) darüber Hinweis, wo der Fehler korregieren werden muss. Dieser Rekohärenprozess wird automatisch durch den Netzwerk in Fig. 5 durchgeführt. a |0i + b |1i 1 0 0 1 H a |+ + +i + b |− − −i hier findet der evtl. |0i H |0i H 1 00 11 H 0 H 11 00 00 11 H 1 0 Phasen-Fehler statt Abbildung 5: 106 a |0i + b |1i |x1 i |x2 i 9 One-way Quantum Computer First proposed by Raussendorf and Briegel [6]. First realisation (4-qubit cluster“ state) by ” the Zeilinger group [7] (photon polarisation). 9.1 Vergleich: Standard/One-Way Quantum Computer ’Standard’ Quantum Computer One-Way Quantum Computer Präpariert in einem nicht verschränkten Grundzustand Unabhängig von der Art der Berechnung ist der Anfangszustand (’Cluster’) stets ’maximal verschränkt’. Abhängig vom Problem, das berechnet werden muss, 1 und 2 Qubit Gatter werden durch müssen verschiedene 1- und insbesondere Messungen ersetzt 2-Qubit-Gates angewandt werden. Am Ende werden Messungen gemacht. 9.2 Beispiel: linearer Cluster Startzustand (Hochverschränkt): C(1, 2)C(2, 3)C(3, 4)C(4, 5) |Ψ1 i ⊗ |+i ⊗ |+i ⊗ |+i ⊗ |+i |{z} |{z} |{z} |{z} |{z} (128) C(i, j) ≡ Controlled π-Phase zwischen Qubits i, j (129) 1 wo 2 3 4 5 die Qubits i und j untereinander verschränkt. Wir benutzen die Abkürzung S(i − j) ≡ C(i, i + 1)C(i + 1, i + 2) · · · C(j − 1, j) Der Startzustand Eq. (128) ist also |φ0 i = S(1 − 5) |Ψ1 i |{z} ⊗ |+i ⊗ |+i ⊗ |+i ⊗ |+i Anfangszustand Der gewünschte Anfangzustand |Ψ1 i (target) wird also im ersten Qubit geschrieben. 107 Am Ende der Rechnung, die aus einer Folge von Messungen besteht, erhält man den Unverschränkten Zustand in der Form E E E E f f f f Ψ1 ⊗ Ψ 2 ⊗ Ψ3 ⊗ Ψ4 ⊗ R̂ |Ψ1 i (130) wo R̂ die gewünschte unitäre Transformation ist. Die allgemeinste unitäre Transformation ist eine Drehung im Spinraum: R̂ ≡ Rx (γ)Rz (η)Rx (ξ) (131) mit den Euler-Winkeln γ, η, ξ. 9.2.1 Einzelne Schritte Es wird eine Folge von Messungen auf den Qubits j = 1, 2, 3, 4 durchgeführt. Die Messung erfolgen in unterschiedlichen Basen B(αj ), wo der Winkel αj vom Ergebnis der vorherigen Messung und von den Euler-Winkeln abhängig ist. Die Basis B(α) besteht aus den zwei (orthogonalen) Vektoren (wir lassen die Normierung weg) |0, αi ≡ |0i + eiα |1i |1, αi ≡ |0i − eiα |1i (132) Als Beispiel starten wir mit dem Startzustand Eq. (140) und führen die Messung in der Basis B(α1 ) auf dem ersten Qubit durch. Nach der Messung erhalten wir (wird unten bewiesen): |m1 , α1 i ⊗ S(2 − 5) ⊗ Ô(1) |Ψ1 i ⊗ |+i ⊗ |+i ⊗ |+i | {z } (133) ≡|Ψ2 i diese Messung hat also zwei Dinge bewirkt • sie hat dir Verschränkung zwischen den benachbarten Qubits 1 und 2 aufgehoben • sie hat den Zustand |Ψ1 i nach rechts“ auf dem Platz 2 ( feedforward“) verschoben, und ” ” hat darauf eine bestimmte, von α1 und dem Ergebnis m1 der Messung abängige, unitäre Transformation Ô(1) angewandt. 108 Beim nächsten Schritt wird eine Messung in einer bestimmten Basis B(α2 ) auf dem zweiten Qubit durchgeführt, mit ähnlichen Ergebnissen, und so weiter bis zum vierten Qubit. Beweis: Zeigen wir jetzt, dass die Messung das Ergebnis Eq. (133) bewirkt. Zunächst betrachten wir die Inverse der Transformation Eq. (132). Diese brauchen wir, um Zustände in der Basis B(α) zu entwickeln: |0i = |0, αi + |1, αi |1i = (|0, αi − |1, αi) e−iα (134) Schreiben wir jetzt |Ψ1 i als |Ψ1 i = a |0i + b |1i (135) und betrachten den Effekt der Verschränkung zwischen den Qubits 1 und 2 im Zustand Eq. (140) C(1, 2) |Ψ1 i ⊗ |+i = a |0i ⊗ |+i + b |1i ⊗ |−i (136) Um die Messung durchzuführen, müssen wir diesen Zustand in der B(α1 ) Basis mit Hilfe von Eq. (134) entwickeln: = a (|0, α1 i + |1, α1 i) ⊗ |+i + e−iα1 b (|0, α1 i − |1, α1 i) ⊗ |−i = |0, α1 i ⊗ a |+i + e−iα1 b |−i + |1, α1 i ⊗ a |+i − e−iα1 b |−i = |0, α1i ⊗ e−iα1 /2 HRz (α1 ) (a |0i + b |1i) {z } | |Ψ1 i + |1, α1 i ⊗ e−iα1 /2 HRz (α1 ) (a |0i − b |1i) . {z } | (137) σz |Ψ1 i Im letzten Schritt haben wir folgende Eigenschaft benutzt: e−iα1 /2 HRz (α1 ) |0i = |+i e−iα1 /2 HRz (α1 ) |1i = e−iα1 |−i . (138) Wir können den globalen Faktor e−iα1 /2 wegdividieren und erhalten aus Eq. (137) = |0, α1 i ⊗ HRz (α1 ) |Ψ1 i + |1, α1 i ⊗ HRz (α1 )σz |Ψ1 i 109 (139) Die Messung in der Basis B(α1 ) im Zustand Eq. (139) projziert auf einen der beiden Termen. Nach der Messung erhält der Zustand Eq. (139) die Form |m1 , α1 i ⊗ Ô(1) |Ψ1 i | {z } (140) |Ψ2 i wo m1 das Ergebnis der Messung ist und Ô(1) = HRz (α1 )σzm1 (141) Es stimmt also mit Eq. (133) überein. Die nachfolgende Messungen auf den Qubits 2, 3, 4 produzieren ein ähnliches Ergebnis, so dass der Zustand Ô(1) |Ψ1 i sich nach rechts“ verschiebt und in die Form Ô(2)Ô(1) |Ψ1 i ” transformiert wird, usw. Die Winkel αi sollen geeignet gewählt werden, so dass am Ende die Transformation Eq. (130) realisiert wird. Bei den obigen Ergebnissen haben wir folgende zwei Eigenschaften benutzt: • Die Messung auf einem Qubit i vertauscht mit der Verschränkung C(l, m) wenn l, m 6= i. • Zwei Verschränkungen C(l, m) und C(l′ , m′ ) vertauschen untereinander. 110 10 Literatur Literatur [1] Ausfürliches Vorlesungsskript über Quantum Computation von John Preskill am CALTEC http://www.theory.caltech.edu/people/preskill/ph229/. [2] Peter W. Shor: ,,Introduction to quantum algorithms“ http://xxx.uni-augsburg.de/abs/quant-ph/0005003. [3] A. Barenco, Contemp. Phys. 37, 375 (1996). [4] John Preskill: ,,Battling Decoherence: The Fault-Tolerant Quantum Computer“, Physics Today, June 1999, p. 24. [5] Quantum Computing 4 (Lectures on Quantum Computation) cam.qubit.org/articles/intros/houches.ps - Ausfürliches Skript [6] R. Raussendorf and H. J. Briegel, Phys. Rev. Lett. 86, 5188 (2001). [7] P. Walther, K. J. Resch, T. Rudolph, E. Schenck, H. Weinfurter, V. Vedral, M. Aspelmeyer, and A. Zeilinger, Nature 434, 169 (2005). [8] Der beste Anfangspunkt und eine allgemeine Quelle mit Einführungen, Links, usw. cam.qubit.org; Wikipedia www.quantiki.org. [9] Quantum Computing (A short Introduction to quantum computation) cam.qubit.org/articles/intros/comp.php - Kurze, einfache Einleitung. [10] A. Steane, Rep. Prog. Phys. 61, 117 (1998). [11] Williams and Clarewater: ,,Explorations in Quantum Computing“, Springer 1997. [12] G. P. Berman et al.: ,,Introduction to Quantum Computers“, World Scientific 1998. [13] N. Gershenfeld and I. L. Chuang, Scientific American June (1998). [14] David P. DiVincenzo: ,,Quantum Computation“, Science 270, 255 (1995). [15] Mermin: ,,The Contemplation of Quantum Computation“, Physics Today, July 2000. [16] A. M. Steane and W. van Dam, Phys. Today 35 (2000). [17] Briegel, Cirac and Zoller: ,,Quantencomputer“, Physikalische Blätter 55, p. 37 (1999). [18] Physics lab http://www.colorado.edu/physics/2000/index.pl?Type=TOC. [19] Other realisations: http://en.wikipedia.org/wiki/Trapped ion quantum computer. [20] M. Nakahara and T. Ohmi, Quantum Computing: From Linear Algebra to Physical Realizations (CRC Press, Taylor and Francis, New York, 2008). 112