SPEZIALVORLESUNG QUANTENRECHNER: ALGORITHMEN UND KOMPLEXITÄT Sommersemester 2003 Martin Sauerhoff Universität Dortmund Lehrstuhl Informatik 2 D-44221 Dortmund Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Autors unzulässig und strafbar. Das gilt besonders für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. c Martin Sauerhoff, 2003. Kapitel 1, 3–5 und 6 dieses Skriptes basieren teilweise auf dem Buch Quantum Computa” tion and Quantum Information“ von M. A. Nielsen und I. L. Chuang. Für Kapitel 2 wurden verschiedene Physik-Lehrbücher über Quantenmechanik verwendet (insbesondere Quantum ” Mechanics – A Modern Introduction“ von L. E. Ballentine). Außerdem bedanke ich mich bei Detlef Sieling dafür, mir seine Notizen zu dem von ihm gehaltenen Teil unserer gemeinsamen Vorlesung im Sommersemester 2001 zur Verfügung zu stellen. Martin Sauerhoff, 22. 4. 2003 Dank an Daniel Krämer, Holger Prothmann und an die Studenten der Vorlesung im Sommersemester 2003 für aufgespürte Fehler im Skript und spannende Diskussionen zum Stoff der Vorlesung. Martin Sauerhoff, 5. 8. 2003 ii Inhaltsverzeichnis 1. Einleitung 1 1.1. Geschichte und Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2. Qubits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3. Quantenbausteine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.4. Quantenschaltkreise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.5. Simulation von klassischen Schaltkreisen durch Quantenschaltkreise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 1.6. Quantenalgorithmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2. Dekohärenz und Messungen 43 2.1. Quantenmechanik-Crashkurs . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 2.2. Offene Systeme und Dekohärenz . . . . . . . . . . . . . . . . . . . . . . . . . 52 2.3. Messungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3. Universelle Bausteinsätze für Quantenschaltkreise 61 3.1. Ein-Qubit-Bausteine im Detail . . . . . . . . . . . . . . . . . . . . . . . . . . 61 3.2. Gesteuerte Bausteine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.3. Exakte Realisierung von n-Qubit-Operationen . . . . . . . . . . . . . . . . . . 67 3.4. Approximative Realisierung von n-Qubit-Operationen . . . . . . . . . . . . . 68 4. Die Quanten-Fourier-Transformation und ihre Anwendungen 71 4.1. Die Quanten-Fourier-Transformation . . . . . . . . . . . . . . . . . . . . . . . 71 4.2. Phasenbestimmung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.3. Das Ordnungsproblem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 4.4. Faktorisierung ganzer Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 5. Quantensuchalgorithmen 99 5.1. Problem und Quantenschaltkreis . . . . . . . . . . . . . . . . . . . . . . . . . 99 5.2. Geometrische Interpretation und Analyse . . . . . . . . . . . . . . . . . . . . 102 5.3. Zählen der Lösungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 iii 5.4. Untere Schranken für Blackbox-Algorithmen . . . . . . . . . . . . . . . . . . 110 6. Experimentelle Quantenrechner 121 6.1. Optische Quantenrechner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 6.2. NMR-Quantenrechner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Anhänge A Grundlagen aus der linearen Algebra – Teil I 151 B Grundlagen aus der linearen Algebra – Teil II 155 C Einige weitere Details zu Kapitel 2 163 D Drehungen auf der Blochsphäre 169 E Zahlentheoretische Algorithmen 173 Literatur [1] L. E. Ballentine, Quantum Mechanics – A Modern Development, World Scientific Publishing, 1998. [2] J. Gruska, Quantum Computing, McGraw-Hill, 1999. [3] M. Hirvensalo, Quantum Computing, Springer-Verlag, 2001. [4] A. Yu. Kitaev, A. Shen und M. N. Vyalyi, Classical and Quantum Computation, American Mathematical Society, 2002. [5] M. A. Nielsen und I. L. Chuang, Quantum Computation and Quantum Information, Cambridge University Press, 2000. [6] A. Peres, Quantum Theory: Concepts and Methods, Kluwer Academic Publishers, 1995. [7] J. Preskill, Quantum Information and Computation, Vorlesungsskript, http://www.theory.caltech.edu/˜preskill/ph229/#lecture. iv 1. Einleitung In der wahren Philosophie werden alle Ursachen von Naturphänomenen ” durch mechanische Begriffe ausgedrückt.“ – C. Huygens (1690). 1.1. Geschichte und Motivation Wir verfolgen in diesem Abschnitt die historische Entwicklung, die zu den heutigen Modellen für Quantenrechner geführt hat. Entwicklung in der Physik Am Anfang des 20. Jahrhunderts steckte die Physik in einer schwerwiegenden Krise, da festgestellt wurde, dass sich zahlreiche, in neuen Experimenten beobachtete Phänomene nicht zufrieden stellend durch die damals bekannten Gesetze der Physik erklären ließen, die wir heute als klassische Physik“ bezeichnen (Mechanik, statistische Mechanik und Elektrodynamik). Auf ” dem Weg zur Lösung dieser Probleme nahm die Physik in den folgenden 30 Jahren eine stürmische Entwicklung, in deren Verlauf die Relativitätstheorie und die Quantenmechanik entwickelt wurden. Wir erwähnen hier nur einige wesentliche Schritte auf dem Weg zur Entstehung der Quantenmechanik: 1900: Plancksches Wirkungsquantum. Bei einem Ende des 19. Jahrhunderts berühmten, offenen Problem ging es darum, das Strahlungsspektrum (die Farbe) eines Festkörpers bei gegebener Temperatur theoretisch richtig vorherzusagen. Die klassische Physik liefert die (absurde) Vorhersage, dass bei zunehmender Frequenz die Strahlungsintensität unbegrenzt anwächst ( Ultra” violettkatastrophe“). Planck fand im Jahr 1900 eine Ad-Hoc-Lösung für das Problem in Form einer passenden Gleichung, in der die abgegebene Strahlungsenergie seltsamerweise immer nur in Vielfachen einer grundlegenden Konstante vorkommt, die später den Namen plancksches Wirkungsquantum bekam. 1905: Erklärung des photoelektrischen Effekts durch Einstein. Einstein erkannte als erster, dass die Quantisierung der Energie in Plancks Formel nicht nur ein bloßer Rechentrick ist, sondern ein wirklich in der Natur vorkommendes Phänomen. Er lieferte eine theoretische Erklärung des so genannten photoelektrischen Effektes, die ausnutzte, dass Licht Energie nur in ganz bestimmten, diskreten Mengen abgeben kann, um Elektronen aus der Oberfläche eines Materials herauszulösen. 1913: Bohrsches Atommodell. Bei einem einfachen, mechanistischen Atommodell, nach dem z. B. ein Wasserstoffatom aus einem Proton besteht, um das ein Elektron kreist, sagen die maxwellschen Gesetze voraus, dass das Elektron unter Abstrahlung von Energie mit kontinuierlich variierender Frequenz in den Kern fällt. Offensichtlich sind Atome aber stabil. Bohr erklärte dies mit Hilfe der Annahme, dass auch Atome Energie nur in diskreten Mengen aufnehmen und abgeben können. 1 ∼ 1925: Klassische Quantenmechanik. Die theoretischen Ergebnisse, die in den ersten zwei Jahrzehnten des 20. Jahrhunderts veröffentlicht worden waren, hatten den Nachteil, dass sie zwar einzelne Phänomene gut erklären konnten, aber bei komplizierteren Problemen wieder versagten, weil eine grundlegende Theorie fehlte. Der entscheidende Durchbruch gelang mit der eigentlichen Begründung der Quantenmechanik in der Mitte der 20er Jahre durch Arbeiten von Born, Dirac, Heisenberg, Jordan und Schrödinger. Seit ihrer Entwicklung sind die Vorhersagen der Quantenmechanik in zahlreichen Experimenten auf eindrucksvolle Weise bestätigt worden, und sie ist heute eine grundlegende Theorie zur Beschreibung der Welt. Seit den Anfängen ist diese Theorie inzwischen weiterentwickelt worden, und viele der auftauchenden mathematischen Probleme versteht man heute viel besser als zu Zeiten von Heisenberg und Schrödinger. Daneben hat auch die Experimentalphysik unglaubliche Fortschritte gemacht. Viele der einstigen Gedankenexperimente“ kann man heute ” im Labor wirklich durchführen. Man ist inzwischen in der Lage, z. B. Atome einzeln zu isolieren und zu manipulieren. Daraus hat sich fast zwangsläufig auch die Idee ergeben, diese neuen Möglichkeiten zur Informationsverarbeitung einzusetzen. Entwicklung in der Informatik Die Entwicklung der theoretischen Rechnermodelle in der Informatik und die der realen Rechner sind eng miteinander verknüpft. Die meisten formalen Modelle spiegeln auf abstrakte Weise Einschränkungen und Möglichkeiten wieder, die sich bei der tatsächlichen hardwaremäßigen Realisierung ergeben. Umgekehrt haben bereits seit den Anfängen der Informatik theoretische Modelle auch die Entwicklung in der Praxis vorbereitet. Unser Rechnermodell schlechthin ist die Turing-Maschine. Es ist eine gute Idee, die Motivation und historische Entwicklung dieses Modells hier genauer unter die Lupe zu nehmen. 1936: Turing entwarf die Turing-Maschine als Modell eines rein mechanisch arbeitenden Rechengerätes, das die Vorgehensweise eines mit Papier und Bleistift ausgerüsteten Mathematikers beim Berechnen einer Dezimalzahl beschreiben sollte. (Man beachte, dass es zu dieser Zeit ja noch keine realen Rechner gab, die als Motivation des Modells hätten dienen können!). In der Folge wurden viele ähnliche Modelle untersucht, die sich alle als äquivalent herausstellten. Dies führte zur Church-Turing-These, nach der die im intuitiven Sinne berechenbaren Funktionen genau die von einer Turing-Maschine berechenbaren sind. ∼ 1970: Im Zusammenhang mit der um diese Zeit entwickelten Theorie der NP-Vollständigkeit wurde eine erweiterte Church-Turing-These aufgestellt, die besagt, dass die Menge der im intuitiven Sinne effizient berechenbaren Funktionen mit der Menge der von Turing-Maschinen in polynomieller Zeit berechenbaren Funktionen übereinstimmt. 70er Jahre: In dieser Zeit wurde das Modell der probabilistischen Turing-Maschine eingeführt. Eine probabilistische Turing-Maschine hat zusätzlich zu ihrer normalen Eingabe Zugriff auf eine Folge von Zufallsbits. Es ist klar, dass man einen gewöhnlichen Rechner mit einer Quelle für solche Zufallsbits ausstatten kann. 2 Ende der 70er Jahre tauchen mit den randomisierten Primzahltests von Miller-Rabin und Solovay-Strassen neuartige, praktisch interessante randomisierte Algorithmen auf. Heute sind etliche Probleme bekannt, für die der effizienteste bekannte Algorithmus ein randomisierter ist. Diese Entwicklung führte zur folgenden, modernen Version der erweiterten Church-TuringThese: Als im intuitiven Sinne effizient berechenbar werden nun alle Funktionen angesehen, die von einer probabilistischen Turing-Maschine mit beschränktem Fehler in Polynomialzeit berechenbar sind. Bis heute ist für kein Problem bewiesen, dass es von einem randomisierten Polynomialzeitalgorithmus lösbar ist, aber nicht von einem deterministischen Polynomialzeitalgorithmus. Es ist also nicht klar, ob sich die moderne Variante“ der erweiterten Church-Turing-These von der ” 70er-Jahre-Variante“ tatsächlich unterscheidet. Die Einführung der randomisierten Hardware ” wirft aber die Frage auf, mit welcher weiteren Zusatzausrüstung“ wir uns sinnvollerweise noch ” beschäftigen sollten, die das Modell der Turing-Maschine mächtiger machen könnte. Deterministische und probabilistische Turing-Maschinen lassen sich prinzipiell durch einfache Rechenmaschinen realisieren, die nach den Gesetzen der klassischen Physik arbeiten. Das ist einigermaßen erstaunlich, da damit offensichtlich – siehe vorheriger Abschnitt – nicht alle Möglichkeiten der Physik ausgeschöpft werden. Die Idee, die von der Quantenmechanik gebotenen Möglichkeiten in vollem Umfang für Berechnungen einzusetzen, ist tatsächlich erst seit dem Anfang der 80er Jahre intensiv untersucht worden. 1982: Der Physiker Feynman wies darauf hin, dass klassische Rechner vermutlich inhärente Schwierigkeiten haben, effizient beliebige physikalische Systeme zu simulieren, so wie sie durch die Quantenmechanik beschrieben werden. 1985: Deutsch entwickelte ein formales Modell für einen Rechner, der in der Lage sein soll, beliebige physikalische Systeme effizient zu simulieren. Sein Modell ist das quantenmechanische Analogon zur klassischen Turing-Maschine, die Quanten-Turing-Maschine (QTM). Deutschs Modell bildet immer noch die Grundlage dessen, was wir heute unter einem Quantenrechner verstehen. Da das Modell formal etwas unhandlich ist, werden wir hier in der Vorlesung allerdings Quantenschaltkreise verwenden. (Man kann beweisen, dass geeignete Varianten von Quantenschaltkreisen effizient durch Quanten-Turing-Maschinen simuliert werden können und umgekehrt.) Die Entwicklung der Quanten-Turing-Maschine brachte eine wahre Forschungslawine ins Rollen. Es ergeben sich sofort zahlreiche Fragen, die wir im Folgenden diskutieren. War Deutsch mit seinem Plan, beliebige physikalische Systeme effizient simulieren zu wollen, erfolgreich? Über Antworten auf diese Frage weiß man bisher nicht viel. Schwierigkeiten bereitet dabei, dass es in der Physik (noch!?) keine endgültige Theorie gibt, die zufrieden stellend alle physikalischen Systeme auf einheitliche Weise beschreibt. Es kann also durchaus sein, dass in der Zukunft weitere Varianten von Turing-Maschinen entwickelt werden. Kann man solche Quanten-Turing-Maschinen wirklich bauen? Dieser Frage wird intensiv seit den 90er Jahren von zahlreichen Teams aus Experimentalphysikern und Informatikern nachgegangen. Die auftretenden technischen Schwierigkeiten sind enorm und von prinzipieller Natur. 3 Die bisherigen Erfolge für Spielzeugbeispiele sind ermutigend, aber der Weg bis zu einer praktischen Einsetzbarkeit scheint noch lang zu sein. Können Quanten-Turing-Maschinen Probleme effizient lösen, für die es keine klassischen effizienten Algorithmen gibt? Dies ist für uns die interessanteste Frage. Zwei bahnbrechende Algorithmen, die in den 90er Jahren vorgestellt wurden, nähren die Vermutung, dass die Antwort auf diese Frage tatsächlich ja“ lauten könnte. Darauf geht das große Interesse, das die Quan” tenrechner in den letzten Jahren erfahren, zurück. 1994: Shor entwarf einen Algorithmus für QTMs, der in polynomieller Zeit ganze Zahlen faktorisieren kann. Von diesem Problem wird vermutet, dass es von klassischen Rechnern nicht in Polynomialzeit gelöst werden kann (allerdings kann man das bis heute nicht beweisen). 1995: Grover stellte einen Algorithmus für die Suche in einer Datenbank mit ungeordneten Einträgen vor, der eine quadratische Beschleunigung im Vergleich zu den bekannten klassischen Algorithmen liefert. Shors Algorithmus hat wichtige Auswirkungen insbesondere für die Kryptographie, da die Sicherheit moderner Kryptographie-Verfahren wie RSA auf der Annahme beruht, dass das Faktorisierungsproblem nicht effizient lösbar ist. Es hat sich später herausgestellt, dass sowohl Shors als auch Grovers Ansatz jeweils auf große Klassen ähnlicher Probleme übertragbar sind. Bis jetzt sind allerdings für allgemeine Quantenrechner-Modelle (wie QTMs oder Quantenschaltkreise) keine weiteren, ähnlich bahnbrechenden neuen Algorithmen entdeckt worden. Um dies zu bewerten, muss man Folgendes bedenken. Zum einen ist der Kreis der geeigneten Probleme klein, da ja der Quantenalgorithmus besser sein soll (zumindest potenziell) als alle klassischen deterministischen und auch randomisierten Algorithmen. Zum anderen ist es schwer Algorithmen für Quantenrechner zu entwerfen, da die Modelle nicht unserer gewohnten Intuition entsprechen und völlig neue (physikalische) Algorithmen-Entwurfstechniken erfordern. Übungsaufgabe: Wiederhole und übe die wichtigsten Begriffe zu den Themen komplexe Zah” len“ und komplexe Vektorräume“. Die für das Verständnis der Einleitung benötigten Fakten ” sind in Anhang A zusammengefasst. 1.2. Qubits Definition und Messungen In klassischen Rechnern wird Information in Form von Bits gespeichert. Hier führen wir das quantenmechanische Analogon dazu ein, das Qubit. Qubits sind als Konzept für Quantenrechner genauso wichtig wie Bits für klassische Rechner. 4 Wir definieren Qubits als mathematische Objekte und behandeln sie die meiste Zeit auch auf diese Weise. Qubits können aber physikalisch tatsächlich realisiert werden, worauf wir an geeigneter Stelle eingehen werden. Letzteres erklärt ihre Bedeutung und auch ihre spezifischen Einschränkungen. Ein klassisches Bit kann zwei verschiedene Zustände annehmen: 0 und 1. Ein Qubit besitzt ebenfalls einen Zustand. Es gibt zwei spezielle Zustände, die denen des klassischen Bits entsprechen. Diese werden traditionell mit |0i und |1i bezeichnet. Im Allgemeinen kann ein Qubit nun aber auch Zustände annehmen, die eine Linearkombination, auch Superposition oder Überlagerung genannt, der Zustände |0i und |1i sind. Solch ein allgemeiner Zustand ist |ψi = α|0i + β|1i, wobei α und β komplexe Zahlen sind, die aus historischen Gründen Amplituden genannt werden, und |ψi“ ein Symbol für den Zustand. Die Amplituden α und β müssen noch eine zusätz” liche Einschränkung erfüllen, nämlich |α|2 + |β|2 = 1. Diese merkwürdige Formel für |ψi macht erst Sinn, wenn wir die Symbole |0i und |1i mit den Vektoren der Standardbasis im Vektorraum 2 identifizieren: 0 1 . und |1i = |0i = 1 0 Die speziellen Zustände |0i und |1i werden deshalb Basiszustände genannt. Wir haben damit α 0 1 ∈ 2. = +β |ψi = α|0i + β|1i = α β 1 0 Zustände von Qubits sind also nichts Anderes als zweidimensionale, komplexwertige Vektoren mit der Zusatzeinschränkung, dass sich die Betragsquadrate der Einträge zu eins summieren. Damit sind Zustände von Qubits vollständig beschrieben. Bei Physikern ist es aus traditionellen Gründen üblich, für Zustände von Qubits Symbole der Form | · i“ zu verwenden. Diese so genannte Dirac-Schreibweise wird sich auch für uns manch” mal als vorteilhaft erweisen, und außerdem wird sie häufig in der Literatur über Quantenrechner verwendet (u. a. im Buch von Nielsen und Chuang). Daher schließen wir uns hier dieser Notation an. Auf den ersten Blick scheint ein Qubit geradezu phänomenale Fähigkeiten der Informationsspeicherung zu haben. Trotz der Einschränkung |α|2 + |β|2 = 1 kann es ja offenbar überabzählbar viele verschiedene Zustände annehmen! Aufgrund der Gesetze der Quantenmechanik können wir aber leider die Amplituden α und β des Qubits nicht auf einfache Weise auslesen. Die Operation, die dem klassischen Auslesen des Zustandes entspricht, ist eine Messung des Qubits. Nehmen wir an, wir haben ein Qubit im Zustand |ψi = α|0i + β|1i vorliegen. Dann liefert eine Messung entweder das Ergebnis 0“ oder das Ergebnis 1“, also die klassischen ” ” Werte. Dabei tritt das Ergebnis 0“ mit Wahrscheinlichkeit |α|2 auf und das Ergebnis 1“ mit ” ” Wahrscheinlichkeit |β|2 . Dies erklärt auch sofort die Zusatzbedingung |α|2 + |β|2 = 1, da 5 sich die Wahrscheinlichkeiten zu 1 summieren sollen. Nach der Messung nimmt das Qubit den Basiszustand an, der dem jeweiligen Messergebnis entspricht. Als konkretes Beispiel betrachten wir noch eine Messung des Zustands 1 1 |ψi = √ |0i + √ |1i. 2 2 Bei diesem Zustand liefert eine Messung offenbar die Ergebnisse 0“ und 1“ jeweils mit Wahr” ” scheinlichkeit 1/2. (Übung: Wie sieht ein Zustand aus, der mit Wahrscheinlichkeit 1/4 das Ergebnis 0“ liefert und mit Wahrscheinlichkeit 3/4 das Ergebnis 1“?) ” ” Wichtig: Trotz des Verhaltens bei Messungen kann ein Qubit im Allgemeinen nicht durch eine reelle Zahl aus [0, 1] repräsentiert werden, etwa durch die Wahrscheinlichkeit für das Messergebnis 1“. Dies ist an dieser Stelle nicht ganz einfach zu verstehen, aber wir sollten uns ” zumindest darüber im Klaren sein, dass die Definition der Qubits formal ganz andere Objekte liefert. Die seltsame Funktionsweise von Messungen in der Quantenmechanik (auf die wir später noch genauer eingehen werden) ist eine der Ursachen für die fundamentalen Unterschiede zur klassischen Physik. Wir sehen hier, dass im Gegensatz z. B. zur klassischen Mechanik die Quantenmechanik eine statistische Theorie ist. Die exakte Vorhersage von Ergebnissen bei bekannten Ausgangszuständen ist nur noch ein Spezialfall der Theorie, in der Regel können wir nur Aussagen über die Wahrscheinlichkeitsverteilung von Ergebnissen machen. An dieser Stelle sollten wir uns an die Wahrscheinlichkeitstheorie erinnern, um die Ergebnisse von Messungen richtig zu interpretieren. Zum Beispiel bedeutet die Aussage Die Wahrschein” lichkeit, bei einem Münzwurf das Ergebnis ‘Kopf’ zu erhalten, ist 1/2.“: Wenn viele Münzwürfe durchgeführt werden, erhalten wir mit hoher Wahrscheinlichkeit ungefähr in der Hälfte der Fälle das Ergebnis Kopf“ (Gesetz der großen Zahl). Genauso sind auch die Aussagen über die Er” gebnisse von quantenmechanischen Messungen zu verstehen. Die Blochsphäre Wir führen in diesem Abschnitt eine geometrische Darstellung der Zustände eines Qubits ein, die insbesondere für die Veranschaulichung von Operationen auf dem Qubit sehr nützlich ist. Wir starten mit einem Qubit in einem beliebigen Zustand, also etwa α |ψi = α|0i + β|1i = , β wobei α, β ∈ und |α|2 + |β|2 = 1. Wir schreiben nun α und β in Form von Polarkoordinaten (siehe Anhang A) und erhalten: iγ r re iγ = e |ψi = sei(δ−γ ) seiδ wobei r, s, γ , δ ∈ r, s ≥ 0 gilt. mit r 2 + s 2 = 1. Durch geeignete Wahl von γ und δ stellen wir sicher, dass 6 z cos θ E ϕ) b(θ, y θ sin θ sin ϕ θ ϕ ϕ os θc sin sin x Abbildung 1.1: Blochsphäre. Wir wählen θ mit 0 ≤ θ ≤ π so, dass cos(θ/2) = r (dies ist möglich, da r ≥ 0). Dann haben wir q s = 1 − cos2 (θ/2) = sin(θ/2). Wir definieren außerdem ϕ := δ − γ und erhalten damit insgesamt: |ψi = e iγ cos(θ/2) . eiϕ sin(θ/2) Wir können hier die Winkel ϕ, θ immer so wählen, dass 0 ≤ ϕ < 2π und 0 ≤ θ ≤ π gilt. Falls θ > 0, ist diese Wahl sogar eindeutig, für θ = 0 können wir z. B. immer ϕ = 0 wählen. Wir werden in Kapitel 2 sehen, dass Vorfaktoren von Zuständen der Form e iγ , so genannte Phasenvorfaktoren, keine physikalisch beobachtbaren Effekte haben. Damit sind Zustände, die sich nur durch solche Faktoren unterscheiden, physikalisch äquivalent. Wir können den Faktor eiγ also im Folgenden ignorieren. Der Sinn und Zweck dieser aufwändigen Herleitung ist, dass wir nun (ϕ, θ ) als Kugelkoordinaten (oder Polarkoordinaten) eines Einheitsvektors bE ∈ 3 auffassen können (siehe Abbildung 1.1). Dazu definieren wir E ϕ) := [sin θ cos ϕ, sin θ sin ϕ, cos θ ]> ∈ b(θ, 3 . E ϕ) ist die so genannte Blochdarstellung des Qubit-Zustandes |ψi. Die VekDieser Vektor b(θ, toren auf der Einheitssphäre im 3 , die wir in diesem Zusammenhang Blochsphäre nennen, stellen also die Zustände eines Qubits eindeutig dar, wenn wir physikalisch irrelevante Phasenvorfaktoren ignorieren. 7 Beispiele: Zustand: θ: |0i 0 |1i π √ |0i + |1i / 2 π/2 √ |0i − |1i / 2 π/2 E ϕ): ϕ: b(θ, 0 0 0 π [0, 0, 1]> [0, 0, −1]> [1, 0, 0]> [−1, 0, 0]> Wir sehen uns das nur für die letzte Zeile genauer an, der Rest geht analog. Es ist " √ # " # 1 1/ 2 cos(π/4) √ = . √ |0i − |1i = −1/ 2 ei·π sin(π/4) 2 E ϕ) = [−1, 0, 0]>, wie gewünscht. Wir setzen θ = π/2 und ϕ = π und erhalten b(θ, Übungsaufgabe: Ergänze die zwei √ offensichtlich noch fehlenden Zeilen √in der obigen Tabelle und rechne nach, dass |0i +i |1i / 2 und |0i −i |1i / 2 auf der Blochsphäre durch [0, 1, 0]> bzw. [0, −1, 0]> dargestellt werden. Mehrere Qubits Mit einem Qubit alleine können wir für Algorithmen noch nicht wirklich viel anfangen. Wie sieht die Verallgemeinerung auf mehrere Qubits aus? Wir konzentrieren uns zunächst auf den Fall von zwei Qubits. Den klassisch möglichen Zuständen eines Bit-Paares entsprechen nun die Basiszustände |00i, |01i, |10i, |11i. Auch dies sind wieder Vektoren, und zwar hier die Vektoren der Standardbasis im Vektorraum 4 : |00i = [1, 0, 0, 0]> , |01i = [0, 1, 0, 0]>, |10i = [0, 0, 1, 0]> , und |11i = [0, 0, 0, 1]> . Ein allgemeiner Zustand eines Qubit-Paares wird beschrieben durch |ψi = α00 |00i + α01 |01i + α10 |10i + α11 |11i, wobei |α00 |2 + |α01 |2 + |α10 |2 + |α11 |2 = 1. Eine Messung des Qubit-Paares liefert den Wert x ∈ {0, 1}2 mit Wahrscheinlichkeit |α x |2 . Nach der Messung liegt der Zustand |xi vor, falls das Ergebnis x war. 8 Wir können auch weiterhin einzelne Qubits des Paares messen. Wie sieht das Ergebnis aus? Die Wahrscheinlichkeit, für eine Messung des ersten Qubits z. B. das Ergebnis 0“ zu bekommen, ” ist |α00 |2 + |α01 |2 . Das Qubit-Paar nimmt nach der Messung den Zustand α00 |00i + α01 |01i p |α00 |2 + |α01 |2 an. Es sind nur noch die Basiszustände vorhanden, die zum Messergebnis für das erste Qubit konsistent sind, und der Zustand wurde renormiert, so dass die Amplituden wieder unsere gewohnte Einschränkung erfüllen. Hinweis: Wir bevorzugen hier zunächst eine naive“, eher exemplarische Beschreibung von ” einfachen Messungen, ohne genauer Hintergründe zu diskutieren. Wir werden später (in Kapitel 2) das Thema Messungen noch ausführlicher behandeln. Ein wichtiger Zwei-Qubit-Zustand ist 1 1 1 |ψi = √ |00i + √ |11i = √ |00i + |11i . 2 2 2 Dieser Zustand wird Bell-Zustand genannt oder auch EPR-Paar. Die Abkürzung EPR steht für die Namen Einstein, Podolsky und Rosen, die in einem berühmten Gedankenexperiment vorschlugen, Zustände wie |ψi zu untersuchen. Eine Messung z. B. des ersten Qubits von |ψi liefert mit Wahrscheinlichkeit 1/2 das Ergebnis 0“, wobei dann der Zustand nach der Messung |ψ 0 i = |00i ist. Das Ergebnis 1“ bekom” ” men wir ebenfalls mit Wahrscheinlichkeit 1/2, und der Zustand nach der Messung ist dann |ψ 0 i = |11i. Wir sehen: Eine Messung des zweiten Qubits liefert hier immer dasselbe Ergebnis wie die Messung des ersten Qubits. Das oben Gesagte über die Messergebnisse gilt selbst dann, wenn die beiden Qubits des QubitPaares räumlich beliebig weit voneinander getrennt sind und die Messungen der beiden Bits separat durchgeführt werden. Eine Übereinstimmung der Messergebnisse, so wie sie die Quantenmechanik vorhersagt, sollte eigentlich aufgrund der Annahme unmöglich sein, dass nur der lokale Versuchsaufbau für das Experiment entscheidend ist (und nicht was z. B. in anderen Galaxien passiert). Dieses Lokalitätsprinzip wird von der speziellen Relativitätstheorie gestützt. Einstein, Podolsky und Rosen sahen die scheinbar absurden Vorhersagen der Quantenmechanik in diesem Fall als ein Defizit der Quantenmechanik an. Bell verallgemeinerte die Kernaussage der Arbeit von Einstein, Podolsky und Rosen und arbeitete genauer heraus, was die Quantenmechanik über die Korrelation der Messergebnisse von Einzel-Qubits in Zuständen der Form |ψi vorhersagt (dies ist Inhalt der berühmten bellschen Ungleichung). Inzwischen ist es gelungen, Varianten des Gedankenexperimentes von Einstein, Podolsky und Rosen und die bellsche Ungleichung in Experimenten zu testen. Alle Ergebnisse stützen die Vorhersagen der Quantenmechanik. Damit müssen wir uns notgedrungen vom Lokalitätsprinzip verabschieden. Abschließend betrachten wir den Fall von n Qubits. Dann haben wir Basiszustände |x 1 , . . . , x n i, mit (x 1 , . . . , x n ) ∈ {0, 1}n , 9 n die den Standardbasisvektoren im Vektorraum 2 entsprechen. Ein Zustand von n Qubits wird durch 2n Amplituden αx mit x ∈ {0, 1}n beschrieben mit der Einschränkung X |αx |2 = 1 x∈{0,1}n n Achtung: Der zugehörige Vektorraum ist hier tatsächlich 2 und nicht denken könnte. Das ist nur zufällig für n = 1 und n = 2 dasselbe! 2n , wie man vielleicht Die exponentiell wachsende Anzahl der Amplituden in der Anzahl der Qubits wird auch als intuitives Argument für die Rechenkraft“ von Quantenrechnern angeführt. Auf die nahe liegende ” Weise ist eine klassische Simulation einer großen Menge von Qubits sicher nicht möglich, z. B. wären 2500 komplexe Zahlen zu verwalten für die Amplituden von 500 Qubits! Allerdings ist nicht klar, ob es nicht bessere Methoden gibt, die diese Schwierigkeiten vermeiden. Messungen bezüglich anderer Basen Wir erweitern hier unser Konzept von Messungen. Bisher haben wir Messungen beschrieben, die für ein Qubit im Zustand α|0i + β|1i die Ergebnisse 0“ und 1“ mit Wahrscheinlichkeiten ” ” |α|2 bzw. |β|2 liefern. Wir stellen zunächst fest, dass die Wahl der Basis |0i, |1i für den Vektorraum 2 willkürlich und nicht eindeutig ist. Zum Beispiel betrachten wir alternativ √ √ 1 1 1/√2 1/ √2 und |−i = √ (|0i − |1i) = . |+i = √ (|0i + |1i) = 1/ 2 −1/ 2 2 2 Das sind beides zulässige Zustände eines Qubits. Die beiden Vektoren bilden außerdem (wie die Vektoren der Standardbasis) eine orthonormale Basis des Vektorraums 2 , d. h. sie sind orthogonal zu einander und haben jeweils beide die Norm 1 (siehe Anhang A zu Definitionen). Wir können mit Hilfe dieser Vektoren unseren Standard-Qubit-Zustand wie folgt umschreiben: α β α+β α−β |ψi = α|0i + β|1i = √ (|+i + |−i) + √ (|+i − |−i) = √ |+i + √ |−i. 2 2 2 2 Wir haben hiermit auf einfache Weise eine Basistransformation von der Standardbasis in die neue, orthonormale Basis |+i, |−i durchgeführt. Es stellt sich nun heraus, dass man auch Messungen in der Basis |+i, |−i analog zu unserem ursprünglichen Konzept durchführen kann. Wir erhalten hier Messergebnisse, die wir jetzt mit +“ und −“ bezeichnen. Diese treten mit Wahrscheinlichkeit |α + β|2 /2 bzw. |α − β|2 /2 auf. ” ” Wir sehen hier, dass es entscheidend ist, orthonormale Basen zu betrachten: Dies stellt sicher, dass sich auch bezüglich der neuen Basis die Betragsquadrate der Amplituden zu 1 addieren. Wir können nun analog dazu allgemein Messungen von n Qubits bez üglich einer beliebigen n orthonormalen Basis des Vektorraums 2 erlauben. Wir verzichten an dieser Stelle darauf, diese nahe liegende Verallgemeinerung formal durchzuführen. Die üblichen Messungen, so wie wir sie zu Anfang eingeführt haben, nennen wir Messungen bez üglich der Standardbasis. 10 Zusammengesetzte Zustände für mehrere Qubits Es ist nahe liegend, dass wir auch in der Lage sein sollten, ein Register mit mehreren Qubits aus einzelnen Qubits aufzubauen. Wir wollen uns hier überlegen, wie sich der Zustand eines Registers mit mehreren Qubits aus den Zuständen seiner Einzelqubits ergibt, wenn wir diese Zustände unabhängig voneinander einstellen. Dazu führen wir zunächst folgende neue mathematische Definition ein. Für zwei Vektoren v = (v1 , . . . , vm ) ∈ m und w = (w1 , . . . , wn ) ∈ n definieren wir das Tensorprodukt (auch Kroneckerprodukt genannt) von v und w, bezeichnet mit v ⊗ w, durch w .1 v1 · .. wn w.1 v · . . 2 wn ∈ mn . v ⊗ w := .. . w.1 vm · .. wn Die Dimension des Tensorproduktes ergibt sich also durch Multiplizieren der Dimensionen der Faktoren. Für Tensorprodukte gelten allerlei Rechenregeln, die man leicht durch direktes Nachrechnen verifizieren kann. Wir beobachten hier nur, dass das Tensorprodukt linear in beiden Faktoren ist und verschieben mehr Details auf später. Fakt: Für beliebige Vektoren u, v, w passender Dimension und α, β ∈ gilt: (αu + βv) ⊗ w = α(u ⊗ w) + β(v ⊗ w) und u ⊗ (αv + βw) = α(u ⊗ v) + β(u ⊗ w). Die Basiszustände für zwei Qubits ergeben sich jetzt als Tensorprodukte der Basiszustände der beiden Einzelqubits: 0 1 1 0 0 1 1 1 = ⊗ |00i = |0i ⊗ |0i = 0 , |01i = |0i ⊗ |1i = 0 ⊗ 1 = 0 , 0 0 0 0 0 0 0 1 0 0 0 0 . |10i = |1i ⊗ |0i = ⊗ = , |11i = |1i ⊗ |1i = ⊗ = 1 0 1 0 1 1 0 1 Wenn wir bei einem Paar von Qubits allgemein für das erste und zweite Qubit unabhängig voneinander die Zustände α1 α2 |ψ1 i = bzw. |ψ2 i = β1 β2 11 einstellen, mit α1 , α2 , β1 , β2 ∈ , |α1 |2 + |β1 |2 = 1 und |α2 |2 + |β2 |2 = 1, dann hat das Paar den Gesamtzustand α α 1 2 α 1 β2 α α1 4 ⊗ 2 = |ψ1 i ⊗ |ψ2 i = β1 α 2 ∈ . β2 β1 β1 β2 Man überzeugt sich leicht, dass für den so definierten Gesamtzustand wieder unsere übliche Bedingung an die Amplituden gilt: |α1 α2 |2 + |α1 β2 |2 + |β1 α2 |2 + |β1 β2 |2 = |α1 |2 |α2 |2 + |β2 |2 + |β1 |2 |α2 |2 + |β2 |2 = 1. √ Beispiel: Seien |ψ1 i = |ψ2 i = |0i + |1i / 2. Dann ist |ψ1 i ⊗ |ψ2 i = 1 1 √ |0i + |1i ⊗ √ |0i + |1i 2 2 1 |0i ⊗ |0i + |0i ⊗ |1i + |1i ⊗ |0i + |1i ⊗ |1i 2 1 = |00i + |01i + |10i + |11i . 2 = Wenn wir viele Tensorprodukte von Zuständen haben, werden die Terme recht schnell unhandlich. Wir benutzen daher die abkürzende Schreibweise |ψ1 i|ψ2 i := |ψ1 i ⊗ |ψ2 i. Die linke Seite darf man dann nicht mit dem gewöhnlichen Produkt der beiden Zustandsvektoren verwechseln (was aber schon aus Formatgründen hier gar nicht gebildet werden kann). Nicht alle Zustände von zwei Qubits lassen sich als Tensorprodukt der Zustände ihrer Einzelqubits schreiben. Dies gilt z. B. für den Bell-Zustand, den wir bereits untersucht haben. Denn α 0 α|00i + β|11i = 0 6= β α1 α2 α 1 β2 β1 α 2 β1 β2 für beliebige α1 , α2 , β1 , β2 ∈ . Wir nennen einen Zustand, der sich wie der Bell-Zustand nicht als Tensorprodukt von Ein-Qubit-Zuständen schreiben lässt, verschr änkten Zustand (engl. entangled state). Einen Zustand, der sich als Tensorprodukt schreiben lässt, nennen wir separablen Zustand oder Produktzustand. Wir bemerken abschließend, dass sich Zustände für eine beliebige Anzahl Qubits natürlich auf dieselbe Weise als Tensorprodukte der Zustände aller Einzelqubits ergeben. 12 1.3. Quantenbausteine Wir haben bis jetzt nur behandelt, wie wir Informationen in einem Quantenrechner abspeichern können. Jetzt geht es darum, diese Informationen auch zu manipulieren. Definition Wir wollen hier Quantenbausteine entwickeln, die den üblichen Bausteinen in klassischen Schaltkreisen entsprechen sollen. Einen beliebigen Quantenbaustein mit n Eingängen und n Ausgängen stellen wir symbolisch wie in Abbildung 1.2 gezeigt dar. |ψi 1 2 .. . n T 1 2 .. . n |ψ 0 i Abbildung 1.2: Quantenbaustein. Was ist die Semantik eines solchen Bausteins? Wir stellen uns vor, dass der Baustein auf einem Register aus n Qubits arbeitet, dessen Inhalt durch einen Zustand von n Qubits beschrieben n wird. Dies ist ein Vektor |ψi ∈ 2 . Der Quantenbaustein führt eine Transformation dieses Zustandes in einen neuen Zustand |ψ 0 i für das Register durch. Formal wird also eine Abbildung n n T : 2 → 2 realisiert, die wir Zustandstransformation nennen. Wir benutzen im Folgenden die Begriffe Quantenbaustein, Zustandstransformation und Operation auf Qubits synonym. Eine alternative Sichtweise, die mehr klassischen Bausteinen entspricht, funktioniert wie folgt. Wir identifizieren die einzelnen Eingänge mit Qubits. Jedes dieser Qubits kann unabhängig voneinander mit einem Zustand belegt werden. Der Schaltkreis produziert dann Zustände für seine Ausgänge, die ebenfalls als Qubits betrachtet werden. Problematisch an dieser Sichtweise ist, dass – anders als im klassischen Fall – die unabhängige Belegung der einzelnen Ein- und Ausgänge nur ein Spezialfall ist. Im Allgemeinen lässt sich der Zustand der n Eingänge und der n Ausgänge nicht aus den Zuständen der einzelnen Ein- bzw. Ausgänge zusammensetzen (mit Hilfe des Tensorproduktes, wie im letzten Abschnitt beschrieben). Welche Zustandstransformationen sind überhaupt zulässig? Die Quantenmechanik besagt, dass jede solche Transformation unitär sein muss. Dies bedeutet: • Die Transformation ist linear. Insbesondere hat sie damit eine Matrixdarstellung U . • Die Matrixdarstellung U der Transformation selbst ist unitär, d. h. es gilt U † U = I . Dabei ist I eine passende Einheitsmatrix und U † die zu U adjungierte Matrix, die man durch Ersetzen der Einträge durch ihre komplex konjugierten Zahlen und Transponieren der Matrix erhält (siehe Anhang A). 13 Warum fordert die Quantenmechanik ausgerechnet unitäre Transformationen? Es ist eine schwierige Frage, warum Linearität wichtig ist. Diese Frage wurde sehr intensiv in der Quantenmechanik untersucht. Die Linearitätseigenschaft war ursprünglich eine Ad-Hoc-Annahme, wird aber inzwischen sowohl durch eine umfangreiche, mathematische Theorie als auch durch die Ergebnisse aller bisherigen Experimente gestützt. Es ist leichter zu verstehen, warum von den linearen Transformationen gerade die unitären wichtig sind. Wir müssen nämlich sicherstellen, dass das Ergebnis einer Anwendung der Transformation wieder ein legaler Zustand ist. Wir betrachten eine beliebige lineare Transformation U von Zuständen eines einzelnen Qubits. Wir benötigen dann, dass für alle α, β ∈ gilt: 2 2 |α| + |β| = 1 0 α α U = 0 β β ⇒ Für einen Vektor α = (v1 , . . . , v2n ) ∈ gen wir analog |v1 |2 + |v2 |2 + · · · + |v2n |2 = 1 2n , ⇒ mit |α 0 |2 + |β 0 |2 = 1. der einen Zustand von n Qubits beschreibt, benöti- Uv = w mit |w1 |2 + |w2 |2 + · · · + |w2n |2 = 1. Letzteres können wir eleganter mit Hilfe der Norm von Vektoren ausdrücken (siehe Anhang A), n für alle v ∈ 2 muss gelten: kvk2 = 1 ⇒ kU vk2 = 1, oder äquivalent: kvk = 1 muss kU vk = 1 implizieren. Diese Forderung ist tatsächlich erfüllt, wenn U unitär ist, d. h. U † U = I . Aus der Gültigkeit der linken Seite der Implikation folgt dann nämlich: 1 = kvk2 = v † v = v †U † U v = (U v)† (U v) = kU vk2 . Also gilt auch die rechte Seite der Implikation. Wir können sogar zeigen, dass die obige Forderung an U umgekehrt impliziert, dass U bereits unitär ist. Wir fordern also genau so viel wie notwendig ist, um überhaupt sinnvolle Ergebnisse zu erhalten. Satz: Eine m × m-Matrix U , m beliebig, ist genau dann unitär, wenn sie die folgende Eigenschaft erfüllt: ∀ v ∈ m : kvk = 1 ⇒ kU vk = 1. Beweis: Es ist nur noch zu zeigen, dass jede Matrix mit der angegebenen Eigenschaft unitär ist, d. h. U † U = I oder anders ausgedrückt e †j U † U e j = 1 und e†j U † U ek für j 6 = k, wobei j, k ∈ {1, . . . , m}. Wir wählen dazu verschiedene spezielle Vektoren v ∈ m . 1. v = e j : Es ist kvk = 1 und mit der Voraussetzung folgt 1 = kU vk2 = e†j U † U e j . Damit hat U auf der Diagonalen die richtigen Werte. 14 √ 2. v = (e j + ek )/ 2, j 6 = k: Auch hier ist wieder kvk = 1 erfüllt. Die Voraussetzung liefert √ √ † 1 = kU vk2 = (e j + ek )/ 2 U † U (e j + ek )/ 2 1 † † = e j U U e j + e†j U † U ek + ek† U † U e j + ek† U † U ek 2 1 † † † † = 2 + e j U U ek + ek U U e j , 2 also folgt e†j U † U ek + ek†U † U e j = 0. (1) √ 3. v = (e j + i ek )/ 2, j 6 = k: Es ist kvk = 1 und damit √ † √ 1 = kU vk2 = (e j + i ek )/ 2 U † U (e j + i ek )/ 2 1 † † = e j U U e j + i e†j U † U ek − i ek†U † U e j + ek† U † U ek 2 1 † † † † = 2 + i e j U U ek − i ek U U e j , 2 also e†j U † U ek − ek†U † U e j = 0. (2) Addieren der Gleichungen (1) und (2) liefert e j U † U ek = 0 für j 6 = k, also hat U auch außerhalb der Diagonalen die gewünschten Werte. Unitarität ist tatsächlich die einzige Forderung, die die Quantenmechanik an Zustandstransformationen durch Quantenbausteine stellt. Jede unitäre Matrix liefert also einen erlaubten Quantenbaustein. Wir sehen uns das im Folgenden an konkreten Beispielen an. Ein-Qubit-Bausteine In klassischen Schaltkreisen gibt es nur zwei Operationen auf einem einzelnen Bit, die Identität und die Negation (NOT). Ein klassischer NOT-Baustein führt zu folgender Transformation eines klassischen Bits: 0 7 → 1 und 1 7 → 0. Das quantenmechanische Analogon zu diesem Baustein soll nun eine Transformation realisieren mit |0i 7 → |1i, |1i 7 → |0i. Da die Transformation gemäß dem letzten Abschnitt insbesondere linear sein soll, ist es bereits ausreichend, die Werte auf den Basisvektoren zu spezifizieren. Für beliebige Zustände eines Qubits setzen wir die Transformation einfach linear fort. Der Zustand |ψi = α|0i + β|1i mit |α|2 + |β|2 = 1 wird dabei abgebildet auf den neuen Zustand α|1i + β|0i. 15 Die Matrixdarstellung des quantenmechanischen NOTs ist 0 1 . X := 1 0 Wir wählen die Bezeichnung X mal wieder aus Traditionsgründen. Diese Matrix ist offensichtlich unitär: 1 0 0 1 0 1 † 2 . = · X X = X = 0 1 1 0 1 0 Anders als im klassischen Fall, wo es mit NOT nur einen nichttrivialen Ein-Bit-Baustein gibt, gibt es viele weitere interessante Ein-Qubit-Bausteine außer X . Wir definieren noch als Beispiele zwei, die im Folgenden wichtig sein werden. Wir geben dazu jeweils direkt die Matrixdarstellung an. 1 0 ; • Z-Baustein: Z := 0 −1 1 1 1 • Hadamard-Baustein: H := √ . 2 1 −1 Es ist leicht zu sehen, dass Z tatsächlich unitär ist. Der Z-Baustein lässt offenbar den Zustand |0i unverändert, während er den Zustand |1i auf −|1i abbildet. Den Hadamard-Baustein sehen wir uns genauer an. Es ist 1 1 H |0i = √ |0i + √ |1i 2 2 und 1 1 H |1i = √ |0i − √ |1i. 2 2 Nach der Anwendung dieses Bausteins liefert die Messung des Ergebniszustandes 0“ und 1“ ” ” jeweils mit der Wahrscheinlichkeit 1/2. Was passiert, wenn wir H noch einmal anwenden? 1 1 1 H H |0i = √ H |0i + √ H |1i = |0i + |1i + |0i − |1i = |0i. 2 2 2 Analog ergibt sich H (H |1i) = |1i (überzeuge dich selbst davon). Insgesamt haben wir also H 2 = I . Da offenbar H † = H gilt, haben wir damit auch nachgewiesen, dass H unitär ist. Bei zweimaliger Anwendung von H gewinnen wir jeweils den ursprünglichen Zustand zurück. Das ist einigermaßen bemerkenswert. Wir sehen daran zum ersten Mal, dass eine einfache, wahrscheinlichkeitstheoretische Beschreibung von Qubits nicht funktionieren kann. Bei einer solchen Vorstellung würde die erste Anwendung der H -Operation nämlich aus dem festen Wert 0 oder 1 einen zufälligen Wert aus {0, 1} produzieren (d. h. ein völlig verrauschtes“ Bit, ” das keinerlei Information enthält), während eine erneute Anwendung von H den ursprünglichen Wert restauriert! Wir können uns den Unterschied zur Wahrscheinlichkeitstheorie auch noch algebraisch verdeutlichen. Wahrscheinlichkeiten sind immer nichtnegativ. Den Wahrscheinlichkeiten entsprechen in der quantenmechanischen Beschreibung Amplituden. Diese können nun aber beliebige 16 komplexe Zahlen sein, und wir sehen an sehen an obiger Rechnung, dass sich positive und negative Terme gegenseitig auslöschen können. Diese Auslöschungen sind verantwortlich dafür, dass wir nach zweimaliger Anwendung der H -Operation wieder den ursprünglichen Zustand bekommen. Abschließend listen wir für die bisher behandelten Ein-Qubit-Bausteine noch ihre entsprechenden graphischen Darstellungen auf (siehe Abbildung 1.3). α|0i + β|1i X β|0i + α|1i α|0i + β|1i Z α|0i − β|1i α|0i + β|1i H α+β √ |0i + α−β √ |1i 2 2 Abbildung 1.3: Wichtige Ein-Qubit-Bausteine. Wirkung von Ein-Qubit-Bausteinen auf der Blochsphäre Die Wirkung der Transformationen, die zu Ein-Qubit-Bausteinen gehören, lässt sich auf elegante Weise mit Hilfe der Blochsphäre veranschaulichen. Wir werden uns später überlegen (Kapitel 3), dass jede solche Transformation eine Drehung des Darstellungsvektors für den Zustand auf der Blochsphäre bewirkt. Hier sehen wir uns zum Aufwärmen ein einfaches Beispiel an. Wir definieren für ρ ∈ die unitäre Transformation −iρ/2 e 0 . Uz (ρ) := 0 eiρ/2 Wir betrachten einen beliebigen Zustand, den wir nach Abschnitt 1.2 schreiben können als cos(θ/2) iγ |ψi = e , eiϕ sin(θ/2) mit γ ∈ , 0 ≤ ϕ < 2π und 0 ≤ θ ≤ π . Die zugehörige Darstellung auf der Blochsphäre ist bE = [sin θ cos ϕ, sin θ sin ϕ, cos θ ]> ∈ 3 . Wir wenden die Transformation Uz (ρ) auf |ψi an und bekommen cos(θ/2) cos(θ/2) · e−iρ/2 i(γ −ρ/2) iγ = e . Uz (ρ)|ψi = e ei(ϕ+ρ) sin(θ/2) eiϕ sin(θ/2) · eiρ/2 17 bE0 = [sin θ cos(ϕ + ρ), sin θ sin(ϕ + ρ), cos θ ]> z bE = [sin θ cos ϕ, sin θ sin ϕ, cos θ ]> y θ θ ρ ϕ x Abbildung 1.4: Darstellung von Uz (ρ) auf der Blochsphäre. Offenbar ist der letzte Term wieder von der Form, die wir für die Umrechnung in die Darstellung auf der Blochsphäre benötigen. Der Einfachheit halber gehen wir hier davon aus, dass 0 ≤ ϕ + ρ < 2π ist (falls nicht, ziehen wir ein geeignetes Vielfaches von 2π von ϕ + ρ ab). Die Blochdarstellung des neuen Vektors U z (ρ)|ψi ist damit bE0 = [sin θ cos(ϕ + ρ), sin θ sin(ϕ + ρ), cos θ ]> . Was ist hier anschaulich passiert? Die z-Koordinate ist im Vergleich zu bE unverändert geblieben. In der x-y-Ebene hat der Vektor eine Drehung um den Winkel ρ erfahren. Also bewirkt Uz (ρ) auf der Blochsphäre eine Drehung bezüglich der z-Achse um den Winkel ρ (siehe Abbildung 1.4). Übungsaufgabe: Überlege dir, welche Drehung auf der Blochsphäre zur Transformation Z korrespondiert. Die Wirkung der Hadamard-Transformation H auf der Blochsphäre ist leider nicht ganz so einfach zu sehen, wir werden das später genauer untersuchen. Wir nehmen hier nur ohne Beweis vorweg, dass H eine Drehung bewirkt, die sich aus zwei Drehungen um die Koordinatenachsen zusammensetzt: Eine Drehung bezüglich der y-Achse um den Winkel −π/2, gefolgt von einer Drehung bezüglich der z-Achse um den Winkel π . Übungsaufgabe: Verifiziere die√letzte Aussage für die Darstellungen der Zustände |0i, √ (|0i + |1i)/ 2 und (|0i + i |1i)/ 2 auf der Blochsphäre. Quantenbausteine für mehrere Qubits Klassische Schaltkreise werden normalerweise aus einzelnen Bausteinen aus einem festen, kleinen Bausteinsatz zusammengebaut. Es gibt universelle Bausteins ätze, aus deren Bausteinen man Schaltkreise für beliebige boolesche Funktionen konstruieren kann, wie z. B. {∧, ∨, ¬}, {⊕, ∧, 1} oder {NAND} (siehe Vorlesung RECHNERSTRUKTUREN). 18 Universelle Bausteinsätze scheinen auch für Quantenschaltkreise sehr wichtig zu sein. Können wir so etwas bekommen, indem wir, wie bei NOT, Analoga zu den klassischen Zwei-BitBausteinen in den genannten Bausteinsätzen finden? Leider geht das nicht so einfach. Wir beobachten nämlich, dass die Unitaritäts-Bedingung für einen Quantenbaustein insbesondere bedeutet, dass die berechnete Transformation invertierbar sein muss: Aus U † U = I folgt U −1 = U † . Aber Bausteine wie ∧, ⊕ und NAND berechnen keine invertierbare Funktion. Man sagt auch, diese Operationen seien irreversibel. Es gibt keine Möglichkeit, aus dem Wert am Ausgang die beiden Werte an den Eingängen zu berechnen. Daher können wir dieselbe Konstruktion wie beim NOT-Baustein hier nicht anwenden. Wir zeigen eine Lösung des Problems am Beispiel von ⊕ (XOR). Die quantenmechanische Variante dieses Bausteins heißt controlled NOT, abgekürzt CNOT. CNOT hat jeweils zwei Qubits als Eingang und Ausgang. Der erste Eingang heißt Steuerqubit, der zweite Zielqubit oder gesteuertes Qubit. Falls das Steuerqubit im Zustand |0i ist, bleibt das Zielqubit unverändert. Falls das Steuerqubit im Zustand |1i ist, wird das Zielqubit geflippt. Der Baustein hat folgende Werte” tabelle“ bzw. Matrixdarstellung. Dabei ist das linke Qubit das Steuerqubit und das rechte Qubit das Zielqubit. Für die Matrix ist die gewählte Reihenfolge der Basiszustände zur Verdeutlichung angegeben. |00i |01i |10i |11i |00i 1 0 0 0 |01i 0 1 0 0 CNOT := |10i 0 0 0 1 |11i 0 0 1 0 |00i 7 → |00i |01i 7 → |01i |10i 7 → |11i |11i 7 → |10i Außerdem führen wir für die Verwendung in Quantenschaltkreisen folgendes suggestive Symbol für CNOT ein. Der obere Eingang ist das Steuerqubit und der untere das Zielqubit. |xi |xi |yi |x ⊕ yi Weitere interessante Bausteine auf mehreren Qubits werden wir in den folgenden Abschnitten kennen lernen. In Kapitel 3 werden wir außerdem sehen, dass der CNOT-Baustein zusammen mit allen Ein-Qubit-Bausteinen einen universellen Bausteinsatz für Quantenschaltkreise bildet. Das bedeutet, dass wir auch Quantenbausteine, die eine beliebige Anzahl Qubits als Eingänge besitzen, mit Hilfe dieser elementaren Bausteine realisieren können. 1.4. Quantenschaltkreise Wir haben mit einzelnen Quantenbausteinen schon einfache Beispiele für Quantenschaltkreise kennen gelernt. Wir diskutieren hier Quantenschaltkreise allgemein. Außerdem untersuchen wir die Möglichkeiten, Qubits zu kopieren und führen wir zwei neue Quantenbausteine ein. Den Abschnitt schließen zwei Beispiele ab. 19 Definition Klassische Schaltkreise werden durch gerichtete, azyklische Graphen beschrieben. Dabei interpretieren wird die Quellen als Eingänge, die Senken als Ausgänge und die inneren Knoten als Bausteine. Den Kanten entsprechen Leitungen. Quantenschaltkreise sind formal genauso aufgebaut, aber die Verdrahtungsmöglichkeiten sind hier viel eingeschränkter. Ein allgemeiner Quantenschaltkreis sieht so aus: 1 2 .. . n U1 .. .. U2 .. .. ... 1 2 .. .. Uk .. . n Dieser Quantenschaltkreis hat n Eingänge und n Ausgänge. In unseren Diagrammen, mit denen wir Quantenschaltkreise darstellen, sind per Konvention die Eingänge immer links und die Ausgänge immer rechts. Der Schaltkreis besteht aus einer linearen Folge von Quantenbausteinen. Diese werden durch unitäre Zustandstransformationen bzw. die zugehörigen unitären Matrizen beschrieben, hier U1 , . . . , Uk . Die Quantenbausteine sind untereinander durch Leitungen (Drähte) verbunden, die wir als horizontale Linien darstellen. Ein Quantenschaltkreis berechnet, wie ein Quantenbaustein, eine Zustandstransformation. Der obige Quantenschaltkreis operiert auf einem Register aus n Qubits, dessen Zustand |ψi die Eingabe des Schaltkreises ist. Die Zustandstransformation des Quantenschaltkreises ergibt sich durch Hintereinanderausführung der Zustandstransformationen für die einzelnen Bausteine, also hier U1 , . . . , Uk (in dieser Reihenfolge, von links nach rechts). Der resultierende Zustand |ψ 0 i = Uk Uk−1 · · · U1 |ψi des Registers aus n Qubits ist die Ausgabe des Schaltkreises. (Man beachte die Umkehrung der Reihenfolge in der mathematischen Schreibweise!) Alternativ interpretieren wir die einzelnen Leitungen als Qubits. Insbesondere ist der Zustand einer Leitung durch den Zustand eines Qubits beschrieben. Der Zustand der n Eingangsleitungen ist die Eingabe, der Zustand der n Ausgangsleitungen die Ausgabe des Schaltkreises. Die Leitungen in Quantenschaltkreisen werden in der Regel nicht wirklich physikalisch durch Leitungen realisiert, so dass wir mit dieser Vorstellung etwas vorsichtig sein müssen. Wie bei Quantenbausteinen schon bemerkt, müssen wir auch beachten, dass sich der Gesamtzustand aller Leitungen im Allgemeinen nicht aus den Teilzuständen der einzelnen Leitungen ergibt. Damit die Semantik eines Quantenschaltkreises eine gemäß der Quantenmechanik zulässige Zustandstransformation ist, brauchen wir offenbar, dass das Produkt von unitären Matrizen wieder eine unitäre Matrix ist. Im Folgenden überzeugen wir uns von dieser Tatsache. Satz: Seien U und V unitäre n × n-Matrizen. Dann ist auch U · V unitär. Es ist klar, dass wir diese Aussage auf eine beliebige (endliche) Anzahl von Faktoren durch vollständige Induktion erweitern können. 20 Beweis: Nach Voraussetzung gilt U † U = I und V † V = I . Daraus folgt (U · V )† (U · V ) = V †U † U V = V † V = I. Also ist U · V unitär. Wir wollen uns jetzt mit der Semantik von Quantenschaltkreisen an einem einfachen Beispiel vertraut machen. Wir betrachten folgenden Quantenschaltkreis: Wie funktioniert der gezeigte Schaltkreis? Wir berechnen die Auswirkung auf einen beliebigen Basiszustand |a, bi mit (a, b) ∈ {0, 1}2 : |a, bi → |a, a ⊕ bi → |a ⊕ (a ⊕ b), a ⊕ bi = |b, a ⊕ bi → |b, (a ⊕ b) ⊕ bi = |b, ai. Der Schaltkreis vertauscht also die Werte auf den beiden Eingangsleitungen und realisiert eine Überkreuzung von Drähten. Für diese offenbar wichtige Operation führen wir ein eigenes Symbol ein: |xi |yi |yi |xi Wir erhalten direkt aus obigem Satz, dass die von diesem Schaltkreis berechnete Transformation unitär ist. Zur Übung überzeugen wir uns auch noch direkt davon. Gemäß der obigen Rechnung ergibt sich für den Schaltkreis die Matrixdarstellung 1 0 0 0 0 0 1 0 SWAP := 0 1 0 0 . 0 0 0 1 Die Matrix bewirkt eine Permutation der Koordinaten eines damit multiplizierten Vektors aus 4 . Matrizen, die solche Koordinatenvertauschungen realisieren, heißen Permutationsmatrizen und sind dadurch gekennzeichnet, dass jede Zeile und jede Spalte jeweils genau eine Eins enthält und der Rest der Einträge Nullen sind. Man kann sich leicht überzeugen, dass diese Matrizen alle unitär sind. Übungsaufgabe: Beweise, dass jede Permutationsmatrix unitär ist. 21 Feinheiten des Quantenschaltkreis-Modells Es ist oft hilfreich, etwas genauer in die Bausteine in einem Quantenschaltkreis hineinzusehen als wir das im letzten Abschnitt getan haben. Wir betrachten einen Quantenbaustein mit Zustandstransformation T , der aus zwei separaten Ein-Qubit-Quantenbausteinen mit Zustandstransformationen U und V zusammengesetzt ist, die unabhängig voneinander und parallel auf zwei verschiedenen Qubits operieren: U ≡ T V Wie ergibt sich die Transformation des gesamten Bausteins aus den einzelnen Transformationen? Sei dazu u 11 u 12 v11 v12 U = und V = . u 21 u 22 v21 v22 Wir werten T auf den Basiszuständen aus. Da die Bausteine U und V unabhängig voneinander arbeiten, ist der Ergebniszustand hier das Tensorprodukt der Ergebniszustände für die beiden einzelnen Qubits: T |00i = (U |0i) ⊗ (V |0i) = = T |01i = (U |0i) ⊗ (V |1i) = T |10i = (U |1i) ⊗ (V |0i) = T |11i = (U |1i) ⊗ (V |1i) = (u 11 |0i + u 21 |1i) ⊗ (v11 |0i + v21 |1i) u 11 v11 |00i + u 11 v21 |01i + u 21 v11 |10i + u 21 v21 |11i, u 11 v12 |00i + u 11 v22 |01i + u 21 v12 |10i + u 21 v22 |11i, u 12 v11 |00i + u 12 v21 |01i + u 22 v11 |10i + u 22 v21 |11i, u 12 v12 |00i + u 12 v22 |01i + u 22 v12 |10i + u 22 v22 |11i. Damit hat T folgende Matrixdarstellung: u 11 v11 u 11 v12 u 12 v11 u 11 v21 u 11 v22 u 12 v21 T = u 21 v11 u 21 v12 u 22 v11 u 21 v21 u 21 v22 u 22 v21 u 12 v12 u 12 v22 u · V u · V 11 12 = . u 22 v12 u 21 · V u 22 · V u 22 v22 Wir bezeichnen diese Matrix als das Tensorprodukt von U und V , in Zeichen U ⊗ V . Wir verallgemeinern die Definition des Tensorproduktes für beliebige Matrizen U und V wie folgt. Sei U eine m × n-Matrix und V eine r × s-Matrix. Dann ist das Tensorprodukt von U und V die (mr ) × (ns)-Matrix u 1,1 · V . . . u 1,n · V .. .. .. U ⊗ V := . . . . u m,1 · V . . . u m,n · V 22 H H H H Abbildung 1.5: Beispiele für parallele Quantenbausteine. Darin ist auch unsere frühere Definition für das Tensorprodukt von Vektoren als Spezialfall enthalten. Wie das Tensorprodukt für Vektoren ist auch das allgemeine Tensorprodukt linear in beiden Faktoren. Fakt: Für beliebige Matrizen U, V, W passender Dimension und α, β ∈ gilt: (αU + β V ) ⊗ W = α(U ⊗ W ) + β(V ⊗ W ) und U ⊗ (αV + βW ) = α(U ⊗ V ) + β(U ⊗ W ). Außerdem kann man allgemein zeigen, dass das Tensorprodukt von unitären Matrizen wieder unitär ist. Dies ergibt sich durch Nachrechnen direkt aus der Definition, was wir uns an dieser Stelle ersparen. Satz: Seien U und V unitäre Matrizen. Dann ist auch U ⊗ V unitär. Wir behandeln einige konkrete Beispiele. Sei H die Hadamard-Matrix (siehe Abschnitt 1.3) und I die 2 × 2-Einheitsmatrix. Dann haben wir: 1 1 0 0 1 1 −1 1 1 1 1 0 0 0 ; = √ I⊗H = ⊗√ 0 1 0 1 1 2 1 −1 2 0 0 0 1 −1 1 0 1 0 1 1 1 0 1 1 0 1 1 0 ; ⊗ H⊗I = √ = √ 0 −1 0 0 1 2 1 −1 2 1 0 1 0 −1 1 1 1 1 1 1 1 1 −1 1 1 1 1 1 −1 . ⊗√ = H⊗H = √ 1 −1 1 −1 1 1 −1 −1 2 2 2 1 −1 −1 1 An den ersten beiden Beispielen sehen wir insbesondere, dass das Tensorprodukt von Matrizen nicht kommutativ ist. Die Quantenschaltkreise zu diesen Beispielen sind in Abbildung 1.5 dargestellt. Falls einer der Teilbausteine die Identität berechnet, stellen wir das durch eine durchgezogene Leitung dar. 23 Mit Hilfe der allgemeinen Definition des Tensorproduktes können wir nun auch Quantenbausteine beschreiben, die aus beliebig vielen Teilbausteinen zusammengesetzt sind, die parallel auf einer beliebigen Anzahl von Qubits arbeiten und bei denen einzelne Eingaben durchgeleitet werden. Ein etwas größerer Quantenschaltkreis mit solchen Bausteinen könnte z. B. in unserer graphischen Notation aussehen wie in Abbildung 1.6. Abbildung 1.6: Komplexerer Quantenschaltkreis schematisch. Was gibt es nun noch für Unterschiede zwischen der Definition von Quantenschaltkreisen und klassischen Schaltkreisen? Zunächst halten wir fest, dass Quantenschaltkreise immer die gleiche Anzahl von Eingängen wie Ausgänge haben. Dies liegt an der schon beobachteten Tatsache, dass diese Schaltkreise insbesondere invertierbare Funktionen berechnen müssen. Außerdem fehlen noch zwei aus klassischen Schaltkreisgraphen bekannte Elemente: • Leitungsüberkreuzungen. Diese sind explizit in unseren Graphen nicht erlaubt, wir können aber leicht mit Hilfe von SWAP-Bausteinen eine beliebige Permutation von Leitungen und damit auch beliebige Überkreuzungen realisieren. Man kann sich leicht überlegen, z. B. unter Ausnutzung eines Sortierverfahrens wie Bubblesort, dass man jede Permutation durch O(n 2 ) Nachbarvertauschungen realisieren kann. • Fanout (Gabelungen). In klassischen Schaltkreisen werden Ausgänge von Bausteinen typischerweise mehrfach verwendet, was man als Fanout bezeichnet. Fanout ist in Quantenschaltkreisen auch nicht erlaubt. Wir werden im nächsten Abschnitt sogar sehen, dass Fanout – im Gegensatz zu Kreuzungen – prinzipiell nicht in Quantenschaltkreisen realisiert werden kann. Kopieren von Qubits Wir behandeln hier eine wesentliche und prinzipielle Einschränkung von Quantenrechnern allgemein, nämlich die Unmöglichkeit, beliebige Zustände von Qubits zu kopieren. Äquivalent dazu ist die Aussage, dass Fanout in Quantenschaltkreisen nicht möglich ist. Im Folgenden überlegen wir uns, warum das so ist. Zunächst beobachten wir, dass der Quantenschaltkreis in Abbildung 1.7 sicherlich dazu geeignet ist, die beiden Basiszustände eines einzelnen Qubits zu kopieren. 24 |xi |xi 0 |xi Abbildung 1.7: Vermeintlicher Kopierschaltkreis. Wir versuchen nun, einen beliebigen Zustand für ein einzelnes Qubit damit zu kopieren. Sei dies |ψi = α|0i + β|1i, mit α, β ∈ und |α|2 + |β|2 = 1. Falls der Schaltkreis richtig funktioniert, sollte er dafür sorgen, dass für jeden der beiden Ausgänge unabhängig vom jeweils anderen der Zustand |ψi eingestellt wird. Das bedeutet, er sollte den folgenden Gesamtzustand liefern: |ψKopie i = |ψi ⊗ |ψi = (α|0i + β|1i) ⊗ (α|0i + β|1i) = α 2 |00i + αβ|01i + αβ|10i + β 2 |11i. Dies ist aber nicht der Fall, die wirklich durchgeführte Transformation ist |ψi ⊗ |0i = (α|0i + β|1i) ⊗ |0i = α|00i + β|10i 7 → α|00i + β|11i. Man kann sich leicht überzeugen, dass dies im Allgemeinen von |ψ Kopie i verschieden ist. Denn aus 2 α α 0 αβ α|00i + β|11i = 0 = αβ = |ψKopie i β β2 folgt α = 0 oder β = 0. Die einzigen Zustände, die korrekt kopiert werden, sind also von der Form iϕ 1 iϕ 0 e bzw. e 0 1 für ϕ ∈ , also physikalisch äquivalent zu Basiszuständen (erinnere dich daran, dass wir Phasenvorfaktoren vor Ein-Qubit-Zuständen ignorieren können). Unser erster Ansatz, einen Kopierschaltkreis zu konstruieren, ist also schiefgegangen. Langwieriges weiteres Herumprobieren erübrigt sich nun, da man unter verschiedenen, sehr allgemeinen Annahmen beweisen kann, dass ein solcher Kopierschaltkreis tatsächlich nicht existiert. Entsprechende Aussagen bezeichnet man als No-Cloning-Theoreme. Wir präsentieren hier eine einfache Version eines solchen Theorems. Wir zeigen, dass die obige Konstruktion auch für jeden anderen Quantenbaustein auf zwei Qubits anstelle von CNOT nicht funktioniert. Wir zeigen dies indirekt und nehmen an, wir hätten einen kopierenden Quantenbaustein gefunden, der auf zwei Qubits operiert. Eins dieser Qubits enthält den zu kopierenden Zustand |ψi wie oben. Das andere Qubit dient als Speicher für die Kopie und sei zu Anfang mit 25 irgendeinem Zustand |Si initialisiert. Sei U die von dem Quantenbaustein berechnete Zustandstransformation auf diesen Qubits. Damit richtig kopiert wird, muss für beliebige zu kopierende Zustände |ψi gelten: U |ψi ⊗ |Si = |ψi ⊗ |ψi. Wir wenden den hypothetischen Kopierbaustein auf die Zustände |0i, |1i und |ψi = α|0i+β|1i an (α, β ∈ , |α|2 + |β|2 = 1). Dies liefert: U |0i ⊗ |Si = |0i ⊗ |0i = |00i, U |1i ⊗ |Si = |1i ⊗ |1i = |11i, U |ψi ⊗ |Si = |ψi ⊗ |ψi = α 2 |00i + αβ|01i + αβ|10i + β 2 |11i. Da U insbesondere linear ist, ergibt sich mit Hilfe der ersten beiden Gleichungen andererseits U |ψi ⊗ |Si = U α|0i + β|1i ⊗ |Si = U α |0i ⊗ |Si + β |1i ⊗ |Si = αU |0i ⊗ |Si + βU |1i ⊗ |Si = α|00i + β|11i. Wie wir bereits beim CNOT-Schaltkreis argumentiert haben, ist dieser Zustand verschieden von dem zuerst erhaltenen, falls |ψi nicht gerade bis auf einen Phasenvorfaktor mit einem Basiszustand übereinstimmt. Damit haben wir einen Widerspruch und somit existiert kein Quantenbaustein mit den geforderten Eigenschaften. Der Widerspruch ergibt sich hier sogar ohne Voraussetzung der Unitarität von U nur aus der Linearität. Man kann sich noch überlegen, dass in dieser Konstruktion |0i und |1i auch noch durch zwei beliebige andere orthogonale Zustände ersetzt werden können. Jeder Kopierbaustein auf zwei Qubits kann also bestenfalls zwei orthogonale Zustände kopieren, bei jedem weiteren, von diesen beiden verschiedenen Zustand geht das Kopieren schief. Es gibt verschiedene verschärfte Versionen des hier diskutierten No-Cloning-Theorems. Unter anderem kann man auch Kopierschaltkreise ausschließen, die auf eine beliebige Anzahl von Hilfsqubits als Zusatzspeicher zugreifen können und diese auch modifizieren dürfen (siehe dazu das Buch von Ballentine). Zwei weitere Quantenbausteine Gesteuerter U-Baustein. Sei U eine beliebige unitäre 2 × 2-Matrix. In Analogie zum CNOTBaustein definieren wir einen Baustein, den wir gesteuerten U -Baustein nennen. Der Baustein hat je zwei Ein- und Ausgänge (Abbildung 1.8 rechts). Wie bei CNOT heißt der erste Eingang Steuerqubit und der andere Zielqubit. Der Baustein funktioniert so: Falls das Steuerqubit |0i ist, bleibt das Zielqubit unverändert. Falls das Steuerqubit |1i ist, wird U auf das Zielqubit angewendet. Sei u 11 u 12 U = . u 21 u 22 26 Dann berechnet der gesteuerte U -Baustein folgende Transformation für beliebige x ∈ {0, 1}: |0, xi 7 → |0, xi ( u 11 |10i + u 21 |11i, für x = 0; |1, xi 7 → |1i ⊗ (U |xi) = u 12 |10i + u 22 |11i, für x = 1. Die zugehörige Matrix ist in Abbildung 1.8 links angegeben. Der CNOT-Baustein ist der Spezialfall dieser Konstruktion für U = X (X wie im Abschnitt Ein-Qubit-Bausteine“ de” finiert). |00i |01i |10i |11i |00i |10i |01i 1 1 U |11i U Abbildung 1.8: Gesteuerter U -Baustein. Messungen. Wir führen noch einen Baustein ein, der die bereits in Abschnitt 1.2 beschriebenen Messungen realisiert (siehe Abbildung 1.9). Angewendet auf den Zustand |ψi = α|0i + β|1i für ein einzelnes Qubit am Eingang liefert dieser Baustein an seinem Ausgang ein zufälliges klassisches Bit B, das mit Wahrscheinlichkeit |α|2 den Wert 0 hat und mit Wahrscheinlichkeit |β|2 den Wert 1 (formal ist dies also eine Zufallsvariable). Wir erlauben in Quantenschaltkreisen auch Leitungen, die klassische Bits weiterleiten, und stellen diese durch doppelte Linien dar. |ψi B Abbildung 1.9: Messungen. Beispiel 1: Erzeugung von Bell-Zuständen √ Wir haben bereits in Abschnitt 1.2 den Zustand (|00i + |11i)/ 2 kennen gelernt, den wir Bell-Zustand nennen. Ein Zwei-Qubit-Register in einem solchen Zustand heißt EPR-Paar. Wir hatten auch schon die weit reichenden Konsequenzen besprochen, die sich für die Physik aus der experimentellen Beobachtung solcher Zustände ergeben (Stichwort Lokalitätsprinzip). Wir werden uns hier nicht damit beschäftigen, wie man solch einen Zustand in einem Experiment realisieren kann. Stattdessen konstruieren wir einen Quantenschaltkreis für diese Aufgabe. Dieser ist in Bild 1.10 angegeben. 27 H Abbildung 1.10: Quantenschaltkreis zur Erzeugung von Bell-Zuständen. Wenn wir die Eingänge beide mit dem Zustand |0i belegen, führt der Schaltkreis folgende Transformation durch: 1 1 H ⊗I |0i ⊗ |0i = |00i 7 −→ √ |0i + |1i ⊗ |0i = √ |00i + |10i 2 2 CNOT 1 7 −→ √ |00i + |11i =: |β00 i. 2 Wir erinnern uns, dass wir den verschränkten Zustand |β00 i nicht als Tensorprodukt von EinQubit-Zuständen schreiben können. Der Schaltkreis schafft es nun erstaunlicherweise, aus dem einfachen Produktzustand |00i den merkwürdigen“ verschränkten Zustand |β00 i zu erzeugen. Da der Hadamard-Baustein nur auf ” dem ersten Qubit arbeitet, ist der Gesamtzustand nach dem ersten Schritt im Schaltkreis immer noch ein Produktzustand. Erst der CNOT-Baustein führt zur Verschränkung. Man nennt CNOT aufgrund seiner Fähigkeit, verschränkte Zustände herzustellen, auch einen verschr änkenden Quantenbaustein. Der Schaltkreis erzeugt nun auch für die anderen Belegungen der Eingänge mit Basiszuständen verschränkte Zustände, die wir ebenfalls Bell-Zustände nennen (Zwei-Qubit-Register mit solch einem Zustand heißen auch wieder EPR-Paar). Wir erhalten: 1 1 |01i 7 −→ √ |01i + |11i 7 −→ √ |01i + |10i =: |β01 i, 2 2 1 1 |10i 7 −→ √ |00i − |10i 7 −→ √ |00i − |11i =: |β10 i, 2 2 1 1 |11i 7 −→ √ |01i − |11i 7 −→ √ |01i − |10i =: |β11 i. 2 2 und Beispiel 2: Quantenteleportation Wir untersuchen hier einen Quantenschaltkreis, der ein wichtiges und interessantes Problem löst. Wir nutzen dabei die Möglichkeiten, die uns die Quantenmechanik bietet, zur Informationsübertragung. Wir betrachten folgendes Problem. Alice und Bob führen in ihren weit entfernt voneinander liegenden Laboren Experimente mit Qubits durch. Alice besitzt ein Qubit in einem ihr unbekannten Zustand |ψi, den sie Bob mitteilen möchte. Alices Qubit könnte z. B. durch ein einzelnes Photon realisiert sein, das in einer bestimmten Richtung polarisiert ist. Die Basiszustände 28 |0i und |1i sollen dann horizontale bzw. vertikale Polarisierung darstellen. Falls Alice und Bob nur klassische Ausrüstung, z. B. eine Telefonleitung, zur Verfügung haben, ist eine exakte Übermittlung eines beliebigen Zustandes offensichtlich schon deshalb unmöglich, weil der Zustand Werte aus einem überabzählbaren Universum annehmen kann. Wir erlauben nun Alice und Bob, zusätzlich zu der klassischen Telefonleitung ein EPR-Paar zu benutzen. Wir stellen uns folgendes Szenario vor. Als die beiden sich irgendwann in der Vergangenheit getroffen √ haben, haben sie vorsorglich gemeinsam zwei Qubits im Bell-Zustand |β00 i = (|00i + |11i)/ 2 präpariert. Diese zwei Qubits seien wieder durch Photonen realisiert. Alice und Bob haben danach die beiden Qubits (Photonen) voneinander getrennt und jeder hat eins davon erhalten. Nach erfolgreicher Durchführung dieser Vorbereitung sind die beiden ihrer Wege gegangen, wobei sie ihren jeweiligen Teil des EPR-Paares mitgenommen und in ihrem jeweiligen Labor sicher aufbewahrt haben. Wie kann Alice und nun das EPR-Paar benutzen, um Bob den unbekannten Zustand |ψi mitzuteilen? Grob erklärt funktioniert der Algorithmus so: Alice wendet einen Zwei-Qubit-Quantenschaltkreis auf den unbekannten Zustand |ψi und ihren Teil des EPR-Paares an. Sie misst den sich ergebenden Zwei-Qubit-Zustand und teilt das Ergebnis, einen Wert aus {0, 1} 2 , Bob über die klassische Telefonleitung mit. Bob wendet dann, je nach dem von Alice erhaltenen Wert, einen von vier Ein-Qubit-Quantenschaltkreisen auf seinen Teil des EPR-Paares an. Wir behaupten, dass er auf diese Weise |ψi rekonstruieren kann! Das genaue Vorgehen ist durch den Quantenschaltkreis in Abbildung 1.11 auf Seite 30 beschrieben. Wir überzeugen uns nun durch Nachrechnen, dass der Schaltkreis wie gewünscht funktioniert. Sei |ψi = α|0i + β|1i der unbekannte, zu übermittelnde Zustand. Dann erhalten wir folgende Zustände |ψ0 i, |ψ1 i und |ψ2 i an den eingezeichneten Stellen auf den Leitungen in Alices Schaltkreis. 1 |ψ0 i = |ψi|β00 i = √ α|0i + β|1i |00i + |11i 2 1 = √ α|0i |00i + |11i + β|1i |00i + |11i , 2 1 |ψ1 i = √ α|0i |00i + |11i + β|1i |10i + |01i , und 2 1 |ψ2 i = α |0i + |1i |00i + |11i + β |0i − |1i |10i + |01i . 2 Ausmultiplizieren und Neugruppieren der Terme liefert: 1 |00i α|0i + β|1i + |01i α|1i + β|0i + |10i α|0i − β|1i + |11i α|1i − β|0i |ψ2 i = 2 Als nächstes misst Alice diesen Zwei-Qubit-Zustand bez. der Standardbasis (dies wird durch die beiden Messgerät-Symbole“ in der Abbildung dargestellt). Wir erinnern an Abschnitt 1.2, ” wo beschrieben wurde, wie Messungen von Teilqubits funktionieren. Die Wahrscheinlichkeit, dass Alice eines der vier möglichen Ergebnis (M1 , M2 ) ∈ {0, 1}2 erhält, ergibt sich durch 29 |ψi |β00 i Alice M1 H Bob M2 X M2 |ψ0 i |ψ1 i |ψ2 i Z M1 |ψ3 i Abbildung 1.11: Quantenschaltkreis für Quantenteleportation. Aufsummieren der Betragsquadrate der Amplituden aller Basiszustände |x 1 , x 2 , x 3 i im obigen Zustand mit (x 1 , x 2 ) = (M1 , M2 ). Damit erhält sich offenbar jeden der vier möglichen Werte mit Wahrscheinlichkeit je 1/4 (berücksichtige, dass |α|2 + |β|2 = 1). Für den Zustand |ψ3 i von Bobs Hälfte des EPR-Paares ergeben sich nun vier verschiedene Möglichkeiten, nach dem Alice ihre Messung durchgeführt hat. Sei |ψ 3 (M)i für M = (M1 , M2 ) ∈ {0, 1}2 der zum Messergebnis M gehörige Zustand. Dann haben wir: |ψ3 (00)i |ψ3 (01)i |ψ3 (10)i |ψ3 (11)i = = = = α|0i + β|1i, α|1i + β|0i, α|0i − β|1i, α|1i − β|0i. und In allen vier Fällen kann Bob nun leicht den Zustand |ψi aus |ψ3 (M)i gewinnen, in dem er eine passende Nachbehandlung durchführt. 1. Fall, |ψ3 (00)i: Nichts zu tun. 2. Fall, |ψ3 (01)i: Wende X = 01 10 an: X |ψ3 (01)i = α|1i + β|0i 7 −→ α|0i + β|1i. 0 3. Fall, |ψ3 (10)i: Wende Z = 10 −1 an: Z |ψ3 (10)i = α|0i − β|1i 7 −→ α|0i + β|1i. 4. Fall, |ψ3 (11)i: Wende erst X , dann Z an: X Z |ψ3 (11)i = α|1i − β|0i 7 −→ α|0i − β|1i 7 −→ α|0i + β|1i. Diese Nachbehandlung ist in Bobs Schaltkreis in Abbildung 1.11 in Form von Bausteinen dargestellt, die durch klassische Bits gesteuert werden. Bob kennt den Zustand |ψ 3 (M)i nicht, kann aber trotzdem die richtige Nachbehandlung durchführen, weil er über den durch Alice übermittelten Wert M verfügt. 30 Wir haben mit diesem Quantenschaltkreis also gezeigt, dass zwei klassische Bits Kommunikation und ein EPR-Paar zusammen ausreichend sind, um einen beliebigen Zustand eines Qubits zu übermitteln. Das EPR-Paar wird dazu benutzt, den Zustand des Qubits über eine im Prinzip beliebige Entfernung zu teleportieren“, daher der (etwas reißerische) Name des Schaltkreises. ” Obwohl es auf den ersten Blick so aussieht, kann man damit keine Informationsübermittlung mit Überlichtgeschwindigkeit erreichen. Dies liegt daran, dass das Verfahren ausnutzt, dass Alice ihr Messergebnis auf klassischem Wege an Bob schickt. Wir werden uns später genauer klarmachen, warum dies essenziell ist und das Verfahren ansonsten prinzipiell nicht mehr funktionieren kann. Hinweis 1: Unsere intuitive Sichtweise von Messungen, die wir bisher benutzt haben, stößt bei diesem Beispiel an ihre Grenzen. Eine Analyse dessen, was bei Alices Messung wirklich passiert und warum auf scheinbar magische Weise“ Bobs Teil des EPR-Paares dadurch festgelegt ” wird, ist eigentlich erst möglich, wenn wir mächtigere Werkzeuge zur Verfügung haben, mit denen auch Wahrscheinlichkeitsverteilungen über Zuständen beschrieben werden können. Diese lernen wir in Kapitel 2 kennen. Hinweis 2: Quantenteleportation wurde bereits in Experimenten über Entfernungen in der Größenordnung von einigen Kilometern (2003) realisiert. Übungsaufgabe: Überlege dir, dass der Teilschaltkreis von Alice in Abbildung 1.11 auch als eine Messung bez. der Basis der Bell-Zustände, also |β00 i, |β01 i, |β10 i, |β11 i, aufgefasst werden kann. Untersuche dazu den Zusammenhang zwischen diesem Schaltkreis und dem in Beispiel 1 vorgestellten. 1.5. Simulation von klassischen Schaltkreisen durch Quantenschaltkreise Angesichts der Einschränkung von Quantenschaltkreisen durch die geforderte Unitarität ist es nicht ohne weiteres klar, dass man alle klassisch berechenbaren Funktionen auch mit Quantenschaltkreisen berechnen kann. Wir wollen uns hier überlegen, dass man klassischen Schaltkreise sogar sehr effizient durch Quantenschaltkreise simulieren kann. Der in Abschnitt 1.3 behandelte NOT-Baustein ist ein Beispiel für einen einfachen klassischen Schaltkreis, der sich direkt durch einen Quantenschaltkreis simulieren lässt. Was ist das Besondere bei dieser Konstruktion? Wir erinnern uns, dass wir für diesen Baustein nur die zugehörige Funktion linear fortsetzen mussten. Die entstandene lineare Abbildung stellte sich dann als unitär heraus. Allgemein funktioniert dieses Vorgehen bei jeder Funktion f : {0, 1} n → {0, 1}n , die invertierbar (bijektiv) ist. Da es 2n mögliche Werte im Definitions- und Bildbereich gibt, ist die Funktion f dann sogar eine Permutation. Wenn wir f zu einer linearen Abbildung 2n → 2n fortsetzen, ist die zugehörige Matrix U bezüglich der Standardbasis eine Perf mutationsmatrix und damit unitär. 31 Natürlich sind nicht alle von klassischen Schaltkreisen berechneten Funktionen Permutationen. Wir hatten bereits in Abschnitt 1.3 bemerkt, dass die obige Konstruktion bei den klassischen Bausteinen ∧, ∨, ⊕, NAND usw. nicht funktioniert. Diese Bausteine berechnen nicht invertierbare Funktionen. In dieser Situation behelfen wir uns mit folgendem Trick, den wir auch schon beim CNOT-Baustein angewendet haben. Allgemein sei eine Funktion f : {0, 1}n → {0, 1}m mit 1 ≤ m ≤ n gegeben (der Fall m > n ist nicht interessant, wir können dann die Ausgabe immer durch höchstens n Bits kodieren). Wir definieren die neue Abbildung e f : {0, 1}n+m → {0, 1}n+m für x ∈ {0, 1}n und y ∈ {0, 1}m durch e f (x, y) := (x, y ⊕ f (x)). Dann ist offenbar e f invertierbar, denn e f(e f (x, y)) = (x, y). Wenn wir e f linear fortsetzen, erhalten wir also wieder automatisch eine unitäre Abbildung. Beachte, dass wir durch Festsetzen von y := (0, . . . , 0) aus jedem Schaltkreis für e f insbesondere einen für f erhalten. Wir haben bis jetzt nur beschrieben, wie wir komplette klassische Schaltkreise durch unitäre Abbildungen ersetzen können. Wir wollen aber eigentlich einen Quantenschaltkreis, der aus einzelnen, einfachen Quantenbausteinen aufgebaut ist. Wie können wir so etwas konstruieren, ohne wesentlich mehr Bausteine zu verwenden als im klassischen Fall? Wir können das Problem sicherlich dann lösen, wenn wir jeden klassischen Schaltkreis, der eine invertierbare Funktion berechnet, aus einfachen klassischen Bausteinen zusammensetzen können, die ihrerseits wieder invertierbare Funktionen berechnen. Glücklicherweise wurde dieses Problem bereits vor längerer Zeit in einem anderen Zusammenhang gelöst. In diesem Zusammenhang nennt man (aus historischen Gründen) Bausteine, die invertierbare Funktionen berechnen, reversibel. Ein Schaltkreis heißt reversibel, wenn er aus lauter reversiblen Bausteinen besteht. Die ursprüngliche, schon in den 20er Jahren (!) des letzten Jahrhunderts aufgekommene Fragestellung war, wieviel Energie Rechenoperationen mindestens verbrauchen müssen. Aufgrund eines Satzes von Landauer (1961) gilt, dass jede Operation, die zur Löschung eines Bits an Information führt, mindestens eine Energie von k B T ln 2 verbraucht, wobei T die Temperatur ist, bei der der betrachtete Rechner arbeitet, und k B ≈ 1, 38 · 10−23 J/K die so genannte boltzmannsche Konstante. Da bei einem reversiblen Baustein (d. h. bei einem, der eine invertierbare Funktion berechnet) die Werte an den Eingängen aus den Werten an den Ausgängen rekonstruiert werden können, löscht ein solcher Baustein gar keine Information und kann rein theoretisch so realisiert werden, dass er keine Energie verbraucht. Bennett hat nun 1973 gezeigt, dass beliebige Schaltkreise, die invertierbare Funktionen berechnen, durch nur unwesentlich größere reversible Schaltkreise simuliert werden können. Damit kann man (erstaunlicherweise!?) theoretisch Rechner bauen, die verlustfrei arbeiten. Die von realen Rechnern verbrauchte Energie ist allerdings von der unteren Schranke von Landauer noch um Größenordnungen entfernt (Nielsen und Chuang (2000): Faktor 500). Bennetts Simulation löst aber auf jeden Fall unser Problem der Simulation von klassischen Schaltkreisen durch Quantenschaltkreise. Wir brauchen nur die einzelnen reversiblen Bausteine in dem erhaltenen reversiblen Schaltkreis durch entsprechende Quantenbausteine zu ersetzen. Wir beschreiben im Folgenden die einfache Simulation von Bennett. 32 Wir starten mit einem klassischen Schaltkreis für eine beliebige Funktion f : {0, 1} n → {0, 1}m , wobei 1 ≤ m ≤ n. Wir konstruieren einen reversiblen Schaltkreis für die Funktion e f (x, y) = (x, y ⊕ f (x)). Wir verwenden für reversible Schaltkreise eine Notation analog zu den Quantenschaltkreisen. Der einzige verwendete Grundbaustein wird Toffoli-Baustein genannt. Das Schaltkreissymbol für diesen Baustein inklusive der Wirkung auf beliebige Eingaben x, y, z ∈ {0, 1} sieht so aus: x x y y z z ⊕ xy Da {NAND} ein universeller Bausteinsatz für klassische Schaltkreise ist, können wir annehmen, dass der gegebene Schaltkreis nur aus NAND-Bausteinen besteht. Außerdem stellen wir noch sicher, dass jeder Baustein Fanout höchstens zwei hat, wodurch die Schaltkreisgröße höchstens um einen konstanten Faktor wächst (siehe Vorlesung RECHNERSTRUKTUREN oder z. B. The Complexity of Boolean Functions, Wegener (1987), S. 10ff). Wir ersetzen Schritt für Schritt per DFS in Bottom-Up-Reihenfolge die Bausteine des gegebenen Schaltkreises durch Toffoli-Bausteine wie folgt. • NAND-Bausteine: Diese werden durch Toffoli-Bausteine mit z = 1 simuliert (siehe Abbildung 1.12 links). • Fanout: Zur Simulation einer Aufsplittung einer Leitung in zwei Leitungen benutzen wir eine Idee, die wir bereits im Abschnitt Kopieren von Qubits“ beschrieben haben (mit dem ” Unterschied, dass wir hier nur klassische Bits kopieren wollen und keine Qubits). Wir setzen im Toffoli-Baustein y = 1 und z = 0 und erhalten das klassische Äquivalent eines CNOTBausteins (Abbildung 1.12 rechts). x x x x y y 1 1 1 xy 0 x NAND Fanout Abbildung 1.12: Reversible Simulation von elementaren Bausteinen. Für jeden einzelnen Baustein reservieren wir eine Hilfsleitung zum Abspeichern seines Ergebnisses und eventuell (im Falle von Fanout-Bausteinen) eine zusätzliche Hilfsleitung. Beachte, dass wir uns hier um Leitungsüberkreuzungen nicht zu kümmern brauchen. Schließlich berechnen wir y ⊕ f (x) auf m weiteren Leitungen, um die Funktion e f zu realisieren. Dies geschieht analog zur Konstruktion des Fanout-Bausteins. Eine Beispiel-Simulation ist in Abbildung 1.13 zu sehen. 33 x1 x2 1 x3 f 1 (x 1 , x 2 , x 3 ) = x 1 ∨ x 2 f 1 (x 1 , x 2 , x 3 ) = x 2 ∨ x 3 x1 x2 x3 1 1 1 0 1 1 1 1 y1 y2 x1 x2 x3 1 x2 1 x2 x1 ∨ x2 x2 ∨ x3 1 1 y1 ⊕ (x 1 ∨ x 2 ) y2 ⊕ (x 2 ∨ x 3 ) Abbildung 1.13: Simulation eines Beispiel-Schaltkreises. Allgemein liefert die Simulation einen reversiblen Schaltkreis der folgenden Form: x∈ {0, 1}n c∈ {0, 1}k y∈ {0, 1}m .. . .. . .. . C .. . .. . .. . x g(x, c) y ⊕ f (x) Dieser Schaltkreis hat noch einen Schönheitsfehler. Wir benutzen neben den Leitungen, die die Eingabe durchleiten und den Leitungen für den Funktionswert noch k mit Konstanten c = (c1 , . . . , ck ) ∈ {0, 1}k initialisierte Hilfsleitungen, die am Ende der Rechnung mit Müll“ ” g(x, c) belegt sind. Für die spätere Anwendung in Quantenschaltkreisen ist es besonders lästig, dass dieser Müll auch noch von der Eingabe abhängen kann. Wir können nicht ohne die Hilfsleitungen auskommen, aber immerhin sicherstellen, dass diese am Ende der Rechnung wieder mit ihren Anfangswerten belegt sind. Der entsprechende Trick wird Uncomputing genannt. Dazu konstruieren wir zunächst einen reversiblen Schaltkreis C 0 , der die Berechnung des erhaltenen reversiblen Schaltkreises C rückgängig macht, indem wir alle Bausteine in C in umgekehrter Reihenfolge anwenden. Wir entfernen nun aus C 0 noch die Bausteine, die die einzelnen Bits von y ⊕ f (x) berechnen. Dann berechnet die Hintereinanderausführung von C und dem modifizierten Schaltkreis C 0 die gewünschten Funktionswert und restauriert auf den Hilfsleitungen die ursprünglichen Eingabewerte. (Siehe Fortsetzung des Beispiels von oben in Abbildung 1.14.) 34 x1 x2 x3 1 1 1 0 1 1 1 1 y1 y2 x1 x2 x3 1 1 1 0 1 1 1 1 y1 ⊕ (x 1 ∨ x 2 ) y2 ⊕ (x 2 ∨ x 3 ) Abbildung 1.14: Simulation eines Beispiel-Schaltkreises (Fortsetzung). Für einen NAND-Schaltkreis der Größe S, in dem jeder Baustein Fanout 2 höchstens zwei hat, erhalten wir mit dieser Konstruktion offensichtlich einen reversiblen Schaltkreis mit je O(S) Bausteinen und Hilfsleitungen. Aufgrund unserer Vorbemerkungen können wir die angegebene Konstruktion auch direkt auf Quantenschaltkreise übertragen. Durch lineare Fortsetzung des Toffoli-Bausteins erhalten wir einen Quantenbaustein, der ebenfalls wieder Toffoli-Baustein genannt wird und für den wir dasselbe Symbol wie oben für reversible Schaltkreise verwenden. Anstatt Hilfsleitungen verwenden wir bei Quantenschaltkreisen auch die Bezeichnung Hilfsqubits (engl. auxiliary qubits oder ancillae). Wir haben insgesamt folgendes Ergebnis bewiesen: Satz: Zu jedem klassischen (nicht notwendig reversiblen) Schaltkreis f ür eine Funktion f : {0, 1}n → {0, 1}m mit 1 ≤ m ≤ n der Größe S kann man einen Quantenschaltkreis aus lauter Toffoli-Bausteinen mit je O(S) Bausteinen und Hilfsqubits konstruieren, der eine unit äre Transformation U f realisiert, so dass für geeignetes k und c ∈ {0, 1}k und alle x ∈ {0, 1}n und y ∈ {0, 1}m gilt: U f |xi|ci|yi = |xi|ci|y ⊕ f (x)i. Konvention: Lasse Hilfsleitungen im Folgenden der Übersichtlichkeit halber weg. 1.6. Quantenalgorithmen In diesem Abschnitt beschreiben wir einen einfachen Quantenalgorithmus, der einen ersten Eindruck davon vermittelt, warum Quantenrechner schneller sein können als klassische Rechner. Quantenparallelismus Unter diesem Schlagwort wird allgemein der Effekt zusammengefasst, der unserem Algorithmus zu Grunde liegt. Ob der Begriff das Richtige suggeriert, mag die Leserin oder der Leser am Ende für sich selbst entscheiden. 35 Als Vorüberlegung untersuchen wir zunächst, was passiert, wenn wir Hadamard-Transformationen auf n Qubits parallel ausführen (siehe Schaltkreis in Abbildung 1.15). 1 2 n H H .. . H Abbildung 1.15: Parallele H -Bausteine. Die von diesem Schaltkreis realisierte unitäre Transformation ist · · ⊗ H} |H ⊗ ·{z n-mal und wird von uns mit H ⊗n bezeichnet. Alternativ gilt folgende rekursive Charakterisierung: H ⊗1 H ⊗n 1 1 1 = H = √ ; 2 1 −1 = H ⊗(n−1) ⊗ H, für n ≥ 2. Eine Auswertung auf |0i⊗n := |0, . . . , 0i = |0i ⊗ · · · ⊗ |0i (n-mal) ergibt zum Beispiel folgenden Zustand: |0i + |1i 1 X |0i + |1i ⊗n ⊗n |xi. √ √ ··· = √ H |0i = (H |0i) ⊗ · · · ⊗ (H |0i) = 2 2 2n x∈{0,1}n Allgemein gilt: Proposition: Für alle x ∈ {0, 1}n ist 1 X H ⊗n |xi = √ (−1)hx,zi |zi, n 2 z∈{0,1}n wobei hx, zi = x 1 z 1 + · · · + x n z n das Skalarprodukt im n ist. Beweis: Mit vollständiger Induktion. n = 1: Für x 1 ∈ {0, 1} ist H |x 1 i = √1 2 (|0i + (−1)x1 |1i) = 36 √1 2 P z 1 ∈{0,1} (−1) x1 z 1 |z 1 i. n > 1: Sei x = (x 1 , . . . , x n−1 , x n ) ∈ {0, 1}n . Dann gilt H ⊗n |xi = H ⊗(n−1) |x 1 , . . . , x n−1 i ⊗ H |x n i X 1 1 X xn z n x1 z 1 +···+xn−1 z n−1 0 (−1) |z n i = √ (−1) |z i ⊗ √ 2 z ∈{0,1} 2n−1 z 0 = (z ,...,z ) n 1 n−1 ∈{0,1}n−1 X 1 = √ (−1)hx,zi |zi. n 2 z = (z ,...,z ) n 1 ∈{0,1}n Sei nun eine beliebige Funktion f : {0, 1}n → {0, 1} gegeben. Nach dem letzten Abschnitt können wir für diese Funktion einen Quantenschaltkreis U f konstruieren mit den dort beschriebenen Eigenschaften. Wir studieren den folgenden, damit aufgebauten Quantenschaltkreis. |0i⊗n n n H ⊗n n x x Uf |0i y y ⊕ f (x) Was ist die Semantik dieses Schaltkreises? Nachrechnen ergibt: |0i ⊗n H ⊗n ⊗I ⊗ |0i 7 −→ Uf 7 −→ X X 1 |xi ⊗ |0i = √ |x, 0i n 2 n n x∈{0,1} x∈{0,1} X X 1 1 √ U f |x, 0i = √ |x, f (x)i =: |ψi. n 2 x∈{0,1}n 2n x∈{0,1}n 1 √ 2n Dieser bemerkenswerte Zustand |ψi enthält“ alle 2n verschiedenen Funktionswerte von f auf ” ” einmal“. Erstaunlicherweise schaffen wir es durch nur eine Auswertung des Schaltkreises für f , diese Überlagerung herzustellen. Allerdings nutzt uns dies auf den zweiten Blick leider gar nicht so viel, wie man vermuten könnte: Nach einer Messung liegt ja nur noch ein Zustand |x, f (x)i für ein zufällig gemäß Gleichverteilung gewähltes x ∈ {0, 1}n vor. Wir müssen trickreicher vorgehen, wenn wir die besonderen Eigenschaften des Zustandes |ψi nutzen wollen. 37 Der Deutsch-Jozsa-Algorithmus Wir wollen hier folgendes Problem lösen. Problem: Eingabe: Gegeben ist ein Quantenschaltkreis U f für eine Funktion f : {0, 1}n → {0, 1}, wobei f entweder • konstant ist, d. h., f = 0 oder f = 1; oder • balanciert ist, d. h. | f −1 (0)| = | f −1 (1)|. Frage: Ist f konstant oder balanciert? Formal handelt es sich hierbei um ein so genanntes Promise-Problem: Das Problem ist nur definiert, falls das Versprechen“ bezüglich der Eingabe erfüllt ist; ansonsten darf eine beliebige ” Antwort gegeben werden. Man nennt U f in diesem Zusammenhang auch Orakel oder Blackbox (dabei ist die Vorstellung, dass wir nicht wissen, wie U f aufgebaut ist). Wir verwenden nun den Quantenschaltkreis in Abbildung 1.16, der die Idee aus dem letzten Abschnitt aufgreift. Der zugehörige Algorithmus heißt nach den Erfindern Deutsch-JozsaAlgorithmus (Deutsch (1985) und Deutsch und Jozsa (1992)). |0i⊗n |1i n H ⊗n n n x x H ⊗n n Uf H y y ⊕ f (x) Abbildung 1.16: Schaltkreis für den Deutsch-Jozsa-Algorithmus. Wieder berechnen wir die Transformation dieses Schaltkreises, analog zu dem letzten Abschnitt und mit unserem Vorwissen von dort. X X 1 |0i − |1i 1 |0i − |1i H ⊗n ⊗H ⊗n |0i ⊗ |1i 7 −→ √ |xi ⊗ √ = √ |xi √ 2n x∈{0,1}n 2 2n x∈{0,1}n 2 X Uf 1 |0i − |1i 7 −→ √ (−1) f (x) |xi √ n 2 x∈{0,1}n 2 X X 1 1 |0i − |1i H ⊗n ⊗I f (x) hx,zi 7 −→ √ √ √ (−1) (−1) |zi 2n x∈{0,1}n 2n z∈{0,1}n 2 X (−1) f (x)+hx,zi |0i − |1i = √ =: |ψi. |zi ⊗ n 2 2 x,z∈{0,1}n 38 Wir überlegen uns nun, was die Messung der obersten n Leitungen im Quantenschaltkreis wie in der Abbildung gezeigt ergibt. Die Wahrscheinlichkeit p z für ein Messergebnisses z ∈ {0, 1}n erhalten wir durch Aufsummieren der Betragsquadrate der Amplituden aller Basiszustände im Zustand |ψi, die zu diesem Ergebnis konsistent sind (siehe Abschnitt 1.2). Damit ergibt sich und speziell für z = (0, . . . , 0): 2 f (x)+hx,zi X (−1) pz = 2n x∈{0,1}n p(0,...,0) 2 X (−1) f (x) . = n 2 x∈{0,1}n Wir betrachten nun die Situation für konstantes und balanciertes f getrennt: • f konstant: Sowohl für f = 0 als auch für f = 1 ist offenbar p(0,...,0) = 1. Eine Messung der ersten n Leitungen wie im Schaltkreis eingebaut liefert also immer das Ergebnis (0, . . . , 0). • f balanciert: Die negativen und positiven Terme in p(0,...,0) heben sich hier gerade auf und es ist p(0,...,0) = 0. Daher liefert die Messung hier immer einen Vektor z ∈ {0, 1}n mit z 6 = (0, . . . , 0). Damit kann der gezeigte Quantenschaltkreis zwischen konstanten und balancierten Funktion f unterscheiden. Das Ergebnis ist immer korrekt, und wir benötigen erstaunlicherweise nur eine Auswertung des Orakels. Wie kann man das Problem klassisch lösen? Ein klassischer Algorithmus, der nur Auswertungen des Schaltkreises von f benutzen darf, kann das Problem offenbar mit 2 n /2+1 Auswertungen lösen. Diese Anzahl wird aber auch im worst case benötigt, denn nach 2 n /2 Auswertungen sind noch beide Ausgaben für das Problem möglich. Wir haben also eine exponentielle Beschleunigung von Quantenalgorithmen im Vergleich zu klassischen Algorithmen, wobei dieses Ergebnis aber im Rahmen des betrachteten Szenarios zu sehen ist: • Wir haben hier nur spezielle Algorithmen betrachtet, nämlich solche, die ihre einzigen Informationen über f mit Hilfe von Auswertungen des gegebenen Schaltkreises bekommen. Naheliegenderweise heißen solche Algorithmen Blackbox-Algorithmen. Da wir uns auch für die untere Schranke im klassischen Fall auf Blackbox-Algorithmen eingeschränkt haben, ist nicht bewiesen, dass es nicht andere, allgemeinere Algorithmen gibt, die das Problem schneller lösen, indem sie in den Schaltkreis für f hineinsehen“. ” • Zufall hilft bei diesem Problem: Ein randomisierter Algorithmus erreicht schon mit nur zwei Auswertungen auf zufälligen Eingaben einen einseitigen Fehler von höchstens 1/2. Da es keinen Grund gibt, uns nur auf deterministische Algorithmen zu beschränken, ist dies ein gewichtiger Einwand. 39 Komplexitätstheorie für Quantenrechner Am Ende dieses Kapitels diskutieren wir kurz, wie die Komplexität von Quantenalgorithmen in den allgemeinen Kontext der Komplexitätstheorie eingebettet ist. Wir betrachten hier mit den Quantenschaltkreisen ein so genanntes nichtuniformes Berechnungsmodell. Das heißt, wir erlauben uns, für jede Eingabelänge des untersuchten Problems einen eigenen Schaltkreis zu entwerfen. Formal gesprochen realisieren wir eine Folge von booleschen Funktionen f n : {0, 1}n → {0, 1} mit n ∈ durch eine Folge von Quantenschaltkreisen C n , wobei C n auf n Eingaben operiert. Das betrachtete Komplexitätsmaß ist für uns die Größe der Quantenschaltkreise, worunter wir die Anzahl der hintereinander auszuführenden Quantenbausteine verstehen. Der Leserin bzw. dem Leser vertrauter sind vermutlich uniforme Berechnungsmodelle, wie z. B. Turing-Maschinen. Wie schon in Abschnitt 1.1 erwähnt, gibt es eine entsprechende quanten” mechanische Variante“, die Quanten-Turing-Maschine, mit der man auch ein uniformes Quantenrechnermodell zur Verfügung hat. Wir verzichten hier darauf, dieses Modell vorzustellen. Einfacher ist es, eine uniforme Variante von Quantenschaltkreisen zu betrachten. Bei einem (klassischen) uniformen Schaltkreis wird verlangt, dass es einen Algorithmus gibt, der aus der unär kodierten Eingabelänge n in Polynomialzeit eine Beschreibung des Schaltkreises C n erzeugt. Analog kann man uniforme Quantenschaltkreise definieren. Es bleibt dabei allerdings noch zu klären, welche Bausteinsätze man verwendet, was wir hier nicht diskutieren wollen. In der Vorlesung KOMPLEXITÄTSTHEORIE wird der Zusammenhang zwischen uniformen und nichtuniformen Berechnungsmodellen genauer untersucht. Es stellt sich heraus, dass im klassischen Fall die Größe von uniformen Schaltkreisen polynomiell verknüpft ist mit der Rechenzeit von Turing-Maschinen. Ein analoges Ergebnis gilt für Quantenschaltkreise, wenn man Algorithmen mit beschränktem Fehler betrachtet. (Ein Quantenschaltkreis berechnet f : {0, 1}n → {0, 1} mit beschränktem Fehler, wenn es eine Ausgangsleitung gibt, deren Messung einen Wert liefert, der mit dem Wert von f mit hoher Wahrscheinlichkeit übereinstimmt, z. B. mindestens 3/4.) Damit ist gerechtfertigt, warum wir Quantenschaltkreise polynomieller Größe auch als Polynomialzeit-Quantenalgorithmen ansehen. Man kann auch, wie in der klassischen Komplexitätstheorie, entsprechende Komplexitätsklassen für Quantenrechner definieren. Die aus praktischen Gründen wichtigste Klasse ist die der in Polynomialzeit von Quantenalgorithmen mit beschränktem Fehler lösbaren Probleme, die man als BQP bezeichnet (für bounded error quantum polynomial time). Dies ist das Analogon zur Komplexitätsklasse BPP der von klassischen Polynomialzeit-Algorithmen mit beschränktem Fehler lösbaren Probleme, die man in der Vorlesung KOMPLEXITÄTSTHEORIE betrachtet. Man kann nun unter anderem zeigen, dass die Inklusionen BPP ⊆ BQP ⊆ PP gelten, d. h. klassische randomisierte Polynomialzeit-Algorithmen mit beschränktem Fehler können von Polynomialzeit-Quantenalgorithmen mit beschränktem Fehler simuliert werden, und diese wiederum von klassischen randomisierten Algorithmen mit unbeschränktem Fehler. 40 Es ist ein (schweres) offenes Problem, ob diese Inklusionen echt sind. Auch die Beziehung zwischen NP und BQP ist offen, es wird allgemein vermutet, dass NP keine Teilmenge von BQP ist. Anders gesagt: NP-vollständige Probleme sind vermutlich nicht effizient von Quantenalgorithmen lösbar. 41 42 2. Dekohärenz und Messungen So-called quantum paradoxes originate solely from an incorrect ” interpretation of quantum theory.“ – A. Peres Wir haben in Kapitel 1 den mathematischen Formalismus für Quantenschaltkreise behandelt. Dieser Formalismus kann im Prinzip in Form von realen physikalischen Systemen implementiert werden, stellt allerdings in Wirklichkeit nur eine idealisierte Beschreibung solcher Systeme dar. Wir wollen uns in diesem Kapitel der realen Welt etwas mehr annähern. Wir beschreiben ein Phänomen, das für die physikalische Realisierung von Quantenrechnern wichtig ist, nämlich Dekohärenz, und zum anderen diskutieren wir unser bisheriges Modell für Messungen in allgemeinerem Kontext. Zur Vorbereitung führen wir einige einfache Definitionen aus der Quantenmechanik ein. Insbesondere erweitern wir unseren bisherigen Zustandsbegriff. 2.1. Quantenmechanik-Crashkurs Das quantenmechanische Modell der Welt Die Quantenmechanik ist, wie andere physikalische Theorien auch, ein mathematisches Modell der realen Welt. Wir erwarten von solch einer Theorie, dass sie im Rahmen von Versuchen nachprüfbare Vorhersagen liefert. Genauer gesagt ist die Vorgehensweise wie folgt. Die Theorie liefert einen Satz von Korrespondenzregeln zwischen sorgfältig ausgewählten, sehr speziellen Ausschnitten der realen Welt, die wir physikalische Systeme nennen, und einer abstrakten, mathematischen Beschreibung derselben. Wenn wir das gewünschte physikalische System mit Hilfe der Korrespondenzregeln beschrieben haben, können wir auf rein mathematische Weise Aussagen über diese formale Beschreibung ableiten und schließlich das Ergebnis – wieder mit Hilfe der Korrespondenzregeln – auf das reale System zurück transformieren. Bei einer sinnvollen Theorie sollte diese Vorgehensweise Ergebnisse liefern, die in guter Näherung die Ergebnisse von Versuchen vorhersagen. Wir behandeln hier nun in allgemeinerer Form, wie die Quantenmechanik physikalische Systeme auf mathematische Beschreibungen abbildet. Wir klären zunächst einige grundlegende Begriffe. Zur Illustration betrachten wir die in Abbildung 2.1 skizzierte Versuchsanordnung. Bei einer einzelnen Durchführung des Versuchs wird ein Teilchen beschleunigt und auf ein Ziel geschossen. Es prallt von diesem ab und wird von einem der rechts angebrachten Detektoren registriert. Wenn wir den Versuch wiederholen, erhalten wir zwar im Allgemeinen verschiedene Aufprallorte, stellen aber nach und nach eine Häufung an bestimmten Stellen fest. In der Kurve rechts in der Abbildung ist beispielhaft die relative Häufigkeit des Auftreffens von Teilchen in Abhängigkeit vom Ort aufgetragen. 43 Detektoren x N x /N . Ziel x Abbildung 2.1: Beispiel-Versuchsanordnung und Auswertung. Wir haben bereits in der Einleitung gesagt, dass die Quantenmechanik eine statistische Theorie ist. Die Quantenmechanik liefert eine statistischen Beschreibung von Versuchen wie dem obigen. Ziel der Theorie ist nicht die Vorhersage des Ausgangs eines einzelnen Versuchs (wie etwa in der klassischen Mechanik), sondern der relativen Häufigkeiten von Ausgängen. Unser Ziel ist es daher zunächst, physikalische Systeme mit den üblichen Hilfsmitteln aus der Wahrscheinlichkeitstheorie mathematisch zu beschreiben. Wir sehen uns im Folgenden diese Korrespondenz zwischen physikalischen Systemen in der realen Welt und der mathematischen Beschreibung genauer an. Wir beschreiben hier physikalische Größen, wie z. B. den Aufprallort x des Teilchens in unserem Versuch, nicht durch eine reelle Zahl (wie aus der klassischen Physik gewohnt), sondern durch eine Zufallsvariable. Die Quantenmechanik sagt uns dann, wie wir die Wahrscheinlichkeitsverteilung solcher Zufallsvariablen berechnen können. Die Rückübertragung (Interpretation) der Ergebnisse, die die Quantenmechanik liefert, auf die reale Welt basiert auf der üblichen Interpretation des Wahrscheinlichkeitsbegriffs mit Hilfe des Gesetzes der großen Zahl. Es hat sich als sinnvoll herausgestellt, Versuche zur genaueren Beschreibung in zwei Phasen einzuteilen, die Präparation und Messung genannt werden. Mit Präparation meinen wir einen im Prinzip beliebig oft wiederholbaren Algorithmus“, nach dem Einzelsysteme (hier Teilchen) ” einer bestimmten Sorte“ auf genau definierte Weise generiert werden können. In unserem Bei” spiel beinhaltet dies die Beschreibung der Beschleunigung des Teilchens und der Ausrichtung seiner Bahn, sowie der Wahl und Positionierung des Ziels. Bei einer Messung bestimmen wir den Wert einer physikalischen Größe des betrachteten Systems, in unserem Beispiel ist dies die Registrierung des Aufprallortes des Teilchens durch einen der Detektoren. Man beachte, dass Präparation und Messung unabhängig voneinander sind. Wir könnten bei derselben Präparation verschiedene Messungen durchführen und umgekehrt. Auch wenn wir uns das der Einfachheit halber so vorstellen können, kommt es natürlich nicht darauf an, dass Präparation und Messung in einem Labor“ von einem menschlichen Expe” ” rimentator“ durchgeführt werden: natürliche Prozesse können auch so beschrieben werden. Außerdem beruht die Grenzziehung zwischen Präparations- und Messungsphase genauso auf unserer persönlichen Entscheidung wie die Wahl des betrachteten physikalischen Systems. All das hängt davon ab, was wir mit unserem Versuch erfahren wollen. 44 Wir wollen noch genauer diskutieren, was das Ergebnis der Präparationsphase ist. Durch die Präparation soll alles, was wir später über das System in der Messungsphase herausfinden wollen, bereits festgelegt sein. Wir bezeichnen solch eine Festlegung des Systems als seinen Zustand. Mathematisch entspricht dem Zustand ein Satz von Wahrscheinlichkeitsverteilungen für die Zufallsvariablen der physikalischen Größen, die in unserem Versuch gemessen werden – oft ist das nur eine einzige. Für die physikalischen Größen, die (zumindest prinzipiell) Messungen unterzogen werden können, verwenden wir ab jetzt die übliche Bezeichnung Observable. Wir haben bis jetzt Observablen durch Zufallsvariablen und Zustände des Systems durch Wahrscheinlichkeitsverteilungen der Observablen beschrieben. Diese Art der Beschreibung ist aber zu abstrakt, um damit etwas anfangen zu können. Eigentliches Ziel ist es ja, die Wahrscheinlichkeitsverteilungen auch ausrechnen zu können. Die Quantenmechanik charakterisiert daher Observablen und Zustände des Systems durch Elemente aus der linearen Algebra. Wir konkretisieren im Folgenden, wie das funktioniert. Wir beschränken uns hier auf die Behandlung von Systemen, deren Observablen nur endlich viele verschiedene Werte annehmen können, was zum Glück genau die sind, die für die Realisierung von Quantenrechnern am wichtigsten sind. Observablen wie Ort und Impuls, die sogar überabzählbar viele Werte annehmen können, spielen zwar auch eine wichtige Rolle für die Physik, ihre Behandlung erfordert aber erheblich mehr mathematischen Aufwand, was wir uns hier ersparen wollen. Die Abbildung von Elementen aus der realen Welt als mathematische Objekte im Formalismus der Quantenmechanik formulieren wir als Postulate. Damit drücken wir aus, dass es sich um mehr handelt als um eine mathematische Definition, nämlich durch die Verbindung zur realen Welt, andererseits aber auch nicht um beweisbare Aussagen. Postulat 1 (Zustände, Observablen und Messungen): (i) Einem physikalischen System ist ein Hilbertraum H zugeordnet, der Zustandsraum des Systems. Wir beschränken uns hier auf Systeme mit endlich-dimensionalem Zustandsraum, also sei o. B. d. A. H = n für geeignetes n. Ein Zustand des physikalische Systems wird beschrieben durch einen Einheitsvektor aus H , d. h. |ψi ∈ H mit k|ψik = 1. (ii) Eine Observable R des Systems wird beschrieben durch eine ON-Basis |r 1 i, . . . , |rn i von H und eine Folge von reellen Werten r 1 , . . . , rn . Der Einfachheit halber nehmen wir hier an, dass diese Werte alle verschieden sind. (iii) Eine Messung der Observablen R des Systems im Zustand |ψi liefert einen zuf älligen Wert r j , j ∈ {1, . . . , n}, mit folgender Wahrscheinlichkeitsverteilung: Pr |ψi {R = r j } = |hr j | ψi|2 . Die Formel in (iii) wird bornsche Formel für die Wahrscheinlichkeit eines Messergebnisses genannt (nach einer Arbeit von Max Born aus dem Jahr 1926). Um uns das Leben einfacher zu machen, sagen wir im Folgenden, der Zustand eines Systems ist der entsprechende Einheitsvektor aus H , anstelle von Beschreibungen von Zuständen durch ” Einheitsvektoren“ zu reden. 45 Die ON-Basisvektoren |r 1 i, . . . , |rn i, die zu einer Observablen R gehören, nennen wir auch (wie in Kapitel 1) Basiszustände. Für eine Messung der Observablen R im Basiszustand |r k i gilt offenbar ( 1, falls rk = r j ; Pr |rk i {R = r j } = 0, sonst. Wenn wir das Messergebnis als Vorhersage für den Wert der Observablen R auffassen, ist der Wert dieser Observablen fest und unterliegt keinen statistischen Schwankungen. Wir behandeln noch eine abstraktere Variante des obigen Formalismus, die für die meisten Zwecke hier auch ausreichend ist. Wir nennen ein System n-Zustandssystem, wenn sein zugehöriger Zustandsraum H = n ist und beliebige ON-Basen in H mit beliebigen n verschiedenen Werten eine Observable beschreiben. Dies ist genau das Szenario, das wir im Kapitel 1 betrachtet haben, dort war allerdings n immer eine Zweierpotenz. Das, was wir in Kapitel 1 eine Messung bezüglich einer ON-Basis bezeichnet haben, stellt sich also hier als Messung einer geeigneten Observablen heraus. Der obige Formalismus beantwortet einige Fragen noch nicht, auf die wir später eingehen. Insbesondere haben wir noch nicht beschrieben, wie Zustandsveränderungen passieren und wie sich der Zustand nach Messungen ergibt. Allgemeine Zustände In der Quanteninformatik (wie auch im ersten Kapitel dieser Vorlesung) wird üblicherweise nur ein Spezialfall des tatsächlich in der Quantenmechanik zur Verfügung stehenden Zustandsbegriffes verwendet. Da der Name Zustand“ unglücklicherweise bereits für den eingeschränk” teren Begriff vergeben ist, nennen wir den erweiterten Formalismus hier allgemeinen Zustand“. ” Definition: Wir betrachten ein System mit Zustandsraum H = n und einer ON-Basis |1i, . . . , |ni. Seien p1 , . . . , pn ∈ [0, 1] mit p1 + · · · + pn = 1 gegeben. Dann heißt ρ = n X j =1 p j | j ih j | ein allgemeiner Zustand (oder, als Matrixdarstellung, Dichtematrix) des Systems. Satz und Definition: Für einen allgemeinen Zustand ρ tritt immer genau einer der beiden folgenden Fälle ein. (i) Entweder gibt es in jeder Darstellung von ρ wie in obiger Definition, bez üglich einer beliebigen ON-Basis, genau ein j0 mit p j0 = 1 und es gilt p j = 0 für alle j 6 = j0 , dann nennen wir ρ einen reinen Zustand; oder (ii) in jeder Darstellung von ρ wie in obiger Definition, bezüglich einer beliebigen ON-Basis, gilt 0 < p j0 < 1 für mindestens ein j0 , dann nennen wir ρ einen gemischten Zustand. 46 Beweis: Für eine feste ON-Basis ist die Klassifikation in die obigen beiden Fälle offensichtlich. Sei nun n X ρ = p j |a j iha j | j =1 ein allgemeiner Zustand, wobei |a1 i, . . . , |an i eine ON-Basis ist, und sei der unitäre Operator U eine Basistransformation in die ON-Basis |b1 i, . . . , |bn i, d. h. |b j i = U |a j i für j = 1, . . . , n. Dann gilt n n X X † † p j |b j ihb j |. p j U |a j iha j |U = UρU = j =1 j =1 Daraus folgt, dass für ρ und UρU † die gleiche Klassifikation in Fall (i) oder (ii) gilt. Es gilt nun noch folgende, praktisch wichtige Charakterisierung von reinen Zuständen: Satz und Definition: Ein Zustand ρ ist genau dann rein, wenn man ihn in der Form ρ = |ψihψ| für einen Einheitsvektor |ψi schreiben kann. Der Vektor |ψi ist dabei bis auf Phasenvorfaktoren eindeutig bestimmt und heißt Zustandsvektor. Der erste Teil dieser Aussage ist leicht zu sehen, der schwierige Teil ist der Beweis der Eindeutigkeit der Darstellung bis auf Phasenvorfaktoren (hier ohne Beweis, siehe Anhang C). Damit haben wir die Art von Zuständen wieder entdeckt, die wir bisher in Kapitel 1 behandelt haben: wir haben dort reine Zustände in Form ihrer zugehörigen Zustandsvektoren betrachtet. Ein allgemeiner Zustand ρ über dem Hilbertraum H = also schreiben als n X ρ = pjρj, n lässt sich nach dem bisher Gesagten j =1 wobei die ρ j für j = 1, . . . , n reine Zustände sind und p1 , . . . , pn Wahrscheinlichkeiten. Eine Linearkombination dieser speziellen Form wird als Konvexkombination bezeichnet. Üblicherweise wird ein solcher Zustand als statistisches Gemisch“ der reinen Zustände |ψ j ihψ j | ” aufgefasst. Aufgrund der Tatsache, dass sich allgemeine Zustände als Konvexkombination von reinen Zuständen darstellen lassen, kann man viele Betrachtungen für sie auf die Behandlung der einfacheren reinen Zustände zurückführen. Dadurch ist – für die meisten Zwecke jedenfalls – die Beschränkung auf Zustandsvektoren in der Quanteninformatik gerechtfertigt. Postulat 1 lässt sich auf die nahe liegende Weise für allgemeine Zustände formulieren. Es bleibt nur noch, unseren Messungsbegriff für allgemeine Zustände erweitern. Sei R eine Observable mit ON-Basis |r1 i, . . . , |rn i und verschiedenen Werten r 1 , . . . , rn . Dann liefert eine Messung von R im allgemeinen Zustand ρ den Wert r j mit folgender Wahrscheinlichkeit: Prρ {R = r j } = tr |r j ihr j |ρ = hr j |ρ|r j i. Aufgrund der Definition von allgemeinen Zuständen folgt sofort, dass diese Formel tatsächlich eine Wahrscheinlichkeitsverteilung auf den Werten von R festlegt, und man sieht leicht, dass die Formel in Postulat 1(iii) ein Spezialfall der obigen Formel ist. 47 Beispiele: (i) √ Sei |ψi = |0i + |1i / 2. Die zugehörige Dichtematrix ist 1 1 1 1 1 |0i + |1i h0| + h1| = |0ih0| + |0ih1| + |1ih0| + |1ih1| = ρ = 2 2 2 2 2 1/2 1/2 . 1/2 1/2 Eine Messung einer Observablen R mit ON-Basis |0i, |1i und Werten 0, 1 im Zustand |ψi liefert 1 Pr|ψi {R = r } = für r ∈ {0, 1}. 2 (ii) Sei 1 1 ρ = |0ih0| + |1ih1| = 2 2 1 1/2 0 = I. 0 1/2 2 Eine Messung liefert hier das gleiche Ergebnis wie bei (i). Der Zustand ρ ist ein gemischter Zustand, wie man sofort an der Matrixdarstellung sieht. (iii) Betrachte den gemischten Zustand 1 3 ρ = |0ih0| + |1ih1| = 4 4 1/4 0 . 0 3/4 |0i,|1i Zur Verdeutlichung haben wir bei der Matrixdarstellung die Basis mit angegeben. Wir können nun auch andere ON-Basen betrachten (z. B. solche, die andere Observablen beschreiben), etwa |ai := r 1 |0i + 4 r 3 |1i, 4 |bi := r 1 |0i − 4 r 3 |1i. 4 Wie man leicht nachrechnet (Übung), lässt sich ρ damit schreiben als 1 1 ρ = |aiha| + |bihb| = 2 2 1/2 0 . 0 1/2 |ai,|bi Wir sehen an diesem Beispiel, dass die Darstellung eines gemischten Zustands als statisti” sches Gemisch von reinen Zuständen“ nicht eindeutig ist und wir mit dieser Interpretation vorsichtig sein müssen. Zusammengesetzte Systeme Viele in der Realität vorkommende physikalische Systeme lassen sich in mehrere Teilsysteme zerlegen. Wie können wir so etwas im Formalismus der Quantenmechanik abbilden? Da wir hier die Korrespondenz zur realen Welt ins Spiel bringen, brauchen wir ein weiteres Postulat. 48 Postulat 2 (Zusammengesetzte Systeme): Seien A und B Systeme mit Zustandsräumen H A und H B . Dann wird das aus A und B zusammengesetzte System A+B folgendermaßen beschrieben. (i) Der Zustandsraum von A+B ist H A ⊗ H B . (ii) Seien Observablen R und S in A bzw. B gegeben mit ON-Basen |r 1 i, . . . , |rm i bzw. |s1 i, . . . , |sn i und verschiedenen Werten r 1 , . . . , rm bzw. s1 , . . . , sn . Dann ist diesen Observablen in A+B eine Observable R×S zugeordnet mit ON-Basis |r j i⊗|sk i und Werten (r j , sk ), wobei 1 ≤ j ≤ m und 1 ≤ k ≤ n. Wir nennen im Folgenden das aus A und B zusammengesetzte System A+B auch einfach Gesamtsystem und A bzw. B Teilsystem. Die Motivation für dieses Postulat ist nahe liegend. Wenn wir in den Einzelsystemen Basiszustände |r i bzw. |si präparieren können, in denen die Observablen R und S feste Werte r bzw. s haben, sollte das Gesamtsystem einen Zustand haben, in dem beiden Observablen zusammen der feste Wert (r, s) zugeordnet ist. Es muss also in der obigen Situation mindestens m · n Basiszustände im Gesamtsystem geben, und das Tensorprodukt der Zustandsräume liefert gerade diese Anzahl von Zuständen. Die beschriebene Formalisierung von zusammengesetzten Systemen ist mit dieser Argumentation nicht als die einzige Möglichkeit nachgewiesen. Allgemein kann man so einen Nachweis auch nicht führen. Allerdings ist dies in Teilbereichen der Quantenmechanik für spezielle Systeme möglich. In unserer intuitiven Vorstellung des Begriffes Teilsystem ist auch enthalten, dass ein Zustand des gesamten Systems automatisch auch einen Zustand seiner Teilsysteme festlegt (was allerdings nicht notwendig umgekehrt gilt!). Welche Teilzustände gehören zu einem gegebenen Gesamtzustand? Es zeigt sich, dass folgende Definition die Antwort auf diese Frage liefert. Definition (Partielle Spur): Seien A und B Systeme mit Zustandsräumen H A bzw. H B . Seien |a1 i, . . . , |am i und |b1 i, . . . , |bn i ON-Basen von H A bzw. H B . Sei ρ ein allgemeiner Zustand über H A ⊗ H B . Dann definieren wir den Operator ρ A über H A durch ha j |ρ A |ak i = n X `=1 ha j |hb` |ρ|ak i|b` i, j, k = 1, . . . , m. Wir nennen ρ A die partielle Spur von ρ über das Teilsystem B, und benutzen die Bezeichnung tr B (ρ) := ρ A . Analog definieren wir den Operator ρ B über H B durch hb j |ρ B |bk i = m X `=1 ha` |hb j |ρ|a` i|bk i, j, k = 1, . . . , n, und nennen tr A (ρ) := ρ B die partielle Spur von ρ über das Teilsystem A. 49 Bemerkung: Folgende Rechenregeln erleichtern das Ausrechnen der partiellen Spuren. Zunächst liest man aus der Definition leicht ab, dass tr A und tr B lineare Operatoren sind. Außerdem ergibt sich für beliebige Einheitsvektoren |u A i ∈ H A und |v B i ∈ H B : tr B |u A i|v B ihu A |hv B | = |u A ihu A | · tr |v B ihv B | , tr A |u A i|v B ihu A |hv B | = |v B ihv B | · tr |u A ihu A | . Übungsaufgabe: Überzeuge dich, Zustände sind. Hinweis: Nimm P dass ρ A und ρ B allgemeine an, dass P der Gesamtzustand ρ = j,k p j,k |a j i|bk i ha j |hbk | ist mit 0 ≤ p j,k ≤ 1 für alle j, k und j,k p j,k = 1. Wir nennen die Zustände ρ A = tr B (ρ) und ρ B = tr A (ρ) Teilzustände von ρ im System A bzw. B zum Gesamtzustand ρ und interpretieren sie auch so. Warum ist das sinnvoll? Wir betrachten ein Paar von Observablen R und S in den Teilsystemen wie im Postulat 2 beschrieben und die zugehörige Observable R×S im Gesamtsystem. Damit die Definition der partiellen Spur sinnvoll ist, muss sich die Wahrscheinlichkeitsverteilung z. B. für R als Randverteilung der Wahrscheinlichkeitsverteilung von R×S ergeben. Es muss also für j = 1, . . . , m gelten: n X k=1 Prρ {R×S = (r j , sk )} = Prρ A {R = r j }. Wenn diese Forderung für beliebige Observablen R und S erfüllt ist, folgt bereits ρ A = tr B (ρ). Analog erhält man ρ B = tr A (ρ). Der Beweis ist nicht schwer, erfordert aber ein bisschen Rechnerei und wird daher nur in Anhang C gegeben. Außerdem wird in Anhang C auch eine Erweiterung unseres Verschränkungsbegriffes aus Kapitel 1 für allgemeine Zustände behandelt, was wir hier nicht vertiefen wollen. Zustandsveränderungen Wir wollen hier klären, wie erlaubte Zustandsveränderungen aussehen. Dies kann man nicht in dem allgemeinen Rahmen der Quantenmechanik untersuchen, den wir bisher betrachtet haben. Wir müssen uns dazu Teiltheorien genauer ansehen, die sich mit konkreten Klassen von physikalischen Systemen beschäftigen. Wir betrachten hier als Beispiel die Teiltheorie der Quantenmechanik, die sich mit der nichtrelativistischen Beschreibung von Teilchen beschäftigt (Analoges gilt für relativistische Teiltheorien). Für solche Teilchen leitet man aus geeigneten, weiteren Postulaten, die grundlegende Eigenschaften der Welt beschreiben, auf mathematische Weise alle möglichen Observablen her, wie z. B. Ort, Impuls und Spin, sowie einen zugehörigen Zustandsraum. Offensichtlich fehlt noch eine entscheidende Sache, nämlich die Zeit. Die Zeit ist keine Observable, sondern wird – in Analogie zur klassischen Mechanik – als externer Parameter in die Theorie eingebaut. Dazu machen wir alle allgemeinen Zustände bzw. Zustandsvektoren zu Funktionen von einem reellen Parameter t ∈ . Wir betrachten also nicht mehr eine einzelne Beschreibung eines Systems, sondern eine zeitliche Folge solcher Beschreibungen. 50 Man leitet nun aus den schon erwähnten Annahmen über die Eigenschaften der Welt ab, wie sich der Zustand von so genannten freien Teilchen verändert; dies sind Teilchen, auf die keine äußeren Kräfte einwirken. Man kann zeigen, dass für freie Teilchen die Zustandsveränderung abhängig von der Zeit durch unitäre Operatoren beschrieben wird. Davon ausgehend postuliert man unitäre Zustandsveränderungen allgemein für beliebige Teilchen. Wir formulieren das zunächst für Zustandsvektoren. Postulat 3 (Zustandsveränderungen): Die Zustandsveränderung eines physikalischen Systems im Zeitintervall [t0 , t], mit t0 ≤ t, wird durch einen unitären Operator U (t, t0 ) beschrieben. Sei der Zustand des System zum Zeitpunkt t0 durch den Zustandsvektor |ψ(t0 )i charakterisiert. Dann beschreibt |ψ(t)i = U (t, t0 )|ψ(t0 )i den Zustand zum Zeitpunkt t ≥ t0 . Diese Gleichung heißt Bewegungsgleichung oder Zeitentwicklungsgleichung. Der Operator U (t, t0 ) heißt Zeitentwicklungsoperator. Zur Rechtfertigung der allgemeinen Form dieses Postulats kann noch gesagt werden, dass intensiv alternative Varianten der Beschreibung von Zustandsveränderungen untersucht wurden, aber keine dieser Varianten hat eine experimentelle Bestätigung gefunden. Man kann die Zeitentwicklungsgleichung auch noch als Differenzialgleichung schreiben. Durch Bilden der Ableitung der Zeitentwicklungsgleichung nach der Zeit t erhalten wir d |ϕ(t)i = −i H (t)|ϕ(t)i, dt wobei H (t) := i · (d/dt) U (t, t0 ) ein Operator auf dem Zustandsraum des Systems ist. Dieser heißt Hamiltonoperator oder Energieoperator (H steht hier also ausnahmsweise nicht für die Hadamard-Transformation). Die obige Differenzialgleichung ist die abstrakte Form der so genannten schrödingerschen Wellengleichung. Es sollte klar sein, dass es ein zentrales Problem des physikalischen Teils der Quantenmechanik ist, das Aussehen des Hamiltonoperators für konkrete physikalische Systeme zu bestimmen. Im endlich-dimensionalen Fall folgt aus der Definition von H (t), dass H (t) = H (t) † gilt und damit H (t) unitär diagonalisierbar ist (hier ohne Beweis). Für ein System mit Zustandsraum H = n ist dann n X H (t) = E j (t)|b j (t)ihb j (t)| j =1 für eine ON-Eigenbasis |b1 (t)i, . . . , |bn (t)i von H (t) und Eigenwerte E 1 (t), . . . , E n (t), die aufgrund der Eigenschaft H (t) = H (t)† sogar alle reell sind. Damit liefert H (t) eine Observable E mit Basiszuständen |b1 (t)i, . . . , |bn (t)i und Werten E 1 (t), . . . , E n (t), die als Energie des betrachteten Systems interpretiert wird. 51 Schließlich erwähnen wir noch, wie sich Postulat 3 für allgemeine Zustände formulieren lässt. Sei der Zustand eines Systems zum Zeitpunkt t0 durch den allgemeinen Zustand ρ(t0 ) beschrieben. Dann ergibt sich für die Zustandsbeschreibung zum Zeitpunkt t ≥ t 0 : ρ(t) = U (t, t0 ) ρ(t0 ) U (t, t0 )† . Dabei ist U (t, t0 ) der unitäre Operator aus Postulat 3. 2.2. Offene Systeme und Dekohärenz Wir haben bei der quantenmechanischen Beschreibung von physikalischen Systemen im letzten Abschnitt aus einem bekannten Zustand zu einem Startzeitpunkt den Zustand zu einem späteren Zeitpunkt mit Hilfe der Zeitentwicklungsgleichung hergeleitet. Wenn wir Quantenrechner bauen wollen, müssen wir den Zeitentwicklungsoperator nach unseren Wünschen gestalten können. Dazu bauen wir neben der Zeit weitere externe Parameter in diesen Operator ein, die die regelbaren Parameter in unserem Experiment beschreiben. Wie schon ganz zu Anfang des Kapitels gesagt, beschränken wir uns immer auf einen kleinen Ausschnitt der realen Welt, den wir abbilden. Dies bedeutet aber letztendlich, dass wir implizit davon ausgehen, dass wir unser System perfekt von der Umwelt isolieren können. Solche Systeme nennen wir geschlossen. Ein System, auf das diese Annahme nicht zutrifft, heißt offen. Geschlossene Systeme sind eine Idealisierung. In Wirklichkeit sind Systeme immer offen, eine Isolierung von der Umwelt ist allenfalls in guter Näherung möglich. Man beobachtet nun, dass bei einem offenen System durch die mehr oder weniger starke Koppelung an die Umgebung Information vom System auf die Umgebung übertragen wird und so im Laufe der Zeit reine Zustände zu gemischten Zuständen degenerieren. Dieses Phänomen wird als Dekoh ärenz bezeichnet. Umgekehrt nennen wir eine Zeitentwicklung, bei der das nicht passiert, koh ärent. Wir sehen uns das genauer an einem einfachen, formalen Modell an. Der Zustand des von uns untersuchte Systems sei durch ein einzelnes Qubit beschrieben und die Umgebung durch einen Zustand über irgendeinem Hilbertraum. Wir fassen Qubit und Umgebung insgesamt als ein zusammengesetztes, geschlossenes System auf. Wir präparieren das System zum Zeitpunkt 0 in einem reinen Zustand für das Qubit und warten danach bis zum Zeitpunkt t, ohne etwas am Qubit zu ändern. Die Zeitentwicklung sei beschrieben durch eine unitäre Transformation U (t), die folgende Wirkung haben soll: U (t) |0i|Ei = |0i|E 0 (t)i, und U (t) |1i|Ei = |1i|E 1 (t)i, wobei |Ei ein beliebiger reiner Startzustand der Umgebung ist und |E 0 (t)i bzw. |E 1 (t)i die Nachfolgezustände zu |Ei, die vom Startwert des Qubits abhängen dürfen. Die beiden Bildvektoren oben sind offenbar orthogonal, so dass sich eine geeignete unitäre Fortsetzung der angegebenen Definition finden lässt. 52 Wir betrachten nun, was bei Präparation des Qubits in einem beliebigen reinen Startzustand passiert. Der Startzustand für das Gesamtsystem sei dazu |ψ(0)i = α|0i + β|1i |Ei, mit α, β ∈ , |α|2 + |β|2 = 1. Gemäß Zeitentwicklung erhalten wir zum Zeitpunkt t den Gesamtzustand |ψ(t)i = α|0i|E 0 (t)i + β|1i|E 1 (t)i. Im Allgemeinen ist dies ein verschränkter Zustand. Die Koppelung des Qubits an die Umgebung führt zur Verschränkung seines Zustandes mit dem Umgebungszustand. Wenn wir nur das Qubit in unserem Experiment untersuchen wollen, bilden wir, wie im letzten Abschnitt beschrieben, die partielle Spur über die nicht interessierende Komponente, hier die Umgebung. Wir schreiben zunächst den obigen Zustandsvektor |ψ(t)i als Dichtematrix: ρ(t) := |ψ(t)ihψ(t)| = αα ∗ |0i|E 0 ih0|hE 0 | + αβ ∗ |0i|E 0 ih1|hE 1 | + α ∗ β|1i|E 1 ih0|hE 0 | + ββ ∗ |1i|E 1 ih1|hE 1 |. Dabei haben wir zur Abkürzung |E 0 i = |E 0 (t)i und |E 1 i = |E 1 (t)i geschrieben. Bilden der partiellen Spur über die Umgebung liefert (siehe Übungsaufgabe unten) ρ Qubit (t) = tr Env (ρ(t)) = αα ∗ |0ih0| + αβ ∗ hE 1 | E 0 i|0ih1| + α ∗ βhE 0 | E 1 i|1ih0| + ββ ∗ |1ih1| |α|2 αβ ∗ hE 1 (t) | E 0 (t)i = . α ∗ βhE 0 (t) | E 1 (t)i |β|2 In Experimenten beobachtet man, dass die Zustände E 0 (t) und E 1 (t) sich sehr schnell orthogonalen Zuständen annähern, z. B. gemäß hE 0 (t) | E 1 (t)i = e−t/T , wobei T ∈ + eine vom System abhängige Konstante ist, die Dekohärenzzeit. Dadurch verschwinden die Terme außerhalb der Diagonalen in der Matrix oben, und das Qubit-System liegt schließlich nur noch in einer statistischen Mischung aus den beiden Basiszuständen vor. Dekohärenz ist eins der wesentlichen Probleme bei der praktischen Realisierung von Quantenrechnern. Übungsaufgabe: Rechne nach, dass die oben angegebene partielle Spur im endlich-dimensionalen Fall das behauptete Ergebnis liefert. Beweise dazu, dass für eine ON-Basis |1i, . . . , |ni des Hilbertraumes H für das Umgebungssystem und beliebige Vektoren |E 0 i, |E 1 i ∈ H mit Norm 1 gilt: n X j =1 h j | |E 0 ihE 0 | | j i = 1 und n X j =1 h j | |E 0 ihE 1 | | j i = hE 1 | E 0 i. Übungsaufgabe: Überlege dir, warum bei der von uns verwendeten Interpretation der Quantenmechanik das als Schrödingers Katze“ bekannte Gedankenexperiment kein Paradoxon ist ” (siehe z. B. http://scienceworld.wolfram.com/physics/SchroedingersCat.html). 53 2.3. Messungen Wir haben bisher Messungen nur sehr abstrakt als Vorgang beschrieben, der Werte einer Observablen mit bestimmten Wahrscheinlichkeiten liefert, die wir gemäß der bornschen Formel aus Postulat 1 ausrechnen können. Manchmal ist es allerdings erforderlich, dass wir eine konkretere, anwendungsnähere Beschreibung von Messungen verwenden. So eine konkretere Beschreibung brauchen wir insbesondere, wenn wir uns für den Zustand des gemessenen Systems nach einer Messung interessieren. Der Zustand nach einer Messung ist wichtig, wenn wir in einem Quantenalgorithmus nach der Messung noch weiter rechnen wollen. Allgemeines Modell für Messungen Was passiert bei einer Messung nun genauer? Wir beschreiben analog zur Dekohärenz im letzten Abschnitt hier ein einfaches, formales Modell, das die wesentlichen Aspekte von allgemeinen Messungen enthält. • Wir betrachten eine zu messende Observable R, die der Einfachheit halber nur die zwei Werte 0 und 1 und zugehörige Basiszustände |0i, |1i haben soll, d. h. es wird ein Qubit realisiert. Diese Observable gehört zum untersuchten System S. • Zur Messung verwenden wir ein Messgerät M, das eine Zeiger-Observable besitzt, deren Wert wir makroskopisch sichtbar machen können. Die Zeiger-Observable soll den Wert der Observablen R anzeigen. Dazu besitzt sie drei verschiedene Werte s, z 0 , z 1 , wobei s für einen Startwert steht, und zugehörige orthogonale Zustände |si, |z 0 i, |z 1 i. • Die Messung findet nach Ankoppelung des Messgerätes M an das untersuchte System S statt und kann durch eine unitäre Transformation U auf dem Gesamtsystem S+M beschrieben werden. Das untersuchte System S ist hier offen, während S+M geschlossen ist. Sei der Zustand des untersuchten Systems S durch irgendeinen Zustandsvektor |ψi beschrieben. Dann ist der Zustand des aus S und dem Messgerät M zusammengesetzten Gesamtsystems vor der Messung ρ Ges = |ψihψ| ⊗ |sihs|. Der Zustand nach der Messung, den wir durch Anwenden der Transformation U erhalten, ist ρ 0Ges = U ρ Ges U † . Nach der Messung nehmen wir S und M schließlich wieder auseinander und betrachten die 0 , die zu S bzw. M gehören. Diese erhalten wir durch Berechnen der Teilzustände ρ S0 und ρ M partiellen Spuren über das jeweils nicht interessierende System: 0 = tr S (ρ 0Ges ) = tr S (Uρ Ges U † ). ρ S0 = tr M (ρ 0Ges ) = tr M (Uρ Ges U † ) und ρ M Unser Modell des Messvorgangs ist in folgendem Schema zusammengefasst: 54 ρ S = |ψihψ| ρ M = |sihs| U ρ Ges = |ψihψ| ⊗ |sihs| ρ 0Ges = Uρ Ges U † ρ S0 = tr M (Uρ Ges U † ) 0 = tr (Uρ † ρM S Ges U ) Abbildung 2.2: Schema für Messungen. In diesem Modell wird nur durch die Transformation U ein wirklich physikalisch stattfindender Vorgang exakt beschrieben. Für die Koppelung des Messgerätes an das zu messende System und die Abtrennung zum Schluss mag es zwar ebenfalls korrespondierende Vorgänge in der Realität geben, diese werden aber in unserem Modell nur auf abstrakte Weise beschrieben (nämlich durch das Tensorprodukt bzw. die partiellen Spuren). Die Entscheidung, welchen Teil des Versuches wir in U einbauen und welchen nicht, unterliegt wie immer unserer Willkür. Von-Neumann-Messungen In dem obigen Modell für Messungen ist die Transformation U bisher noch nicht genauer festgelegt. Wir wollen jetzt ein konkretes Beispiel für eine solche Transformation genauer betrachten. Für die Transformation U soll gelten: U (|0i|si) = |0i|z 0 i, U (|1i|si) = |1i|z 1 i. Da die beiden Bildvektoren orthogonal sind, kann U zu einer unitären Transformation fortgesetzt werden. Die obige Festsetzung beschreibt die Idee, dass wir bei der Messung Basiszustände des untersuchten Systems auf das Messgerät kopieren. Falls das untersuchte System in einem Basiszustand ist, wird sein Zustand außerdem nicht verändert. Wir untersuchen, was bei einer Messung gemäß dem Modell im letzten Abschnitt und mit obigem U passiert. Sei dazu der Zustand des untersuchten Systems vor der Messung |ψi = α|0i + β|1i, α, β ∈ mit |α|2 + |β|2 = 1. Dann ist der Startzustand des Gesamtsystems aus untersuchtem System und Messgerät ρ Ges = |ψihψ| ⊗ |sihs|. Wir erhalten analog zum Abschnitt über Dekohärenz: ρ 0Ges = αα ∗ |0i|z 0 ih0|hz 0 | + αβ ∗ |0i|z 0 ih1|hz 1 | + α ∗ β|1i|z 1 ih0|hz 0 | + ββ ∗ |1i|z 1 ih1|hz 1 |. Wir überlegen uns zunächst, wie der Zustand des untersuchten Systems ρ S0 nach der Messung aussieht. Dazu bilden wir die partielle Spur über das Messgerät: |α|2 αβ ∗ hz 1 | z 0 i 0 0 ρ S = tr M (ρ Ges ) = α ∗ βhz 0 | z 1 i |β|2 2 |α| 0 = |α|2 |0ih0| + |β|2 |1ih1|. = 0 |β|2 55 Dabei haben wir ausgenutzt, dass die Zustände |z 0 i, |z 1 i orthogonal zueinander sind. Analog 0 nach der Messung ergibt sich für den Zustand des Messgerätes ρ M 0 ρM = tr S (ρ 0Ges ) = |α|2 |z 0 ihz 0 | + |β|2 |z 1 ihz 1 |. 0 sind also statistische Mischungen der jeweiligen beiden BaBeide Zustände ρ S0 und ρ M siszustände mit Wahrscheinlichkeiten |α|2 bzw. |β|2 . Der Wert der Zeiger-Observablen des Messgerätes ist beschrieben durch eine Zufallsvariable Z mit Pr ρ 0M {Z = z 0 } = |α|2 und Prρ 0M {Z = z 1 } = |β|2 . Durch das Ablesen des Messgerätes wird dann das endgültige Ergebnis festgelegt. Wir wollen noch sagen, wie sich dieses Ergebnis auf Observablen mit mehr als zwei Werten verallgemeinern lässt, ohne die Details nachzurechnen. Sei R eine Observable mit verschiedenen Werten r1 , . . . , rn und zugehöriger ON-Basis |r 1 i, . . . , |rn i. Es reicht aus, uns auf den Zustand des untersuchten Systems zu beschränken. Sei ρ S der Startzustand des untersuchten Systems. Analog zur Rechnung für die zweiwertige Observable erhalten wir als Zustand des untersuchten Systems nach der Messung ρ S0 = n X j =1 Prρ S {R = r j } · P j , wobei P j = |r j ihr j | für j = 1, . . . , n. Der Operator P j ist dabei eine Projektion auf den eindimensionalen Untervektorraum, der vom Basiszustand |r j i aufgespannt wird (siehe dazu auch Anhang B). Aufgrund der Formel für die Wahrscheinlichkeiten von Messergebnissen bei allgemeinen Zuständen haben wir Prρ S {R = r j } = hr j |ρ S |r j i. Damit können wir ρ S0 alternativ auch schreiben als ρ S0 = n X j =1 hr j |ρ S |r j i · |r j ihr j | = n X j =1 |r j ihr j |ρ S |r j ihr j | = n X Pj ρS Pj . j =1 Messungen, die mit der hier verwendeten, speziellen unitären Transformation U beschrieben werden können, heißen von-Neumann-Messungen. Filtermessungen Wir betrachten hier einen speziellen Typ von von-Neumann-Messungen, bei denen der Zustand nach der Messung noch für andere Versuche verwendet wird. Wir können die Messung also als Präparationsphase des nachfolgenden Versuches auffassen. Wir nehmen an, dass wir ein Messgerät besitzen, in das wir auf der einen Seite einen Strahl mit Teilchen in einem beliebigen Zustand hineinfüttern, und das auf der anderen Seite die Teilchen sortiert nach dem Wert einer gemessenen Observablen wieder ausgibt. 56 Sei die gemessene Observable R mit verschiedenen Werten r 1 , . . . , rn . Die Funktionsweise des Messgerätes ist schematisch in der Abbildung unten dargestellt. Messgerät Teilchen .. . Teilchen mit R = r1 Teilchen mit R = r2 .. . Teilchen mit R = rn Abbildung 2.3: Filtermessung schematisch. Für unseren nächsten Versuch verwerten wir nun nicht alle Teilstrahlen, die das Messgerät verlassen, sondern nur solche, bei denen R ∈ A gilt für eine beliebige Teilmenge A ⊆ {r 1 , . . . , rn }. Wir nennen den gesamten Vorgang aus offensichtlichen Gründen eine Filtermessung. Formal muss dieser Vorgang so beschrieben werden, dass die Wahrscheinlichkeitsverteilung für die Werte von R nach Messung und Filterung mit der Definition der bedingten Wahrscheinlichkeit aus der Wahrscheinlichkeitstheorie konsistent ist. Für A ⊆ {r1 , . . . , rn } definiere den Operator PA durch X Pj , PA := r j ∈A wobei wie im letzten Abschnitt P j = |r j ihr j | für j = 1, . . . , n ist. Der Operator PA ist offenbar eine Projektion auf den Untervektorraum, der durch die Basiszustände aufgespannt wird, die zu Messergebnissen in A gehören. Wir benutzen außerdem die Schreibweise X Prρ {R ∈ A} := Prρ {R = r j }. r j ∈A Für einen Startzustand ρ ergibt sich dann mit der Forderung, dass der Zustand ρ 0 nach Messung und Filterung mit der Definition der bedingten Wahrscheinlichkeit konsistent sein muss (hier ohne Beweis, siehe dazu Anhang C): ρ0 = PA ρ PA , Prρ {R ∈ A} für A mit Prρ {R ∈ A} > 0. Für Zustandsvektoren erhalten wir Folgendes. Sei |ψi der Startzustand und |ψ 0 i der Zustand nach Messung und Filterung. Dann gilt PA |ψi |ψ 0 i = p , Pr|ψi {R ∈ A} für A mit Pr|ψi {R ∈ A} > 0. Es ist leicht zu sehen, dass dies ein Spezialfall der obigen Formel für allgemeine Zustände ist (benutze, dass PA = PA† gilt). Durch Ausnutzen von Pr|ψi {R = r j } = |hr j | ψi|2 57 und Rückersetzung von P j = |r j ihr j | erhalten wir: P r j ∈A hr j |ψ 0 i = qP | ψi|r j i r j ∈A |hr j , für A mit | ψi|2 X r j ∈A |hr j | ψi|2 > 0. Damit haben wir den Mechanismus für Messungen wieder entdeckt, den wir in Kapitel 1 ohne Begründung eingeführt hatten. Beachte dazu, dass hr j | ψi die j -te Amplitude von |ψi bezüglich der ON-Basis |r 1 i, . . . , |rn i ist. Von Neumann hat 1932 in einem berühmten Buch (Mathematische Grundlagen der Quantenmechanik) postuliert, dass der hier vorgestellte Mechanismus für Filtermessungen eine allgemeine Beschreibung beliebiger Messungen darstellt. Diesen Mechanismus hat er aus einem für die damalige Zeit besonders wichtigen physikalischen Experiment abstrahiert. Er hat dabei vorausgesetzt, dass Messungen stets wiederholbar sein sollen, d. h. nachdem ein Test, ob R = r j “ ” ist, positiv ausgegangen ist, soll der Zustand des gemessenen Systems so beschaffen sein, dass jede weitere Messung von R mit Wahrscheinlichkeit 1 den Wert r j liefert. Wir wissen heute, dass von-Neumann-Messungen nur einen idealisierten Spezialfall von Messungen darstellen. Die meisten realen Messungen sind nicht wiederholbar (Auffangen von Teilchen auf einem Schirm, Photonenzähler, . . .). Es gibt eine (sehr viel allgemeinere) QuantenMesstheorie, die verschiedene, andere Arten von Messungen beschreibt. Zur Rechtfertigung der Beschränkung auf von-Neumann-Messungen lässt sich aber sagen, dass sich jede andere Messung als von-Neumann-Messung in einem passend gewählten, größeren Zustandsraum darstellen lässt. Ob eine konkrete Messung sich in einem Experiment wirklich realisieren lässt, ist damit natürlich noch nicht gesagt. In etlichen älteren Lehrbüchern werden Messungen nur gemäß dem von-Neumann-Modell behandelt, manchmal werden von-Neumann-Messungen oder Filtermessungen sogar als Postulat der Quantentheorie eingeführt. Außerdem ist die Beschreibung oft noch verbunden mit problematischen Interpretationen des Zustandsbegriffes der Quantentheorie (Stichwort: Kollaps der ” Wellenfunktion“). Diese Vorgehensweise führt zu komplizierten Theorien, in die zwangsweise nicht durch Versuche zu rechtfertigende Elemente eingebaut werden müssen, um überhaupt die Konsistenz sicherzustellen (siehe dazu Peres, Anfang von Kapitel 12). Wir benutzen hier die statistische Interpretation des Zustandsbegriffes und die moderne Theorie von Messungen, in der von-Neumann-Messungen nur ein (wichtiger) Spezialfall sind. Anwendung: Analyse der Quantenteleportation Zur Erinnerung: Alice misst in diesem Versuch ein Qubit in einem ihr unbekannten Zustand zusammen mit der Hälfte eines EPR-Paares und sendet die Messwerte an Bob, der daraufhin mit Hilfe der Messwerte und seiner Hälfte des EPR-Paares Alices unbekannten Zustand rekonstruieren kann. 58 In Kapitel 1 hatten wir den Quantenteleportations-Versuch mit unserer damaligen Vorstellung von Messungen analysiert. Wir konnten dort nicht befriedigend erklären, warum Alice und Bob klassische Kommunikation benötigen. (Wenn dem nicht so wäre, könnten die beiden die Versuchsanordnung für Kommunikation mit Überlichtgeschwindigkeit benutzen – was ein sensationelles Ergebnis wäre, insbesondere da es im Widerspruch zur Relativitätstheorie stünde.) Mit Hilfe des in den vorhergehenden Abschnitten erworbenen Handwerkszeugs lässt sich der Versuch nun vollständig verstehen. Wir erinnern uns, dass der Zustand des Gesamtsystems aus Alices und Bobs Qubits direkt vor Alices Messung der folgende war: |ψ2 i = 1 |00i α|0i + β|1i + |01i α|1i + β|0i + |10i α|0i − β|1i + |11i α|1i − β|0i 2 Alice wendet nun eine von-Neumann-Messung der ersten beiden Qubits an. Wir könnten nachrechnen, was dadurch passiert, indem wir explizit Alices Messgerät beschreiben und das Messgerät an- und wieder abkoppeln wie weiter oben ausgeführt. Wir ersparen uns das hier und nutzen aus, dass unser alter Formalismus für Messungen gerade Von-Neumann-Messungen beschrieben hat. Nach unseren alten Ergebnissen wissen wir ohne nachzurechnen, dass Alices Messung einen der folgenden vier Zustände jeweils mit Wahrscheinlichkeit 1/4 als Zustand des Gesamtsystems nach der Messung produziert: |00i α|0i + β|1i , |01i α|1i + β|0i , |10i α|0i − β|1i , |11i α|1i − β|0i . oder Wir können dies nun auch explizit als allgemeinen Zustand des Gesamtsystems schreiben: ρ = 1 |00ih00| α|0i + β|1i 4 |01ih01| α|1i + β|0i |10ih10| α|0i − β|1i |11ih11| α|1i − β|0i α ∗ h0| + β ∗ h1| α ∗ h1| + β ∗ h0| α ∗ h0| − β ∗ h1| α ∗ h1| − β ∗ h0| Welche Informationen kann Bob aus seinem Teil dieses Zustandes extrahieren, bevor Alice mit ihm auf klassischem Wege kommuniziert hat? Sein Teilzustand ρ B ergibt sich als partielle Spur über Alices System, die wir nun ausrechnen. Wir nutzen dazu aus, dass die Abbildung tr A linear ist und behandeln die Summanden in obigem Ausdruck einzeln. 59 Dann ergibt sich: 1 α|0i + β|1i α ∗ h0| + β ∗ h1| 4 α|1i + β|0i α ∗ h1| + β ∗ h0| α|0i − β|1i α ∗ h0| − β ∗ h1| ∗ ∗ α|1i − β|0i α h1| − β h0| 1 2 2 2 2 = 2 |α| + |β| |0ih0| + 2 |α| + |β| |1ih1| 4 1 1 1 = |0ih0| + |1ih1| = I. 2 2 2 ρB = Bobs Teilzustand alleine enthält also keine Information, eine Messung liefert dasselbe wie ein fairer Münzwurf! Die interessante Information steckt hier in der Korrelation zwischen Alices und Bobs System. Durch die klassische Kommunikation können beide diese Information ausnutzen. 60 3. Universelle Bausteinsätze für Quantenschaltkreise Unter einem universellen Bausteinsatz verstehen wir hier eine Menge von Quantenbausteinen, aus denen Quantenschaltkreise für beliebige n-Qubit-Operationen, oder – anders ausgedrückt – n n beliebige unitäre Operatoren 2 → 2 aufgebaut werden können. Wir suchen nach einer möglichst kleinen Menge solcher Bausteine, die insbesondere die Eigenschaft haben sollen, dass ihre Anzahl von Eingängen konstant, d. h. von n unabhängig ist. Universelle Bausteinsätze sind wichtig für den Bau von Quantenrechnern. Analog zum klassischen Fall ist es offensichtlich hilfreich, wenn man nur einfache Bausteine auf konstant vielen Qubits physikalisch realisieren muss und durch Hintereinanderschalten solcher Bausteine beliebige Operationen erhält. Entsprechend definieren wir dann auch sinnvollerweise die Größe von Schaltkreisen in komplexitätstheoretischen Betrachtungen als Anzahl der verwendeten Bausteine aus einem vorgegebenen universellen Bausteinsatz. Wir vertiefen zunächst unsere Kenntnisse über Ein-Qubit-Bausteine aus dem ersten Kapitel und beschäftigen uns dann mit der Realisierung von gesteuerten Bausteinen. Wir beschreiben dann zwei universelle Bausteinsätze für Quantenschaltkreise, ohne die Beweise hier im Detail durchzuführen. 3.1. Ein-Qubit-Bausteine im Detail Wir haben bereits in Kapitel 1 exemplarisch einige Ein-Qubit-Bausteine behandelt. Solche Bausteine können durch einen unitären Operator U : 2 → 2 bzw. durch eine unitäre 2 × 2-Matrix beschrieben werden. Wir führen einige neue, elementare Ein-Qubit-Bausteine ein. Wir definieren dazu zunächst die Matrizen 0 1 0 −i 1 0 X := , Y := und Z := . 1 0 i 0 0 −1 Diese Matrizen heißen Pauli-Matrizen. Die X - und Z -Matrix kennen wir schon aus Kapitel 1, die Y -Matrix ist neu. Mit Hilfe der Definition der Exponentialfunktion von Matrizen erhalten wir nun für einen Parameter θ ∈ : cos(θ/2) −i sin(θ/2) −i(θ/2)X Ux (θ ) := e = , −i sin(θ/2) cos(θ/2) cos(θ/2) − sin(θ/2) −i(θ/2)Y U y (θ ) := e = und sin(θ/2) cos(θ/2) −iθ/2 e 0 −i(θ/2)Z Uz (θ ) := e = . 0 eiθ/2 Für Uz (θ ) hatten wir die Matrix in Koordinatenschreibweise schon in Anhang B ausgerechnet. Die anderen beiden Matrizen ergeben sich analog. 61 Wir hatten auch schon in Kapitel 1 gezeigt, dass U z (θ ) auf der Blochdarstellung des Zustandes eines Qubits eine Drehung bezüglich der z-Achse um den Winkel θ realisiert. Analog realisieren Ux (θ ) und U y (θ ) Drehungen um die x- bzw. y-Achse um den Winkel θ . Der Beweis dieser Aussagen ist nicht ganz einfach (er funktioniert – erstaunlicherweise? – nicht analog zu dem für Uz (θ )) und wird nur in Anhang D behandelt. Die vorgestellten Ein-Qubit-Bausteine sind deshalb wichtig, weil mit ihrer Hilfe bereits alle anderen Ein-Qubit-Bausteine realisiert werden können, wie der folgende Satz sagt. Satz: Sei U eine unitäre 2 × 2-Matrix. Dann gibt es α, β, γ , δ ∈ mit U = eiα Uz (β)U y (γ )Uz (δ). Beweis: Wir schreiben U zunächst in der Form U = a b , eic b∗ −eic a ∗ wobei a, b ∈ mit a ∗ a + b∗ b = 1. Warum können wir auf diese Weise beliebige unitäre Matrizen darstellen? Wir geben dazu die erste Zeile [a, b] vor. Aufgrund der Unitarität muss es sich um einen Einheitsvektor handeln, was gerade die Bedingung an a und b besagt. Die zweite Zeile muss aufgrund der Unitarität ein zur ersten Zeile orthogonaler Vektor sein. Offenbar ist [b ∗ , −a ∗ ] orthogonal zu [a, b], und durch Multiplikation mit einem beliebigen Phasenvorfaktor e ic erhalten wir jeden solchen Vektor. Drücke nun a und b folgendermaßen aus: a = cos b = sin γ ix 2 e , γ iy 2 e , x, γ ∈ ; y∈ ; dies funktioniert wegen der Normierungsbedingung a ∗ a + b∗ b = 1 (vergleiche unser Vorgehen bei der Herleitung der Blochdarstellung). Damit gilt (nach zusätzlichem Einfügen von zwei Minuszeichen durch Multiplizieren mit e iπ ): U = = für geeignete α, β, δ ∈ . cos sin cos sin γ ix γ i(y+π) e − sin e 2 2 γ i(−y+c) γ i(−x+c+π) e cos 2 2 e γ i(α−β/2−δ/2) γ i(α−β/2+δ/2) e − sin 2 2 e γ i(α+β/2−δ/2) cos γ2 ei(α+β/2+δ/2) 2 e 62 Der letzte Schritt folgt durch Lösen des linearen Gleichungssystems α α α α − − + + β/2 β/2 β/2 β/2 − + − + δ/2 δ/2 δ/2 δ/2 = = = = x y+π −y + c −x + c + π in den Variablen α, β, δ für die Argumente der Exponentialfunktionen. Die Behauptung ergibt sich nun durch Ausrechnen von eiα Uz (β)U y (γ )Uz (δ) und Vergleich mit obiger Matrix. Beispiel: Wir betrachten den Hadamard-Baustein mit Matrix H . Es ist √ √ 1 1 1/√2 1/√2 −i 0 1 · = i· H = √ = i · Uz (π ) · U y (−π/2) · Uz (0). 0 i −1/ 2 1/ 2 2 1 −1 Da die Bausteine U y (−π/2) und Uz (π ) gemäß dem oben zitierten Ergebnis Drehungen auf der Blochsphäre bezüglich der y-Achse um −π/2 und bezüglich der z-Achse um π realisieren, ergibt sich die schon in Kapitel 1 beschriebene Wirkung von H auf der Blochsphäre. 3.2. Gesteuerte Bausteine Um Quantenrechner bauen zu können, ist es essenziell, auch gesteuerte Bausteine zur Verfügung zu haben. Wir haben in Kapitel 1 bereits gesteuerte U -Bausteine für beliebige unitäre 2 × 2-Matrizen U sowie den Toffoli-Baustein eingeführt. Wir beschreiben hier, wie man diese Bausteine mit Hilfe von konstant vielen Ein-Qubit-Bausteinen und CNOT-Bausteinen realisieren kann. Gesteuerte U -Bausteine Die Konstruktion basiert auf folgendem Lemma. Lemma: Sei U eine unitäre 2 × 2-Matrix. Dann gibt es unitäre 2 × 2-Matrizen A, B, C und ein α ∈ mit A BC = I und U = eiα A X B X C. Beweis: Wir benutzen folgende Hilfsaussage. Sei wie immer X = 01 10 . Dann gilt für beliebige θ ∈ : XU y (θ )X = U y (−θ ) und XUz (θ )X = Uz (−θ ). Das lässt sich entweder nachrechnen oder ergibt sich durch die geometrische Interpretation der beteiligten Matrizen als Drehungen auf der Blochsphäre (es ist X = i · U x (π )). Gemäß dem letzten Abschnitt können wir U als U = eiα Uz (β)U y (γ )Uz (δ) mit α, β, γ , δ ∈ schreiben. 63 C B A eiα I Abbildung 3.1: Quantenschaltkreis für C(U ). P(α) eiα I ≡ Abbildung 3.2: Realisierung von C(eiα I ) durch einen Ein-Qubit-Baustein. Definiere A := Uz (β)U y (γ /2), B := U y (−γ /2)Uz (−(δ + β)/2), C := Uz ((δ − β)/2). und Dann gilt A BC = I . Außerdem erhalten wir mit der Vorbemerkung und unter Ausnutzung von X2 = I: X B X = XU y (−γ /2)X · XUz (−(δ + β)/2)X = U y (γ /2)Uz ((δ + β)/2), A X B X C = Uz (β)U y (γ /2)U y (γ /2)Uz ((δ + β)/2)Uz ((δ − β)/2) = Uz (β)U y (γ )Uz (δ). Daraus folgt die Behauptung. Wir wollen nun mit Hilfe des Lemmas den gesteuerten U -Baustein C(U ) für eine beliebige unitäre 2 × 2-Matrix U realisieren. Zur Erinnerung: C(U ) ist ein Baustein mit zwei Eingängen, einem Steuerqubit und einem Zielqubit, und realisiert für x, y ∈ {0, 1} die unitäre Transformation ( |xiU |yi, falls x = 1; C(U ) |xi|yi 7 −→ |xi|yi, falls x = 0. Das obige Lemma liefert die Idee für den in Abbildung 3.1 dargestellten Quantenschaltkreis. Um zu sehen, dass dieser Schaltkreis tatsächlich C(U ) berechnet, beachte, dass CNOT = C(X ). Es bleibt nur noch, den dort verwendeten gesteuerten Phasenbaustein C(e iα I ) zu realisieren, der abhängig vom Zustand des Steuerqubits das Zielqubit mit dem Phasenvorfaktor e iα multipliziert oder nicht. Dieser Baustein hat die Matrix 1 0 0 0 0 1 0 0 C(eiα I ) = 0 0 eiα 0 . 0 0 0 eiα 64 Wir können diese Matrix folgendermaßen auf einfachere Weise darstellen: 1 0 iα C(e I ) = P(α) ⊗ I, wobei P(α) := = eiα/2 Uz (α). 0 eiα Damit lässt sich der gesteuerte Phasenbaustein durch den Ein-Qubit-Baustein in Abbildung 3.2 ersetzen. Insgesamt haben wir folgendes Ergebnis bewiesen: Satz: Für eine beliebige unitäre 2 × 2-Matrix U lässt sich der gesteuerte U -Baustein C(U ) mit Hilfe von vier Ein-Qubit-Bausteinen und zwei CNOT-Bausteinen realisieren. Der Toffoli-Baustein Wir haben uns bereits im Abschnitt 1.5 bei der Simulation von klassischen Schaltkreisen von der Nützlichkeit des Toffoli-Bausteins überzeugt. Wir beschreiben, wie wir diesen aus Ein-Qubitund CNOT-Bausteinen aufbauen können. Zur Erinnerung: Der Toffoli-Baustein für klassische Schaltkreise flippt das letzte von seinen drei Eingabebits, falls die ersten beiden eins sind und tut nichts sonst. Der Toffoli-Baustein für Quantenschaltkreise wirkt auf die gleiche Weise auf die Basiszustände der Qubits an seinen Eingängen. Genauer realisiert er damit folgende unitäre Transformation: ( |xi|yiX |zi, falls x = y = 1; Toffoli |xi|yi|zi 7 −→ |xi|yi|zi, sonst. Wir verwenden zur Implementierung des Toffoli-Bausteins folgenden Trick. Definiere 1 1+i 1−i . V := 2 1−i 1+i Dann ergibt sich durch Nachrechnen: V2 = X und V † V = V V † = I. Dies liefert die Idee für den Quantenschaltkreis in Abbildung 3.3. Man kann leicht verifizieren, dass der Schaltkreis das Gewünschte leistet: |0i|0i|zi 7 → |zi |0i|1i|zi 7 → V † V |zi = |zi |1i|0i|zi 7 → V V † |zi = |zi |1i|1i|zi 7 → V V |zi = X |zi Übungsaufgabe: Wie kommt man darauf, V so zu wählen wie oben angegeben? Sei U eine beliebige unitäre 2 × 2-Matrix. Dann unitäre i Basistransformatih gibt ies (siehe Anhang B)heine √ λ 0 λ 0 on T , so dass U = T DT † mit D = 01 λ2 . Definiere V := T 0 1 √λ T † . Zeige, dass dann 2 V † V = V V † = I und V 2 = U gilt und wende dieses Verfahren für U = X an. 65 V† V V Abbildung 3.3: Realisierung des Toffoli-Bausteins. Gesteuerte Bausteine mit mehreren Steuerqubits Wir verallgemeinern gesteuerte Bausteine hier noch auf eine nahe liegende Weise. Für eine m+1 m+1 natürliche Zahl m und eine unitäre 2 × 2-Matrix U beschreibe C m (U ) : 2 → 2 einen (m + 1)-Qubit-Baustein mit folgender Funktion: ( |x 1 , . . . , x m iU |yi, falls x 1 = · · · = x m = 1; C m (U ) |x 1 , . . . , x m i|yi 7 −→ |x 1 , . . . , x m i|yi, sonst. Der Toffoli-Baustein ist damit der Spezialfall C 2 (X ) dieser Definition. Solche Bausteine können wie in Abbildung 3.4 dargestellt mit den schon vorhandenen Bausteinen nachgebildet werden. Satz: Für beliebige unitäre 2 × 2-Matrizen U kann der Quantenbaustein C m (U ) mit Hilfe von je O(m) Ein-Qubit- und CNOT-Bausteinen und mit O(m) Hilfsqubits realisiert werden. Bemerkung: Mit einer aufwändigeren Konstruktion, die 2(m 2 ) Ein-Qubit- und CNOTBausteine benutzt, kann man den C m (U )-Baustein auch ohne Hilfsqubits realisieren. |x 1 i |x 2 i |x 3 i |x 4 i . . . . |x m i |0i |0i |0i . . |0i |0i |yi .. .. .. .. . . . . . .. . .. . . U Abbildung 3.4: Realisierung von C m (U ). 66 |0i |0i |0i |0i |0i 3.3. Exakte Realisierung von n-Qubit-Operationen Wir können nun auch Quantenschaltkreise für beliebige n-Qubit-Operationen aus Ein-QubitBausteinen und CNOTs aufbauen. n n Satz: Für jeden unitären Operator U : 2 → 2 (n-Qubit-Operation) gibt es einen Quantenschaltkreis aus O(n 2 22n ) Bausteinen aus der Menge aller Ein-Qubit-Bausteine zusammen mit CNOT. In der Anzahl der Qubits ist die Größe des erhaltenen Quantenschaltkreises also exponentiell, was auf den ersten Blick ziemlich schlecht aussieht. Ausgedrückt in der Dimension 2 n des betrachteten Vektorraumes ist die Größe allerdings im Wesentlichen quadratisch, und für kleines n ist das manchmal akzeptabel. Man kann sich außerdem durch ein Abzählargument klarmachen, dass zuf ällig gewählte nQubit-Operationen tatsächlich mit einer in n gegen 1 konvergierenden Wahrscheinlichkeit im Wesentlichen die obige Größe erfordern, d. h. für fast alle n-Qubit-Operationen ist das Ergebnis im Wesentlichen optimal. Die Situation ist hier analog zu klassischen Schaltkreisen, wo man zeigt, dass zufällige boolesche Funktionen über n Variablen Schaltkreisgröße 2(2 n /n) bezüglich der Basis {∧, ∨, ¬} haben. In der Praxis kann man oft die spezielle Struktur der gegebenen Funktion ausnutzen, um zu wesentlich kleineren (Quanten-)Schaltkreisen zu kommen. Wir skizzieren nur die wesentlichen Schritte des Beweises für den obigen Satz. Beweisskizze: 1. Betrachte U als d × d-Matrix mit d = 2n . Zeige, dass sich U darstellen lässt als Produkt von unitären Matrizen der folgenden Form, die wir hier elementare Matrizen nennen: j j +1 j j +1 1 . .. . 1 a b c d 1 .. .. 1 Genauer: Es gibt elementare Matrizen U1 , . . . , Uk , so dass U = U1 · · · Uk mit k = O 22n . d 2 = 2. Wir betrachten nun die elementaren Matrizen als Operationen auf n Qubits. Wie üblich sei n |xi mit x ∈ {0, 1}n die Standardbasis von 2 . Sei V eine elementare Matrix. Durch Vorund Nachschalten a b einer Permutation der Basisvektoren können wir annehmen, dass die Sube matrix V := c d sich in der unteren, rechten Ecke von V befindet. 67 Damit bewirkt V nur auf den Basisvektoren |1 . . . 10i und |1 . . . 11i etwas Nichttriviales, alle anderen Basisvektoren werden auf sich selbst abgebildet. Die Wirkung von V lässt sich kompakt folgendermaßen darstellen: ( e|x n i, falls (x 1 , . . . , x n−1 ) = (1 . . . 1); |x 1 , . . . , x n−1 i V V |x 1 , . . . , x n i = |x 1 , . . . , x n i, sonst. e). Also ist V = C n−1 ( V Man kann sich überlegen, dass für die oben erwähnte Permutation der Basisvektoren O(n 2 ) e) kann mit Hilfe der ErEin-Qubit- und CNOT-Bausteine ausreichen. Der Baustein C n−1 ( V gebnisse aus den letzten Abschnitten mit O(n) Ein-Qubit- und CNOT-Bausteinen realisiert werden. Die behauptete Größe ergibt sich aus der Anzahl von O(22n ) benötigten elementaren Matrizen gemäß Punkt 1, multipliziert mit der Anzahl Bausteine zur Realisierung jeder elementaren Matrix gemäß Punkt 2. 3.4. Approximative Realisierung von n-Qubit-Operationen Es gibt mit der Konstruktion aus dem letzten Abschnitt noch ein wesentliches Problem: Der verwendete Bausteinsatz enthält überabzählbar viele Bausteine. Aus verschiedenen Gründen, insbesondere wieder praktischen, ist es wünschenswert, mit einem endlichen Bausteinsatz auszukommen. Im Unterschied zu klassischen Schaltkreisen können wir dann aber nicht mehr erwarten, beliebige n-Qubit-Operationen exakt realisieren zu können, da es ja davon überabzählbar viele gibt (was selbst dann gilt, wenn man nur bis auf Phasenvorfaktoren unterschiedliche Operationen zählt). Wie messen wir den Fehler bei einer approximativen Realisierung? Definition: Seien U und V unitäre Operatoren über dem endlich-dimensionalen Hilbertraum H . Nenne dann V eine Approximation von U mit Fehler ε, 0 ≤ ε < 1, falls ε = max k(U − V )|ψik. |ψi∈H Es ist nicht schwer zu zeigen, dass die Anwendung einer Approximation V von U mit kleinem Fehler auf einen Zustand |ψi im Wesentlichen dieselbe Wahrscheinlichkeitsverteilung der Messergebnisse für den resultierenden Zustand liefert, als wenn U angewendet worden wäre. Damit ist die obige Definition motiviert. Wir betrachten nun Quantenschaltkreise über folgendem, endlichen Bausteinsatz: B := {H, T , CNOT}, wobei −iπ/8 1 0 0 iπ/8 e T = = e 0 eiπ/4 0 eiπ/8 der so genannte π/8-Baustein ist. Wir zitieren ohne Beweis folgendes Ergebnis. 68 n n Satz: Sei U : 2 → 2 ein unitärer Operator und ε > 0. Es gebe einen Quantenschaltkreis, der U exakt realisiert und aus s Bausteinen aus der Menge der Ein-Qubit-Bausteine zusammen mit dem CNOT-Baustein besteht. Dann gibt es einen Quantenschaltkreis mit O(s logc (s/ε)) Bausteinen aus B, c > 0 eine Konstante, der eine Approximation von U mit Fehler ε berechnet. Offenbar ist es für den Beweis ausreichend, beliebige Ein-Qubit-Bausteine hinreichend gut mit Hilfe der Ein-Qubit-Bausteine H und T approximieren zu können. Dazu realisiert man mit diesen Bausteinen approximativ Drehungen auf der Blochsphäre bezüglich zweier orthogonaler Achsen und um Winkel, die irrationale Vielfache von π sind. Man kann dann analog zu dem Ergebnis in Abschnitt 3.1 für Drehungen bezüglich y- und z-Achse zeigen, dass jeder unitäre Operator auf 2 mit Hilfe solcher Drehungen darstellbar ist. 69 70 4. Die Quanten-Fourier-Transformation und ihre Anwendungen Dass die Aufgabe, die Primzahlen von den zusammengesetzten zu unterscheiden ” und letztere in ihre Primfactoren zu zerlegen, zu den wichtigsten und nützlichsten der gesamten Arithmetik gehört, ist bekannt. . . außerdem aber dürfte es die Würde der Wissenschaft erheischen, alle Hülfsmittel zur Lösung jenes so eleganten und berühmten Problems fleißig zu vervollkommnen.“ – C. F. Gauß (1801). Wir diskutieren zunächst Quantenschaltkreise für die so genannte Quanten-Fourier-Transformation und für eine darauf aufbauende Operation, die Phasenbestimmung genannt wird. Die Phasenbestimmung benutzen wir, um Quantenschaltkreise für die Bestimmung der Ordnung eines Elementes der Gruppe ( ∗N , · ) zu entwerfen, die wiederum für die Faktorisierung von ganzen Zahlen eingesetzt werden. Während die Quantenschaltkreise für das Ordnungsproblem und die Faktorisierung von ganzen Zahlen polynomielle Größe haben, kennt man keine klassischen Schaltkreise polynomieller Größe für diese Probleme und vermutet auch, dass es keine gibt. Analoge Aussagen gelten wie immer für die Rechenzeiten von Algorithmen anstelle der Schaltkreisgröße. 4.1. Die Quanten-Fourier-Transformation Definition Die Quanten-Fourier-Transformation (kurz QFT) ist die als diskrete Fourier-Transformation oder auch als schnelle Fourier-Transformation bekannte Operation (die z. B. in der Vorlesung DATENSTRUKTUREN behandelt wird) in für Quantenschaltkreise passender Verkleidung. Wir betrachten den Vektorraum N für eine beliebige natürliche Zahl N mit einer ON-Basis |0i, . . . , |N − 1i. Die Quanten-Fourier-Transformation ist ein linearer Operator QFT : N → N , der für j = 0, . . . , N − 1 definiert ist durch N−1 1 X 2πi j k/N e |ki. QFT| j i := √ N k=0 Wir untersuchen diese Definition noch ein bisschen genauer. Zunächst beobachten wir, dass e2πik/N = e2πi(k mod N)/N für ganze Zahlen k gilt (aufgrund der Periodizität der e-Funktion bzw. der Sinus- und Kosinusfunktion). Damit tauchen als Amplituden oben genau die N verschiedenen Zahlen e 2πi j/N mit j = 0, . . . , N − 1 auf, die so genannten N -ten Einheitswurzeln in (dies sind die verschiedenen Lösungen der Gleichung w N = 1). 71 Es ist bekannt, dass für jede N -te Einheitswurzel w 6 = 1 gilt (siehe Vorlesung DATENSTRUKTUREN bzw. Übungsaufgabe): N−1 X w k = 0. k=0 Damit kann man beweisen, dass die Quanten-Fourier-Transformation unitär ist. Seien j, j 0 ∈ {0, . . . , N − 1}. Dann erhalten wir durch Anwenden der Definition QFT| j i † 0 QFT| j i = † N−1 N−1 1 X 2πi j k/N 1 X 2πi j 0 k 0 /N 0 √ √ e |ki e |k i N k=0 N k 0 =0 N−1 N−1 1 X X −2πi j k/N 2πi j 0 k 0 /N e e hk | k 0 i = N 0 = 1 N k=0 k =0 N−1 k X 2πi( j 0 − j )/N e . k=0 0 Für j 0 − j = 0 ist dies offensichtlich 1. Für j 0 − j 6 = 0 ist e2πi( j − j )/N 6 = 1 und gemäß der oben zitierten Summeneigenschaft der N -ten Einheitswurzeln kommt bei der Summe in diesem Fall 0 heraus. Damit bilden die Bildvektoren eine ON-Basis und der QFT-Operator ist unitär. Übungsaufgabe: Stelle die Quanten-Fourier-Transformation in Koordinatenschreibweise dar. Wie sehen für einen Eingabevektor x = [x 0 , . . . , x N−1 ]> ∈ N die Koordinaten des zugehörigen Ausgabevektors y = [y0 , . . . , y N−1 ]> aus? Wie sieht die Matrix der Quanten-FourierTransformation aus (schreibe die Einträge als Potenzen von w = e 2πi/N )? Die Quanten-Fourier-Transformation auf Qubit-Registern Im Folgenden betrachten wir die Quanten-Fourier-Transformation für den wichtigen Spezialfall N = 2n . In diesem Fall können wir die Basisvektoren der ON-Basis von N mit Zuständen von n Qubits identifizieren. Wir sind es gewohnt, die Basisvektoren dann mit booleschen Vektoren x ∈ {0, 1}n zu indizieren. Wir schreiben hier solch einen Vektor als x = (x n−1 . . . x 0 ). Dann ist der zugehörige Basiszustand |xi = |x n−1 i · · · |x 0 i = |x n−1 i ⊗ · · · ⊗ |x 0 i. Es erweist sich als praktisch, zwischen diesen Indizes und einer Indizierung mit ganzen Zahlen hin- und her wechseln zu können. Dazu interpretieren wir einen booleschen Vektor als Pk−1 einfach k j Binärdarstellung, also ist z. B. x = (x k−1 . . . x 0 ) ∈ {0, 1} die Zahl |x| := j =0 x j 2 zugeordnet. Außerdem benutzen wir Binärdarstellungen mit Nachkommastellen. Wir interpretieren P` − j so etwa y = (0 , y`−1 . . . y0 ) als Notation für die Zahl |y| := j =1 y`− j 2 . 72 Wir überlegen uns als erstes, wie der QFT-Operator in unserer neuen Notation aussieht. Für x ∈ {0, 1}n erhalten wir (setze N = 2n ein): QFT|xi = 1 2n/2 X n z∈{0,1}n e2πi|x||z|/2 |zi. Als nächstes leiten wir folgende nützliche Produktdarstellung der Quanten-Fourier-Transformation her. Satz (Produktdarstellung der QFT): Für x = (x n−1 . . . x 0 ) ∈ {0, 1}n gilt: QFT|xi = 1 2πi·|(0 , x0 )| |0i+e |1i ⊗ |0i+e2πi·|(0 , x1 n/2 2 x0 )| |1i ⊗ · · · ⊗ |0i+e2πi·|(0 , xn−1 ...x0 )| |1i . Beweis: Gemäß Definition der Quanten-Fourier-Transformation gilt für z ∈ {0, 1} n n 2πi/2n · 2n/2 · hz| QFT|xi = e2πi|x||z|/2 = e Pn−1 j =0 z j 2 j |(x n−1 . . . x 0 )| . Für eine beliebige ganze Zahl k 6 = 0 bewirkt eine Multiplikation mit 2k in der Binärdarstellung eine Verschiebung um k Stellen, und zwar nach links für k > 0 und nach rechts für k < 0. Die Operation mod 2n bewirkt, dass nur die Stellen n − 1, . . . , 0 einer ganzen Zahl übrig bleiben und höherwertigere Stellen abgeschnitten werden. Wir können mit diesen Beobachtungen die Summe im Exponenten oben umformen zu n−1 X j =0 z j 2 |(x n−1 . . . x 0 )| = n−1 X ≡ n−1 X j Damit erhalten wir, da e 2πi/2 e Pn−1 n ·k = e2πi/2 j =0 j =0 n ·(k z j |(x n−1 . . . x 0 0 . . 0} )| | .{z j Stellen z j |(x n− j −1 . . . x 0 0 . . 0} )| mod 2n . | .{z j Stellen mod 2n ) für ganze Zahlen k gilt: z j 2 j |(x n−1 . . . x 0 )| P 2πi/2n · n−1 j =0 z j |(x n− j −1 . . . x 0 0 . . . 0)| = e P 2πi · n−1 j =0 z j |(0 , x n− j −1 . . . x 0 0 . . . 0)| = e P 2πi · n−1 j =0 z j |(0 , x n− j −1 . . . x 0 )| 2πi/2n · j =0 = e = e2πi z n−1 |(0 , x 0 )| · e2πi z n−2 |(0 , x 1 x 0 )| · · · · · e2πi z 0 |(0 , x n−1 . . . x 0 )| Sei |ψi der Zustand auf der rechten Seite in der Behauptung. Wir schreiben |zi = |z n−1 . . . z 0 i = |z n−1 i⊗· · ·⊗|z 0 i. Es ist nun leicht zu sehen, dass 2n/2 ·hz | ψi offenbar mit der eben berechneten Amplitude übereinstimmt. 73 Quantenschaltkreis für die Quanten-Fourier-Transformation Mit Hilfe der Produktdarstellung der Quanten-Fourier-Transformation ist es nun einfach, einen effizienten Quantenschaltkreis für diese Transformation zu konstruieren. Ein solcher Schaltkreis ist in Abbildung 4.1 gezeigt. Der dort auftauchende Ein-Qubit-Baustein R k für k ∈ {2, . . . , n} hat die unitäre Matrix 1 0 Rk = k . 0 e2πi/2 Wir überzeugen uns wie immer durch sukzessives Anwenden der vorkommenden unitären Transformationen, dass der Schaltkreis das Gewünschte leistet. Der Schaltkreis ist aus n Stufen (Teilschaltkreisen) zusammengesetzt. Stufe j besteht aus einem Hadamard-Baustein, gefolgt von gesteuerten R2 -,. . . , Rn+1− j -Bausteinen. Wir behaupten, dass nach Berechnung der Stufe j auf den obersten j Ausgabeleitungen die im Bild eingezeichneten Zustände liegen. Zu Beginn von Stufe 1 wird zunächst die Hadamard-Transformation auf die oberste Leitung mit Zustand |x n−1 i angewendet. Den Ergebniszustand für alle Leitungen schreiben wir als 1 21/2 |0i + e2πi·|(0 , xn−1 )| |1i |x n−2 . . . x 0 i. Um zu sehen, dass das korrekt ist, müssen wir berücksichtigen, dass e 2πi·|(0 , xn−1 )| = e2πi·1/2 = −1 ist, falls x n−1 = 1, und e2πi·|(0 , xn−1 )| = e2πi·0 = 1, falls x n−1 = 0. Die Anwendung des gesteuerten R2 -Bausteins liefert 1 21/2 |0i + e2πi·|(0 , xn−1 xn−2 )| |1i |x n−2 . . . x 0 i. Danach werden sukzessive gesteuerte R3 -, R4 -, . . . , Rn -Bausteine angewendet, was die Bits x n−3 , . . . , x 0 zu der Binärdarstellung im Exponenten hinzufügt. Es ergibt sich 1 21/2 |0i + e2πi·|(0 , xn−1 ...x0 )| |1i |x n−2 . . . x 0 i. Damit ist Stufe 1 abgeschlossen und der Zustand für die oberste Ausgabeleitung als korrekt nachgewiesen. Stufe 1 |x n−1 i |x n−2 i .. . |x 1 i H R2 ... . .... ... ... Rn−1 Stufe 2 Rn H ... ... ... ... . Rn−2 ... ... Rn−1 ... ... |x 0 i Stufe n − 1 Stufe n H R2 H Abbildung 4.1: Quantenschaltkreis für QFT. 74 √1 2 √1 2 |0i+e2πi|(0 , xn−1 ...x0 )| |1i √1 2 √1 2 |0i+e2πi|(0 , x1 x0 )| |1i |0i+e2πi|(0 , x0 )| |1i |0i+e2πi|(0 , xn−2 ...x0 )| |1i Wir behandeln Stufe 2 analog. Für die erste Leitung liegt nun bereits der gerade ausgerechnete Zustand vor. Anwenden der Hadamard-Transformation auf die zweite Leitung wie im Schaltkreis zu sehen ergibt: 1 22/2 |0i + e2πi·|(0 , xn−1 ...x0 )| |1i |0i + e2πi·|(0 , xn−2 )| |1i |x n−3 . . . x 0 i. Anschließend wenden wir gesteuerte R2 -,. . . , Rn−1 -Bausteine an, mit dem Ergebnis 1 22/2 |0i + e2πi·|(0 , xn−1 ...x0 )| |1i |0i + e2πi·|(0 , xn−2 ...x0 )| |1i |x n−3 . . . x 0 i. Die restlichen Stufen können wir nun genauso ausrechnen. Am Ende erhalten wir den folgenden Gesamtzustand für alle Ausgabeleitungen: 1 2n/2 |0i + e2πi·|(0 , xn−1 ...x0 )| |1i |0i + e2πi·|(0 , xn−2 ...x0 )| |1i . . . |0i + e2πi·|(0 , x0 )| |1i . Der erhaltene Ausgabezustand entspricht nun schon fast dem, was in der Produktdarstellung der Quanten-Fourier-Transformation steht. Es bleibt nur noch, die Reihenfolge der Leitungen einmal komplett umzukehren. Dies kann mit n2 = O(n 2 ) SWAP-Bausteinen geschehen (diese Bausteine haben wir in Abschnitt 1.4 eingeführt). Wie viele Bausteine hat der konstruierte Schaltkreis für die QFT-Operation? Offensichtlich n + (n − 1) + · · · + 2 + 1 = O(n 2 ). Den gesteuerten Rk -Baustein können wir mit den Erkenntnissen aus Kapitel 3 mit Hilfe von konstant vielen Ein-Qubit- und CNOT-Bausteinen realisieren. Wir haben also gezeigt: Satz: Es gibt einen Quantenschaltkreis für den unitären Operator QFT auf n Qubits, der aus O(n 2 ) Ein-Qubit- und CNOT-Bausteinen besteht. Man sollte sich klarmachen, dass dies ein überraschend kleiner Schaltkreis ist. Denn im klassischen Fall benötigt man für die schnelle Fourier-Transformation (FFT) O(N log N ) = O(n2 n ) Bausteine. Wir brauchen also exponentiell viele Bausteine in der Anzahl der Eingabebits im Vergleich zu quadratisch vielen für Quantenschaltkreise. Analoges gilt für die (uniforme) Rechenzeit von Algorithmen anstelle der Schaltkreisgröße (siehe dazu unsere Bemerkungen zur Komplexitätstheorie am Ende von Kapitel 1). Wir erhalten also für Quantenalgorithmen eine exponentielle Beschleunigung im Vergleich zum besten bekannten klassischen Algorithmus. Diese exponentielle Beschleunigung bei der Quanten-Fourier-Transformation ist die zentrale Entdeckung, die zu mehreren verschiedenen Algorithmen für Quantenrechner geführt hat, für die man vermutet, dass sie effizienter sind als entsprechende klassische Algorithmen. Übungsaufgabe: Entwirf einen Quantenschaltkreis für den gesteuerten R k -Baustein, der nur konstant viele Ein-Qubit- und CNOT-Bausteine enthält. 75 Rechengenauigkeit Der Baustein Rk im Quantenschaltkreis für die Quanten-Fourier-Transformation ist physikalisch nur sehr schwer direkt zu realisieren. Es ist 1 0 k+1 = e2πi/2 · Uz (2π/2k ). Rk = k 2πi/2 0 e Wenn wir Rk auf die nahe liegende Weise mit Hilfe der Uz -Operation realisieren (was bei einigen Varianten von realen Quantenrechner tatsächlich funktioniert), müssen wir den Drehwinkel 2π/2k mit exponentieller Genauigkeit in k einstellen, also mit exponentieller Genauigkeit in der Eingabelänge für die k-Werte in der Nähe von n. Tatsächlich ist dies aber kein ernstes Problem, da es ausreicht, eine Approximation der QuantenFourier-Transformation zu berechnen. Was wir darunter verstehen, haben wir in Abschnitt 3.4 definiert. In der Literatur werden verschiedene Ansätze zur approximativen Realisierung der Quanten-Fourier-Transformation diskutiert. Die einfachste Lösung ist hier, auf die Maschinerie aus Abschnitt 3.4 zurückzugreifen. Diese erlaubt uns, jeden Quantenschaltkreis aus EinQubit- und CNOT-Bausteinen durch einen Quantenschaltkreis über dem Bausteinsatz B = {H, T , CNOT} zu approximieren. Wir erhalten zusammen mit unseren Ergebnissen weiter oben: Korollar: Sei ε > 0 beliebig. Dann gibt es einen Quantenschaltkreis, der den unit ären Operator QFT auf n Qubits mit Fehler ε approximiert und O(n 2 logc (1/ε)) Bausteine aus B = {H, T , CNOT} enthält, wobei c > 0 eine geeignete Konstante ist. Die Bausteine in B sind für gängige experimentelle Quantenrechner nun tatsächlich einfach realisierbar. Es bleibt noch zu zeigen, dass eine Verwendung der so erhaltenen approximativen Quanten-Fourier-Transformation für die hier beabsichtigten Anwendungen keine Probleme verursacht. Dies ergibt sich aus der schon in Abschnitt 3.4 erwähnten Tatsache, dass für eine gute Approximation die Wahrscheinlichkeitsverteilung der Messergebnisse für Ergebniszustände im Wesentlichen mit der Wahrscheinlichkeitsverteilung für die eigentlich anzuwendende Operation übereinstimmt. Eine genauere Analyse sparen wir uns lieber. Inverse Quanten-Fourier-Transformation Für spätere Anwendungen halten wir noch fest, wie die inverse Quanten-Fourier-Transformation aussieht. Dies ist die Operation QFT−1 = QFT† mit N−1 1 X −2πi j k/N e |ki QFT† | j i = √ N k=0 für j ∈ {0, . . . , N −1}. Für die inverse Quanten-Fourier-Transformation können wir auch leicht einen Quantenschaltkreis der Größe O(n 2 ) konstruieren. Wir müssen dazu nur die Reihenfolge der Bausteine im Schaltkreis für die QFT-Operation umkehren und jeweils jeden Baustein durch seinen inversen Baustein ersetzen. 76 Übungsaufgabe: Zeichne den aus der angegebenen Konstruktion resultierenden Quantenschaltkreis für QFT−1 explizit auf (analog zu Abbildung 4.1). 4.2. Phasenbestimmung Problem und Quantenschaltkreis Wir betrachten hier das folgende Problem. Gegeben ist ein unitärer Operator U : n Außerdem erhalten wir noch einen Einheitsvektor |ui ∈ 2 mit 2n → 2n . U |ui = λ|ui, wobei λ ∈ mit |λ| = 1. Also ist |ui ein Eigenvektor zum Eigenwert λ von U . (Laut Anhang B haben alle Eigenwerte eines unitären Operators Betrag 1.) Wir wollen einen Wert ϕ ∈ bestimmen, so dass e2πiϕ = λ gilt. Solch ein Wert heißt Phase des Eigenwertes. Offenbar ist ϕ durch diese Formel nicht eindeutig bestimmt, denn es ist e 2πi(ϕ+k) = e2πiϕ für beliebige ganze Zahlen k. Wir fordern daher zusätzlich 0 ≤ ϕ < 1. Einen Algorithmus für die Phasenbestimmung setzen wir später als Unterprogramm ein. Für U wird dann ein konkreter unitärer Operator gewählt. Wir vereinfachen das Problem zunächst, indem wir uns auf Phasen ϕ beschränken, die durch t Binärstellen nach dem Komma exakt darstellbar sind, also ϕ = |(0 , ϕt−1 . . . ϕ0 )| für geeignete ϕt−1 , . . . , ϕ0 ∈ {0, 1}. Formal erhalten wir damit wieder ein Promise-Problem, bei dem wir nur korrekt arbeiten müssen, falls diese Zusatzvoraussetzung über ϕ erfüllt ist. Im Hinblick auf spätere Anwendungen ist es nützlich, wenn wir hier davon ausgehen, dass j der unitäre Operator U nur in Form von gesteuerten U 2 -Bausteinen für j = 0, . . . , t − 1 benutzt wird. Diese Bausteine können wir auch wieder als Blackbox ansehen, die wir vorgegeben bekommen. In den späteren Konstruktionen werden diese Bausteine dann durch konkrete Teilschaltkreise ersetzt. Wir können damit das Problem noch etwas genauer formulieren. Problem: Phasenbestimmung. n n Eingabe: Unitärer Operator U : 2 → 2 , Einheitsvektor |ui ∈ N mit U |ui = λ|ui. Es sei λ = e2πiϕ für ein ϕ mit 0 ≤ ϕ < 1, das mit t Nachkommastellen darstellbar ist. Der j Operator U ist gegeben durch gesteuerte U 2 -Bausteine für j = 0, . . . , t − 1. Aufgabe: Berechne ϕ. Wir stellen einen Quantenschaltkreis für die Phasenbestimmung vor, der aus zwei Teilen besteht. Wir diskutieren zunächst den ersten Teil, der in Abbildung 4.2 dargestellt ist. Dieser Schaltkreis arbeitet auf zwei Qubit-Registern: einem mit t Qubits, das wir Steuerregister nennen, und einem mit n Qubits, das wir Zielregister nennen. Außer Hadamard-Bausteinen werden j nur die gesteuerten U 2 -Bausteine aus der Eingabe des Problems verwendet. 77 t Qubits n Qubits |0i |0i |0i |0i ( |ui √1 2 t−1 |0i + e2πiϕ·2 |1i H √1 2 |0i + e2πiϕ·2 |1i H √1 2 H √1 2 0 |0i + e2πiϕ·2 |1i H . . . .. U2 0 U2 1 U2 . . . . 2 . U2 t−1 n n 2 1 |0i + e2πiϕ·2 |1i |ui Abbildung 4.2: Erster Teilschaltkreis für die Phasenbestimmung. Wie ergeben sich die in der Abbildung gezeigten Zustände auf den Ausgangsleitungen? Zunächst fällt auf, dass die oberen t Leitungen ja eigentlich Steuerleitungen sind, so dass dort intuitiv die Ausgabezustände der Hadamard-Bausteine ankommen sollten. Wir müssen also nachrechnen, warum die gezeigten Zustände tatsächlich korrekt sind. Wir überlegen uns das separat für die j -te Leitung von unten im Steuerregister zusammen mit den Leitungen für das Zielregister, das |ui enthält. j Zunächst überlegen wir uns, was die gesteuerte U 2 -Transformation bewirkt. Wir erhalten durch Einsetzen der Basiszustände für die j -te Leitung von unten im Steuerregister: |0i|ui 7 → |0i|ui, und 2j j j |1i|ui 7 → |1iU |ui = |1i U · · U}|ui = |1i e2πiϕ·2 |ui = e2πiϕ·2 |1i|ui. | ·{z 2 j -mal Wir ordnen hier also willkürlich den Phasenvorfaktor dem Zustand für die erste Leitung zu, was zu dem erwähnten seltsamen Aussehen der Zustände an den Ausgängen führt. Im obigen Schaltkreis wird nun vorher noch die Hadamard-Transformation angewendet. Insgesamt erhalten wir damit für das Paar aus j -ter Leitung von unten im Steuerregister und dem Zielregister: 1 1 j |0i|ui 7 → √ (|0i + |1i) |ui 7 → √ |0i + e2πiϕ·2 |1i |ui. 2 2 Wir haben also den Zustand herausbekommen, der in Abbildung 4.2 gezeigt ist. Der Zustand des Steuerregisters nach Ausführung des abgebildeten Quantenschaltkreises ist damit (Reihenfolge der Leitungen wie immer von oben nach unten): |ψi = 1 2t/2 |0i + e2πiϕ·2 t−1 |1i |0i + e2πiϕ·2 78 t−2 0 |1i · · · |0i + e2πiϕ·2 |1i . Da e2πik = 1 für ganze Zahlen k gilt, haben wir j j e2πiϕ · 2 = e2πi · |(0 , ϕt−1 . . . ϕ0 )| · 2 = e2πi · |(ϕt−1 . . . ϕt− j , ϕt− j −1 . . . ϕ0 )| = e2πi · |(0 , ϕt− j −1 . . . ϕ0 )| . Also lässt sich der Zustand des Steuerregisters auch schreiben als |ψi = 1 2t/2 |0i + e2πi·|(0 , ϕ0 )| |1i |0i + e2πi·|(0 , ϕ1 ϕ0 )| |1i · · · |0i + e2πi·|(0 , ϕt−1 ...ϕ0 )| |1i . Dies ist nach Abschnitt 4.1 nun aber genau die Produktdarstellung der Ausgabe einer QFTOperation auf t Qubits, angewendet auf den Eingabezustand |ϕ t−1 . . . ϕ0 i. Damit liefert eine Anwendung der inversen QFT-Operation auf den obigen Zustand diesen Eingabezustand zurück. Es bleibt danach nur noch, das Steuerregister zu messen, was mit Wahrscheinlichkeit 1 die Binärdarstellung (ϕt−1 . . . ϕ0 ) der gewünschten Phase ϕ des Eigenwertes von U liefert. Der zweite Teil des Quantenschaltkreises für die Phasenbestimmung besteht demnach aus einem Schaltkreis für QFT−1 , der auf den t Qubits des Steuerregisters operiert sowie einer anschließenden Messung dieses Registers. Mit Hilfe folgender Beobachtung können wir den gesamten Schaltkreis für die Phasenbestimmung auf kompakte Weise zusammenfassen. j Lemma: Die Anwendung der gesteuerten U 2 -Bausteine für j = 0, . . . , t − 1 im ersten Teilschaltkreis für die Phasenbestimmung auf den Basiszustand |xi = |x t−1 . . . x 0 i im Steuerregister bewirkt die Transformation |x t−1 . . . x 0 i|ui 7 → |x t−1 . . . x 0 iU |x| |ui j Beweis: Die Operation U 2 wird auf das Zielregister angewendet, falls x j = 1, ansonsten wird j die Identität angewendet. Dies können wir auch als Operation U x j ·2 zusammenfassen. Damit ergibt sich insgesamt als Auswirkung der gesteuerten Operationen: |x t−1 . . . x 0 iU xt−1 ·2 t−1 0 · · · U x0 ·2 |ui = |x t−1 . . . x 0 iU Pt−1 j =0 xj2j |ui = |x t−1 . . . x 0 iU |x| |ui. Der gesamte Quantenschaltkreis für die Phasenbestimmung lässt sich damit wie in Abbildung 4.3 gezeigt darstellen. Die Semantik des dort verwendeten gesteuerten Bausteins ergibt sich aus obigem Lemma. 79 |0i⊗t H ⊗t |xi t QFT−1 t t U |x| |ui n |ui n Abbildung 4.3: Quantenschaltkreis für die Phasenbestimmung. Phasenbestimmung für beliebige Phasen Wir betrachten hier das Phasenbestimmungs-Problem für beliebige ϕ ∈ mit 0 ≤ ϕ < 1. Wir stellen uns naiv an und wenden einfach den im letzten Abschnitt vorgestellten Quantenschaltkreis auch in diesem allgemeinen Fall an. Erstaunlicherweise ist dieser Ansatz tatsächlich erfolgreich. Es zeigt sich, dass die Messung am Ende dann mit hoher Wahrscheinlichkeit den Wert liefert, der sich durch Runden von ϕ auf t Nachkommastellen ergibt. Wir werden im Folgenden sehen, warum das so ist. Sei a ∈ {0, . . . , 2t − 1} so gewählt, dass a/2t der Wert ist, der durch Runden von ϕ auf t Nachkommastellen entsteht. Es gilt dann mit 0 ≤ |δ| ≤ 2−(t+1) . ϕ = a/2t + δ Wir zeigen, dass die Messung des Steuerregisters im Quantenschaltkreis aus Abbildung 4.3 mit Wahrscheinlichkeit mindestens 4/π 2 = 0,405 . . . die Binärdarstellung von a liefert. Wir leiten als erstes eine Alternativdarstellung des Inhalts des Steuerregisters nach Anwendung des ersten Teilschaltkreises der Phasenbestimmung her. Lemma: Der Zustand des Steuerregisters nach der Anwendung des ersten Teilschaltkreises f ür die Phasenbestimmung kann geschrieben werden als t |ψi = 2 −1 1 X 2t/2 k=0 e2πiϕk |ki. Beweis: Wir haben bereits im letzten Abschnitt gezeigt, dass der Zustand des Steuerregisters |ψi = 1 2t/2 |0i + e 2πiϕ·2t−1 |1i |0i + e 2πiϕ·2t−2 |1i · · · |0i + e 2πiϕ·20 ist. Schreibe |ki = |kt−1 i ⊗ · · · ⊗ |k0 i und berechne 2t/2 · hk | ψi. Dies liefert 2t/2 · hk | ψi = ekt−1 ·2πiϕ·2 t−1 · ekt−2 ·2πiϕ·2 t−2 0 · · · ek0 ·2πiϕ·2 = e2πiϕ Daraus ergibt sich die Behauptung. Pt−1 j =0 k j 2 j |1i . = e2πiϕk . 80 Wir wenden nun die inverse Quanten-Fourier-Transformation (für t-Qubit-Register) auf die Darstellung des Zustands |ψi im Steuerregister aus dem Lemma an: t t 2 −1 2 −1 1 X 2πiϕk 1 X −2πi`k/2t QFT |ψi = t/2 e · t/2 e |`i 2 2 † k=0 = = X 2t −1 `=0 X 2t −1 `=0 `=0 1 X 2πi(a/2t + δ)k −2πi`k/2t e e |`i (Einsetzen von ϕ = a/2t + δ) t 2 2t −1 k=0 2 −1 1 X 2πi(a − `)k/2t 2πiδk |`i e e 2t t (Umarrangieren). k=0 Sei α die Amplitude des Basisvektors |ai in obiger Summe. Durch Einsetzen von ` = a in den geklammerten Ausdruck ergibt sich t 2 −1 1 X 2πiδk α = t e . 2 k=0 Dies ist offensichtlich eine geometrische Summe, so dass die übliche Summenformel (die auch für komplexe Zahlen gilt) Folgendes liefert: t 1 1 − e2πiδ2 α = t . 2 1 − e2πiδ Wir sind an der Wahrscheinlichkeit interessiert, die Binärdarstellung von a zu messen. Diese Wahrscheinlichkeit ist natürlich |α|2 . Für die Abschätzung von |α| benutzen wir folgendes Lemma, das wir vorab beweisen. Lemma: Sei −π ≤ θ ≤ π . Dann gilt: |θ | ≤ |1 − eiθ | ≤ |θ |. π/2 Beweis: Es ist |1 − eiθ |2 = (1 − cos θ )2 + sin2 θ = 2(1 − cos θ ), also |1 − eiθ | = √ √ 2 1 − cos θ. Die√behaupteten Abschätzungen folgen nun durch Kurvendiskussion“ der Funktion f (θ ) := √ ” 2 1 − cos θ im Intervall [0, π ] (analoge Aussagen gelten im Intervall [−π, 0] wegen Symmetrie). Die Funktion ist konkav (Bilden der zweiten Ableitung) und es ist f (0) = 0 und f (π ) = 2. Daraus folgt die untere Schranke. Die obere Schranke folgt, da außerdem die rechtsseitige Ableitung von f an der Stelle 0 eins ist. 81 Wir wenden das Lemma auf die oben hergeleitete Formel t 1 1 − e2πiδ2 α = t . 2 1 − e2πiδ t an. Wir haben |2π δ2t | ≤ π , da |δ| ≤ 2−t−1 . Also gilt |1 − e2πiδ2 | ≥ |2π δ2t |/(π/2) = 4|δ|2t . Außerdem ist |1 − e2πiδ | ≤ 2π |δ|. Damit erhalten wir insgesamt t 2πiδ2 1 − e 1 1 4|δ|2t 2 |α| = t ≥ t = . 2 1 − e2πiδ 2 2π |δ| π Also ist die Wahrscheinlichkeit, die Binärdarstellung von a zu messen, |α| 2 ≥ 4/π 2 , wie behauptet. Der Quantenschaltkreis für die Phasenbestimmung besteht aus t Hadamard-Bausteinen, den j gegebenen gesteuerten U 2 -Bausteinen und einem Schaltkreis für die inverse Quanten-FourierTransformation auf dem Steuerregister, für den O(t 2 ) Ein-Qubit- und CNOT-Bausteine benötigt werden. Zusammengefasst haben wir damit folgendes Ergebnis gezeigt. n n Satz: Für einen beliebigen unitären Operator U : 2 → 2 und einen Einheitsvektor n |ui ∈ 2 mit U |ui = e2πiϕ |ui, 0 ≤ ϕ < 1, löst der Quantenschaltkreis aus Abbildung 4.3 das zugehörige Phasenbestimmungsproblem mit O(t 2 ) Ein-Qubit- und CNOT-Bausteinen und j gesteuerten U 2 -Bausteinen für j = 0, . . . , t − 1, indem er als Ergebnis einer Messung des Steuerregisters mit Wahrscheinlichkeit mindestens 4/π 2 = 0,405 . . . die auf t Nachkommastellen gerundete Binärdarstellung von ϕ liefert. 4.3. Das Ordnungsproblem Wir beschäftigen uns hier mit dem Rechnen in modulo einer natürlichen Zahl N ≥ 1 und wiederholen kurz einige aus der Mathematik (hoffentlich. . .) bekannten Details. Die Menge N = {0, . . . , N − 1} bildet mit der Addition und Multiplikation modulo N einen Ring. Im Allgemeinen ist N kein Körper, denn nicht alle Elemente ungleich 0 haben Inverse bezüglich der Multiplikation. Wie üblich bezeichnen wir die Menge der bezüglich Multiplikation invertierbaren Elemente in N mit ∗N . Man kann leicht zeigen, dass ∗N gerade aus den Elementen in N \ {0} besteht, die zu N teilerfremd sind. Die Anzahl der Elemente in ∗N wird mit ϕ(N ) bezeichnet. Die Menge ∗N bildet zusammen mit der Multiplikation modulo N die Gruppe ( ∗N , · ), genannt die multiplikative Gruppe modulo N . Die Ordnung eines Elementes x einer beliebigen Gruppe ist definiert als die kleinste, von Null verschiedene natürliche Zahl r , für die x r = 1 gilt (wobei 1 das Einselement der Gruppe bezeichnet). Für x ∈ {1, . . . , N − 1} teilerfremd zu N ist die Ordnung von x in der Gruppe ( ∗N , · ) definiert, die wir mit ord N (x) bezeichnen. Wir beschäftigen uns genauer hier mit folgendem Problem. 82 Problem: Ordnungsbestimmung. Eingabe: Natürliche Zahl N ≥ 1, x ∈ ∗. N Aufgabe: Berechne ord N (x). Aufgrund eines Satzes von Euler haben wir für alle x ∈ ∗: N x ϕ(N) ≡ 1 mod N . Damit ist insbesondere klar, dass ord N (x) ≤ ϕ(N ) ≤ N − 1 gilt. Wir sehen, dass wir durch bloßes Berechnen der Potenzen x j für j = 1, 2, . . . , N −1 das Ordnungsproblem lösen können. Allerdings hat dieser Algorithmus die Rechenzeit 2(N ), und das ist exponentiell in der Eingabelänge 2dlog N e des Problems. Es ist bis heute kein klassischer Polynomialzeit-Algorithmus für das Problem der Ordnungsbestimmung bekannt. Es wird auch allgemein vermutet, dass dieses Problem exponentielle Rechenzeit auf einem klassischen Rechner erfordert. Wir überlegen uns hier, wie man das Problem mit einem Quantenschaltkreis polynomieller Größe lösen kann. Dazu setzen wir den Quantenschaltkreis für die Phasenbestimmung aus dem letzten Abschnitt ein. Sei im Folgenden L = dlog N e die Bitlänge der Kodierung von N . Sei x ∈ ∗N die Zahl, deren Ordnung wir bestimmen wollen. Der Operator, auf den wir die KonL L struktion anwenden, ist U : 2 → 2 mit ( |(x y) mod N i, falls 0 ≤ y ≤ N − 1; U |yi := |yi, falls N ≤ y ≤ 2 L − 1. Die Definition für den Fall N ≤ y ≤ 2 L − 1 benötigen wir nur, weil aufgrund der binären Kodierung der Eingabe die Dimension des Raumes eine Zweierpotenz sein muss. Sie spielt ansonsten keine weitere Rolle. Proposition: Der oben definierte lineare Operator U ist unitär. Beweis: Es reicht aus, folgende verschiedenen Fälle zu betrachten. y, z ∈ ∗N : (U |yi)† U |zi = h(x y) mod N | (x z) mod N i = 1, falls y = z, und 0 sonst, da x ∈ ∗N . y ∈ ∗N , N ≤ z ≤ 2 L − 1: Offensichtlich ist dann (U |yi)† U |zi = h(x y) mod N | zi = 0, da ((x y) mod N ) ∈ {0, . . . , N − 1} und z ≥ N . N ≤ y, z ≤ 2 L − 1: Es ist (U |yi)† U |zi = hy | zi = 1, falls y = z, und 0 sonst. Sei r = ord N (x). Wir zeigen nun, dass die Ordnung r sich in der Phase von geeigneten Eigenvektoren von U wiederfindet. Lemma: Für s ∈ {0, . . . , r − 1} ist r −1 1 X −2πisk/r k |u s i := √ e |(x ) mod N i r k=0 Eigenvektor von U zum Eigenwert e 2πis/r . 83 Beweis: r −1 1 X −2πisk/r k+1 U |u s i = √ e |(x ) mod N i = e2πis/r |u s i. r k=0 Wir konstruieren den Quantenschaltkreis für die Phasenbestimmung speziell für den unitären Operator U (vgl. Bild 4.2 und Bild 4.3). Wir kümmern uns später darum, wie wir die gesteuj erten U 2 -Bausteine für j = 0, . . . , t − 1 realisieren können. Wir überlegen uns, was passiert, wenn wir die Phasenbestimmung auf |ui = |u s i für irgendein s ∈ {0, . . . , r − 1} anwenden. Dann liefert nach den Ergebnissen des letzten Abschnittes der Quantenschaltkreis mit Wahrscheinlichkeit mindestens 4/π 2 eine auf t Stellen gerundete Binärdarstellung der Phase s/r des Eigenwertes e2πis/r bezüglich |u s i. Wir zeigen später, dass wir aus dem gerundeten Wert für s/r für gutartige“ s mit Hilfe eines effizienten klassischen Algorithmus tatsächlich die Ord” nung r rekonstruieren können. Wir behandeln allerdings zunächst noch ein anderes Problem. Es ist nicht klar, wie wir den Eingabevektor |u s i präparieren können, ohne bereits die Ordnung r zu kennen. Der entscheidende Trick zur Lösung dieses Problem ist es, die Phasenbestimmung für eine normierte Superposition aller Eigenvektoren |u s i im Zielregister auszuführen. Es gilt nämlich praktischerweise: Lemma: r −1 1 X |u s i = |1i. √ r s=0 Beweis: Wir haben r −1 r −1 r −1 1 X 1 X −2πisk/r k 1 X |u s i = √ e |(x ) mod N i √ √ r r r s=0 s=0 k=0 r −1 r −1 X X 1 −2πisk/r |(x k ) mod N i. e = r k=0 s=0 In der inneren Summe werden alle Potenzen der r -ten Einheitswurzel e −2πik/r aufsummiert. Aufgrund der Summationseigenschaft der r -ten Einheitswurzeln (siehe Abschnitt 4.1) hat die Summe den Wert r , falls k = 0, und 0 sonst. Damit folgt die Behauptung. Wir können uns berechtigte Hoffnungen machen, dass wir den Zustand |1i für vernünftige physikalische Realisierungen von Quantenrechnern tatsächlich präparieren können. Wir müssen uns nun allerdings überlegen, √ Pr −1was der Quantenschaltkreis für die Phasenbestimmung bei der Eingabe |ui := (1/ r ) s=0 |u s i = |1i im Zielregister tut. Beachte, dass im Allgemeinen dieses |ui kein Eigenvektor von U mehr ist. Sei |ψs i die Ausgabe im Steuerregister für die Eingabe |u s i im Zielregister. Da der Quantenschaltkreis insbesondere eine lineare Abbildung berechnet, führt er für die Eingabe |ui im Zielregister folgende Transformation auf Steuer- und Zielregister aus: r −1 r −1 r −1 1 X 1 X ⊗t 1 X ⊗t ⊗t |0i |ui = |0i √ |u s i = √ |0i |u s i 7 → √ |ψs i|u s i =: |ψi. r r r s=0 s=0 84 s=0 Wir wollen wissen, wie der Teilzustand des Ergebniszustandes |ψi für das Steuerregister aussieht. Wie wir in Kapitel 2 gelernt haben, schreiben wir den Ergebniszustand als allgemeinen Zustand |ψihψ| und bilden die partielle Spur über das Zielregister. Dazu müssen wir uns noch auf geeignete ON-Basen für die beteiligen Hilberträume festlegen. Für das Steuerregister sei dies |0i, . . . , |2t − 1i. Für das Zielregister betrachten wir nur den Untervektorraum, der von den Vektoren |u 0 i, . . . , |u r −1 i aufgespannt wird. Da die Eigenvektoren eines beliebigen unitären Operators zu verschiedenen Eigenwerten orthogonal sind, bilden diese Vektoren bereits selbst eine ON-Basis des entsprechenden Untervektorraumes (man kann sich auch für den konkreten Operator U leicht von dieser Tatsache überzeugen). Übungsaufgabe: Rechne für den hier verwendeten unitären Operator U nach, dass die Eigenvektoren |u s i für s = 0, . . . , r − 1 orthogonal sind. Sei nun ρS der Teilzustand des Steuerregisters, der sich durch Bilden der partiellen Spur über das Zielregister aus ρ = |ψihψ| ergibt. Die Definition der partiellen Spur besagt, dass für beliebige j, k ∈ {0, . . . , 2t − 1} gilt: h j |ρS |ki = r −1 X s=0 h j |hu s |ρ|ki|u s i = r −1 X s=0 X r −1 1 = h j| |ψs ihψs | |ki. r X 1 |ψa i|u a ihψb |hu b | |ki|u s i h j |hu s | r a,b s=0 Es ist also r −1 1X |ψs ihψs |. ρS = r s=0 Die Messung des Steuerregisters liefert damit für ein zufällig gemäß Gleichverteilung gewähltes s ∈ {0, . . . , r − 1} entweder mit Wahrscheinlichkeit mindestens 4/π 2 den auf t Nachkommastellen gerundeten Wert von s/r oder irgendetwas, das für uns uninteressant ist. j Realisierung der gesteuerten U 2 -Bausteine Wir realisieren aus Effizienzgründen die komplette Anwendung aller gesteuerten Bausteine 0 t−1 U 2 , . . . , U 2 in einem einzigen Quantenbaustein. Mit Hilfe der Ergebnisse aus Abschnitt 4.2 und der Definition von U ergibt sich, dass diese gesteuerten Bausteine zusammen die Transformation |zi|yi 7 → |ziU z |yi = |zi|(x z y) mod N i bewirken, wobei y ∈ {0, . . . , N − 1} und z ∈ {0, . . . , 2t − 1}. Die Eingaben x und N für das Ordnungsproblem werden nur an dieser Stelle verwendet. Wir suchen einen Quantenschaltkreis, der die obige Transformation berechnet und neben y und z auch noch N und x als Eingaben erhält. 85 Dazu reicht es aus, wenn wir einen entsprechenden klassischen Schaltkreis konstruieren. Wir formen diesen dann anschließend mit Hilfe der Erkenntnisse aus Abschnitt 1.5 in einen reversiblen Schaltkreis asymptotisch gleicher Größe um. Dieser reversible Schaltkreis kann dann auch als Quantenschaltkreis eingesetzt werden. Der durch den klassischen Schaltkreis implementierte Algorithmus besteht aus den folgenden Schritten: j 1. Für j = 0, . . . , t − 1 berechnen wir die Potenzen p j := x 2 mod N mit der Methode des iterierten Quadrierens. Es ist p1 = (x 2 ) mod N und p j = ( p 2j −1 ) mod N für j ≥ 2. Jeden p j -Wert erhalten wir also durch eine L-Bit-Multiplikation, Abschneiden des Ergebnisses auf L Bits und anschließende Berechnung des Restes modulo N . Ein Schaltkreis für p0 , . . . , pt−1 , der diesen Ansatz auf naive Weise mit Hilfe der Schulmethode für die Multiplikation und Division durchführt, hat Größe O(t L 2 ). 2. Wir berechnen (x z y) mod N = h x z t−1 2 t−1 i t−2 0 mod N · x z t−2 2 mod N · · · x z 0 2 mod N · y mod N , wobei |(z t−1 . . . z 0 )| = z und z t−1 , . . . , z 0 ∈ {0, 1}. Dazu reichen offensichtlich t L-BitMultiplikationen von bereits berechneten Werten bzw. dem Eingabewert y und eine abschließende Berechnung des Restes modulo N . Die Größe des entsprechenden Schaltkreises (wieder mit Schulmethoden) ist O(t L 2 ). 0 t−1 Der erhaltene Quantenschaltkreis für die gesteuerten Operationen U 2 , . . . , U 2 besteht aus O(t L 2 ) Toffoli-Bausteinen und kann damit (siehe Kapitel 3) mit ebenso vielen Ein-Qubit- und CNOT-Bausteinen realisiert werden. Berechnung der Ordnung r aus dem gerundeten Wert von s/ r Wir nehmen an, dass wir aufgrund der Phasenbestimmung den auf t Nachkommastellen gerundeten Wert für s/r erhalten haben. Wir möchten aus diesem Schätzwert die rationale Zahl s/r rekonstruieren. Dies geht, indem wir die Darstellung dieser rationalen Zahl als Kettenbruch aus dem Schätzwert gewinnen, was hier beschrieben werden soll. Dieses Problem kann sogar klassisch effizient gelöst werden. Ein endlicher Kettenbruch ist ein Ausdruck der Form 1 a0 + 1 a1 + a2 + . . . wobei a0 ∈ und a1 , a2 , . . . , am ∈ [a0 , a1 , . . . , am ]. 1 am−1 + a1m . Wir verwenden dafür die kompakte Schreibweise Ein unendlicher Kettenbruch wird durch eine Folge von Zahlen a 0 , a1 , a2 , . . . mit a0 ∈ und a j ∈ für j ≥ 1 beschrieben und (falls dadurch keine Missverständnisse entstehen) in der Form [a0 , a1 , a2 , . . .] notiert. 86 Man kann zeigen, dass sich jede rationale Zahl durch genau einen endlichen Kettenbruch [a0 , a1 , . . . , am ] darstellen lässt, falls man die zusätzliche Einschränkung macht, dass a m ≥ 2 gelten muss für den Fall m ≥ 1. Die zusätzliche Einschränkung ist notwendig, da mit [a0 , a1 , . . . , am ], m ≥ 1, jedenfalls auch [a0 , a1 , . . . , am − 1, 1] Kettenbruch für dieselbe Zahl ist. Weiterhin gibt es auch für jede irrationale Zahl genau einen unendlichen Kettenbruch. (Siehe dazu z. B. Bundschuh, Einführung in die Zahlentheorie, Springer-Verlag.) Wie in Anhang E gezeigt wird, kann der bekannte euklidische Algorithmus zur Berechnung zur Berechnung der Kettenbruchdes größten gemeinsamen Teilers zweier Zahlen a, b ∈ darstellung für a/b umfunktioniert werden. Für L-Bit-Zahlen a, b als Eingabe erhalten wir einen (klassischen) Schaltkreis der Größe O(L 3 ), der die Kettenbruchdarstellung der Länge O(L) von a/b berechnet. Kettenbruchdarstellungen für beliebige rationale Zahlen, nicht nur für positive, erhalten wir mit dem gleichen Ansatz durch Fallunterscheidung und entsprechende Vorzeichenbehandlung. Reelle Zahlen kann man bekanntlich beliebig gut durch rationale Zahlen approximieren. Es gilt nun sogar genauer, dass für eine rationale Zahl nahe genug“ an einer reellen Zahl die (endliche) ” Kettenbruchdarstellung der rationalen Zahl den Anfang der (evtl. unendlichen) Kettenbruchdarstellung der reellen Zahl bildet. Wir benutzen die folgende Aussage ohne Beweis (dieser ist z. B. in Anhang 4 des Buches von Nielsen und Chuang enthalten): Satz: Sei a ∈ und seien s ∈ 0, r∈ mit s 1 . − a ≤ r 2r 2 Dann stimmt die Kettenbruchdarstellung von s/r mit dem Anfang der Kettenbruchdarstellung von a überein. Damit lässt sich nun unser eigentliches Problem lösen. Nehmen wir an, der Algorithmus für die Phasenbestimmung hat den auf t Nachkommastellen gerundeten Wert a von s/r geliefert, wobei s ∈ {0, . . . , r − 1} und r ∈ {1, . . . , N − 1}. Wenn wir t := 2L für die Anzahl der Qubits im Steuerregister wählen, gilt s 1 1 1 ≤ ≤ , − a ≤ 2−(t+1) = 2L 2 r 2·2 2N 2r 2 da r ≤ N ≤ 2 L . Also ist die Voraussetzung für obigen Satz erfüllt. Wenn wir den Kettenbruchalgorithmus auf a anwenden, erhalten wir einen Kettenbruch [a 0 , a1 , . . . , am ] mit m = O(L), der den Kettenbruch für s/r als Präfix hat. Dies liefert m + 1 Kandidaten s 0 /r 0 für s/r . Unter diesen Kandidaten gibt es nur genau einen mit r 0 ≤ N − 1 und Abstand |s 0 /r 0 − a| ≤ 1/2N 2 (da zwei verschiedene Brüche mit Nenner höchstens N − 1 Abstand größer als 1/N 2 haben). Diesen Kandidaten können wir finden, indem wir für j = 0, 1 . . . , m jeweils den Bruch s 0 /r 0 berechnen, der durch [a0 , a1 , . . . , a j ] dargestellt wird und die angegebenen Bedingungen testen. Dies geht naiv in Zeit O(L 4 ). Ein verbesserter Algorithmus benutzt eine Rekursionsformel für die Berechnung der durch [a0 , a1 , . . . , a j ] dargestellten Brüche, siehe z. B. Theorem A4.15 im Anhang 4 des Buches von Nielsen und Chuang, und kommt damit auf Rechenzeit O(L 3 ) (hier ohne Beweis). 87 Analyse Sei t = 2L als Größe des Steuerregisters für die Phasenbestimmung gewählt. Wir gehen bei der Ordnungsbestimmung folgendermaßen vor: 1. Konstruiere den Quantenschaltkreis für die Phasenbestimmung für den unitären Operator U mit U |yi = |(x y) mod N i für y ∈ {0, . . . , N − 1}. Baue dazu als wesentliches Teilmodul einen reversiblen Schaltkreis für die Transformation |zi|yi 7 → |ziU z |yi = |zi|(x z y) mod N i, y ∈ {0, . . . , N − 1}. Dies geht in Größe O(t L 2 ) = O(L 3 ). Zusammen mit den in Abschnitt 4.2 bereits beschriebenen Schaltkreisteilen aus O(t 2 ) = O(L 2 ) Bausteinen kommen wir für den gesamten Quantenschaltkreis für die Phasenbestimmung ebenfalls auf Größe O(L 3 ). 2. Wende den Quantenschaltkreis für die Phasenbestimmung aus Schritt 1 auf den Zustand |ui = |1i im Zielregister an und miss am Ende das Steuerregister. Das Ergebnis der Messung kann durch ein zweistufiges Zufallsexperiment beschrieben werden: – Zufällig gemäß Gleichverteilung wird s ∈ {0, . . . , r − 1} gewählt. – Unabhängig vom vorhergehenden Schritt wird mit Wahrscheinlichkeit mindestens 4/π 2 die auf t Nachkommastellen gerundete Binärdarstellung von s/r produziert. 3. Wende den klassischen Algorithmus zur Bestimmung der Kettenbruchdarstellung auf das Ergebnis aus Schritt 2 an, um unter der Annahme, dass der letzte Schritt erfolgreich war, den Wert s/r zu bestimmen. Dies kann in Rechnenzeit bzw. Schaltkreisgröße O(L 3 ) durchgeführt werden. Nehmen wir an, dass Schritt 2 erfolgreich war. Dann liefert Schritt 3 einen gekürzten Bruch s 0 /r 0 mit s 0 /r 0 = s/r . Falls ggT(s, r ) = 1 gilt, haben wir s 0 = s und r 0 = r und damit eine Lösung des Ordnungsproblems. Es kann aber auch der Fall ggT(s, r ) > 1 eintreten, dann ist r 0 nur ein echter Teiler von r . Diese beiden Fälle können wir leicht unterscheiden, indem wir 0 testen, ob x r ≡ 1 mod N gilt. Schließlich kann s = 0 und damit s 0 = 0 sein, was wir offenbar aber auch leicht feststellen können. Der beschriebene Algorithmus kann also an zwei Stellen versagen: • In Schritt 2 kann der Algorithmus für die Phasenbestimmung eine unbrauchbare Approximation von s/r liefern. Dies passiert höchstens mit Wahrscheinlichkeit 1 − 4/π 2 für jedes feste s. • Für den zufällig gewählten Wert s ∈ {0, . . . , r − 1} gilt entweder s = 0 oder ggT(s, r ) > 1. Wir können nicht ausschließen, dass Schritt 2 versagt, und wir können dies leider nicht feststel0 len. In diesem Fall erhalten wir eine Zahl r 0 mit x r ≡ 1 mod N , aber r 0 ist nicht notwendig die kleinste positive natürliche Zahl mit dieser Eigenschaft. Zum Glück stellt sich bei der Anwendung für das Faktorisierungsproblem heraus, dass solche r 0 dort kein Problem darstellen. 88 Wie groß ist die Wahrscheinlichkeit, ein ungünstiges s zu erhalten? Aus dem Primzahlsatz folgt, dass es mindestens r/(2 log r ) Primzahlen in {0, . . . , r − 1} gibt. Damit gilt für ein zufällig gewähltes s ∈ {0, . . . , r − 1} mit Wahrscheinlichkeit mindestens 1/(2 log r ) ≥ 1/(2 log N ), dass ggT(s, r ) = 1 ist. Die Wahrscheinlichkeit, dass eine Anwendung des obigen Algorithmus erfolgreich ist, ist damit insgesamt mindestens 4/π 2 2 1 2 1 = 2· ≥ 2· . 2 log N π log N π L Der folgende Satz fasst unsere Ergebnisse zusammen. Satz: Für jedes L ∈ gibt es einen Quantenschaltkreis der Größe O(L 3 ), der für Eingaben 1 ≤ N ≤ 2 L −1 und x ∈ ∗N mit Wahrscheinlichkeit mindestens 2/π 2 ·1/L die Ausgabe ord N (x) 0 produziert. Ansonsten wird entweder eine natürliche Zahl r 0 6 = ord N (x) mit x r ≡ 1 mod N ausgegeben oder ein Fehlschlag gemeldet. 4.4. Faktorisierung ganzer Zahlen Wir betrachten hier das Problem, zu einer gegebenen natürlichen Zahl N ≥ 1 eine Liste von Primzahlen zu finden (evtl. mit Duplikaten), deren Produkt die Zahl N ergibt. Dieses Problem ist seit der Antike bekannt und hat zahlreiche Anwendungen, wie schon in dem Zitat von Gauß am Anfang des Kapitels zum Ausdruck kam. Erstaunlicherweise hat man erst in den 70er Jahren begonnen, systematisch nach effizienten Algorithmen zur Faktorisierung von ganzen Zahlen zu suchen. Der bisher beste Algorithmus für klassische Rechner ist randomisiert und hat erwartete 1/3 2/3 Rechenzeit 2c log N log log N für eine geeignete Konstante c > 0. Auf der allgemein gehegten Vermutung, dass es keinen klassischen Polynomialzeit-Algorithmus für dieses Problem gibt, basieren Kryptographieverfahren wie z. B. RSA. Wir können das Problem zunächst noch etwas vereinfachen. Wir können vorab effizient testen, ob N eine zusammengesetzte Zahl ist oder eine Primzahl, im letzteren Fall sind wir bereits fertig. Dazu bietet sich zum Beispiel der randomisierte Linearzeitalgorithmus von Solovay und Strassen an (siehe Vorlesung EFFIZIENTE ALGORITHMEN). Alternativ gibt es neuerdings auch einen deterministischen Polynomialzeit-Algorithmus von Agrawal, Kayal und Saxena (2002), der allerdings in der aktuellen Version noch Rechenzeit O(log 6+ε N ) hat, wobei ε > 0 eine beliebig kleine Konstante ist. Weiterhin reicht es aus, für eine als zusammengesetzt bekannte Zahl einen nichttrivialen Faktor von N zu finden, d. h. eine Zahl d ∈ {2, . . . , N − 1}, die N teilt. Wir können dann anschließend den rekursiv auf N /d und d anwenden. Wir sind hier an der Lösung genau dieses Problems interessiert. Problem: Nichttrivialer Faktor. Eingabe: Zusammengesetzte Zahl N ≥ 1. Aufgabe: Berechne eine Zahl d ∈ {2, . . . , N − 1}, die N teilt. 89 Es stellt sich nun heraus, dass es eine randomisierte Polynomialzeit-Reduktion vom Problem Nichttrivialer Faktor“ auf das Ordnungsproblem gibt (diese Erkenntnis stammt bereits aus ei” ner Arbeit von Gary L. Miller aus dem Jahr 1975). Genauer ist damit gemeint, dass es einen (klassischen) randomisierten Polynomialzeit-Algorithmus für Nichttrivialer Faktor“ gibt, der ” eine Routine für das Ordnungsproblem aufruft. Damit können wir unseren Quantenschaltkreis für das Ordnungsproblem aus dem letzten Abschnitt einsetzen, um das Faktorisierungsproblem für ganze Zahlen effizient zu lösen. Wir beschreiben in diesem Abschnitt die Reduktion vom Problem Nichttrivialer Faktor“ auf ” das Ordnungsproblem. Sei N die zu faktorisierende Zahl und sei L = dlog N e. Nehmen wir zunächst an, wir bekämen durch irgendeinen Glücksfall eine Zahl y ∈ {0, . . . , N −1} geschenkt mit folgenden Eigenschaften: (i) y 2 ≡ 1 mod N ; (ii) y 6 ≡ 1 mod N und y 6 ≡ −1 mod N . Wir überlegen uns, dass wir dann einen nichttrivialen Faktor von N effizient berechnen können. Es gilt nämlich aufgrund von (i): 0 ≡ y 2 − 1 ≡ (y − 1)(y + 1) mod N . Also teilt N das Produkt (y − 1)(y + 1). Es gilt aber y − 1 6 ≡ 0 mod N und y + 1 6 ≡ 0 mod N wegen Eigenschaft (ii). Anders formuliert ist N weder Teiler von y − 1 noch von y + 1. Also sind d1 := ggT(y − 1, N ) oder d2 := ggT(y + 1, N ) oder beide echte Teiler von N und damit Lösung unseres Problems. Diese Zahlen können wir effizient mit dem euklidischen Algorithmus berechnen. Wir müssen uns jetzt noch überlegen, wie wir an ein y mit den obigen beiden Eigenschaft kommen. Da wir keine Idee haben, wie wir ein solches y konstruktiv bestimmen können, benutzen wir eine randomisierte Methode. Wir wählen x ∈ {1, . . . , N − 1} zufällig gemäß Gleichverteilung. Falls ggT(x, N ) > 1, haben wir einen nichttrivialen Faktor von N und damit eine Lösung unseres eigentlichen Problems gefunden. Ansonsten gilt ggT(x, N ) = 1, mit anderen Worten ist x teilerfremd zu N . Damit ist r = ord N (x) definiert, und wir nehmen hier jetzt an, wir könnten diese irgendwie berechnen. Wir haben per Definition der Ordnung x r ≡ 1 mod N . Es stellt sich nun heraus, dass für ungerade Zahlen N , die nicht die Potenz einer einzelnen Primzahl sind (was man beides effizient vorab testen kann), für ein zufällig gewähltes x mit hoher Wahrscheinlichkeit r gerade ist und außerdem x r/2 6 ≡ −1 mod N gilt. Damit haben wir (x r/2 )2 ≡ 1 mod N . sowie x r/2 6 ≡ −1 mod N und x r/2 6 ≡ 1 mod N (wegen r = ord N (x)). Also sind Eigenschaften (i) und (ii) für y := x r/2 erfüllt. 90 Wenn wir den in Abschnitt 4.3 entworfenen Algorithmus für das Ordnungsproblem auf x anwenden, erhalten wir manchmal eine Zahl r mit x r ≡ 1 mod N , die aber nicht die kleinste positive natürliche Zahl mit dieser Eigenschaft und damit nicht die Ordnung von x ist. Falls r gerade ist und x r/2 6 ≡ 1 mod N und x r/2 6 ≡ −1 mod N gilt, liefert auch so eine Zahl mit der gleichen Argumentation wie oben einen nichttrivialen Teiler von N . Die benötigten Eigenschaften von r können wir effizient testen. Fehler bei der Ordnungsbestimmung können wir also auf diese Weise in den Griff bekommen. Wir formulieren die obigen Ideen genauer als Algorithmus für unser Problem, wobei wir die Ordnungsberechnung aus Abschnitt 4.3 als Unterprogramm einsetzen. Algorithmus: Nichttrivialer Faktor. Eingabe: Zusammengesetzte Zahl N ≥ 1. Ausgabe: Zahl d ∈ {2, . . . , N − 1}, die N teilt oder Fehlschlag“. ” 1 if N gerade then return 2 fi; 2 if N = a b für a, b ∈ mit a, b ≥ 2 then return a fi; 3 wähle x ∈ {1, . . . , N − 1} zufällig; 4 if d := ggT(x, N ) > 1 then return d fi; 5 berechne r := ord N (x) mit dem Algorithmus aus Abschnitt 4.3; 6 if r gerade then 7 berechne y := (x r/2 ) mod N ; 8 if y 6 ≡ 1 mod N und y 6 ≡ −1 mod N then 9 if d1 := ggT(y − 1, N ) 6 = 1 then return d1 fi; 10 if d2 := ggT(y + 1, N ) 6 = 1 then return d2 fi; 11 fi; 12 fi; 13 return Fehlschlag“. ” Wir müssen noch die Details zu Schritt 2 nachtragen und uns von den oben behaupteten Eigenschaft für die Ordnung zufällig gewählter Zahlen x überzeugen. Dies erledigen wir in den Beweisen der folgenden zwei Lemmas. Lemma 1: Es gibt einen Algorithmus mit Rechenzeit O(L 4 log L), der testet, ob N = a b für a, b ∈ mit a, b ≥ 2 und wenn ja die Zahl a liefert. Beweis: Zunächst ist klar, dass die in Frage kommenden Werte für b nach oben durch dlog N e = L beschränkt sind, da a ≥ 2. Wir berechnen L = dlog N e in Zeit O(L). Die Idee für den Algorithmus ist es, für b = 2, 3, . . . , L jeweils zu testen, ob a = N 1/b eine ganze Zahl ist. Wenn dies der Fall ist, können wir a als Lösung ausgeben. Die b-te Wurzel können wir auf einfache Weise iterativ mit Hilfe von binärer Suche berechnen. Sei x die aktuelle Näherungslösung. 91 x := 0; for j := L − 1 downto 0 do x 0 = x + 2 j ; p := (x 0 )b ; if p = N then return x 0 ; fi; if p < N then x := x 0 ; fi; od; return Fehlschlag“. ” Falls alle Wurzelberechnungen zu Fehlschlägen führen, ist N nicht von der Form a b mit a, b ∈ und a, b ≥ 2. 1 2 3 4 5 6 7 Was ist die Rechenzeit des obigen Algorithmus? Der aufwändigste Teil einer Iteration für die Wurzelberechnung ist die Berechnung von (x 0 )b . Dafür verwenden wir die Methode des iterierten Quadrierens, was bei L-Bit-Arithmetik Zeit O(log b · L 2 ) = O(L 2 log L) kostet. Damit kommen wir wegen O(L) zu durchlaufenden Werten für b und jeweils O(L) Iterationen pro Wurzelberechnung insgesamt auf Rechenzeit O(L 4 log L). Lemma 2: Sei N = p1α1 · · · pkαk für verschiedene Primzahlen p1 , . . . , pk ≥ 3, α1 , . . . , αk ∈ und k ≥ 2. Sei x ∈ ∗N zufällig gemäß Gleichverteilung gewählt und sei r = ord N (x). Dann gilt 1 1 Pr{r gerade und x r/2 6 ≡ −1 mod N } ≥ 1 − k−1 ≥ . 2 2 Für den Beweis dieses Lemmas folgen wir im Wesentlichen dem Buch von Hirvensalo. Wir listen vorab einige weitere (einfache) Zutaten aus der Zahlentheorie auf, die wir brauchen werden. • Chinesischer Restklassensatz: Seien m 1 , . . . , m k teilerfremde natürliche Zahlen und m = m 1 · · · m k . Dann gibt es für beliebige a1 ∈ ∗m 1 , . . . , ak ∈ ∗m k genau ein x ∈ ∗m mit x ≡ a1 mod m 1 , x ≡ a2 mod m 2 , .. . x ≡ ak mod m k . Jedes x ∈ ∗m lässt sich als Lösung eines solchen Gleichungssystems für genau eine Wahl von a1 ∈ ∗m 1 , . . . , ak ∈ ∗m k darstellen. Die letzte Aussage ergibt sich wie folgt: Zunächst gibt es für jedes x ∈ ∗m geeignete a1 , . . . , ak , da ggT(x, m) = 1 impliziert, dass ggT(x, m 1 ) = · · · = ggT(x, m k ) = 1. Die Zahlen a1 , . . . , ak sind zudem eindeutig bestimmt, da | ∗m | = ϕ(m) = ϕ(m 1 ) · · · ϕ(m k ) = | ∗m 1 | · · · | ∗m k | gilt. 0 • Sei r = ord N (x) und x r ≡ 1 mod N für irgendein r 0 ∈ . Dann ist r 0 Vielfaches von r . 0 Beweis: Klarerweise ist r 0 ≥ r . Sei r 0 = ar + b mit 0 ≤ b < r . Dann gilt 1 ≡ x r ≡ x ar +b ≡ x b . Aufgrund der Definition der Ordnung muss dann aber b = 0 sein. • Für eine Primzahl p und α ∈ können wir ϕ( p α ) leicht ausrechnen: Es ist ϕ( p α ) = α−1 p ( p − 1). Denn die Zahlen in {1, . . . , p α − 1}, die nicht teilerfremd zu p α sind, sind d · p mit d = 1, 2, . . . , p α−1 − 1. Damit ist ϕ( p α ) = p α − 1 − p α−1 − 1 = p α−1 ( p − 1). 92 • Für eine Primzahl p und α ∈ ist ein Element g ∈ ∗pα , so dass ∗ pα eine zyklische Gruppe. Das heißt, es gibt (mindestens) ∗ pα α = g 0 , g 1 , g 2 , . . . , g ϕ( p )−1 . • Sei G = {g 0 , . . . , g k−1 } eine zyklische Gruppe. Dann können wir die Ordnung von g j in G explizit angeben, diese ist k/ ggT( j, k). Beweis: Gemäß Definition ist die Ordnung von g j das kleinste r ∈ mit g jr = 1. Es ist g jr = 1 äquivalent zu jr ≡ 0 mod k. Sei j = d j 0, d = ggT( j, k) und ggT( j 0 , k) = 1. Dann ist jr ≡ 0 mod k äquivalent zu dr ≡ 0 mod k und es folgt r = k/d. Bevor wir das eigentliche Lemma beweisen, zeigen wir folgende Hilfsaussage. Lemma 3: Es sei p eine ungerade Primzahl und α ∈ , so dass ϕ( p α ) = p α−1 ( p − 1) = 2u v für ein u ∈ und v ∈ ungerade. Sei s ∈ 0 . Dann gilt für ein zufällig gemäß Gleichverteilung gewähltes x ∈ ∗pα mit Wahrscheinlichkeit höchstens 1/2, dass ord pα (x) = 2s t für ein ungerades t ∈ ist. Beweis: Falls s > u, ist die obige Wahrscheinlichkeit sicher null, so dass wir im Folgenden s ≤ u annehmen. Nach den Vorbemerkungen ist ∗pα eine zyklische Gruppe. Für ein geu eignetes g ∈ ∗pα gilt daher ∗pα = {g 0 , g 1 , . . . , g 2 v−1 }. Gemäß den Vorüberlegungen gilt auch 2u v j α . ord p (g ) = ggT( j, 2u v) Damit hat g j genau eine Ordnung von der Form 2s t, falls j = 2u−s w für w ∈ ungerade. Wieviele solche j gibt es in {0, 1, . . . , 2u v − 1}? Offensichtlich gibt es 2s v Vielfache von 2u−s in dieser Menge, und davon hat genau die Hälfte die Form 2u−s w, w ungerade. Also die Wahrscheinlichkeit, ein j mit dieser Eigenschaft zufällig zu wählen 1 s 22 v 2u v 1 2s 1 = ≤ . u 22 2 Wir können jetzt unser zahlentheoretisches Lemma von oben beweisen. Beweis von Lemma 2: Wir zeigen, dass das Ereignis r ungerade oder r gerade und ” x r/2 ≡ −1 mod N“ mit Wahrscheinlichkeit höchstens 1/2k−1 eintritt. Daraus folgt die Behauptung. Aufgrund des chinesischen Restklassensatzes lässt sich x ∈ ∗N zufällig gemäß Gleichverteilung erzeugen, indem wir unabhängig für j = 1, . . . , k jeweils x j ∈ ∗ α j zufällig gemäß pj Gleichverteilung wählen. Den Zahlen x 1 , . . . , x k ist dann genau ein x ∈ ∗N zugeordnet mit α x ≡ x j mod p j j für j = 1, . . . , k, und jedes x lässt sich auf eindeutige Weise so erhalten. 93 Sei r j := ord pα j (x j ) für j = 1, . . . , k. Da r = ord N (x), gilt x r ≡ 1 mod N und damit α j α α x r ≡ 1 mod p j j für j = 1, . . . , k. Da x ≡ x j mod p j j , folgt auch x rj ≡ 1 mod p j j , also ist (gemäß einer Vorbemerkung oben) r j Teiler von r . Wir schreiben r = 2s t für t ∈ ungerade und r j = 2s j t j für t j ∈ ungerade. Dann ist s j ≤ s und t j teilt t. Wir behaupten, dass sogar s j = s für alle j = 1, . . . , k gelten muss. 1. Fall: r ungerade: Falls r ungerade ist, ist s = 0 und damit auch s1 = · · · = sk = 0. 2. Fall: r gerade und x r/2 ≡ −1 mod N : Aus x r/2 ≡ −1 mod N folgt r/2 xj α ≡ −1 mod p j j , für j = 1, . . . , k. Nehmen wir an, dass s j < s für irgendein j . Dann ist r j = 2s j t j auch Teiler von r/2 = 2s−1 t, und damit folgt α r/2 x j ≡ 1 mod p j j . α Daraus ergibt sich aber 1 ≡ −1 mod p j j , was nicht sein kann, da N ungerade ist und daher p j 6 = 2 für alle j . Also folgt s1 = · · · = sk = s. Es bleibt nur noch, die Wahrscheinlichkeit des Ereignisses s1 = · · · = sk = s“ abzuschätzen. ” Sowohl s als auch s1 , . . . , sk sind Zufallsvariablen, die von x 1 , . . . , x k abhängen. Mit Hilfe von Lemma 3 und aufgrund der Unabhängigkeit von x 1 , . . . , x k erhalten wir: Pr{s1 = · · · = sk = s} ≤ Pr{s1 = · · · = sk } = ≤ 1 X a∈ Pr{s1 = a} Pr{s2 = · · · = sk = a} 0 2k−1 Zum Schluss wenden wir Lemma 2 zur Abschätzung der Fehlerwahrscheinlichkeit für unseren Algorithmus zur Bestimmung von nichttrivialen Faktoren an. Wir betrachten den Fall, dass für das zufällig gewählte x und die Ordnung r von x die Bedingungen in Schritt 6 und 8 des Algorithmus erfüllt sind. Gemäß dem Lemma tritt dieser Fall mit Wahrscheinlichkeit mindestens 1/2 ein. Falls der Algorithmus zur Ordnungsbestimmung korrekt arbeitet, wird dann in den Schritten 9 oder 10 ein echter Teiler von N gefunden. Falls die Ordnungsbestimmung ein r 6 = ord N (x) mit x r ≡ 1 mod N liefert, gibt der Algorithmus einen echten Teiler aus oder schlägt fehl. Falls die Ordnungsbestimmung fehlschlägt, schlägt der gesamte Algorithmus fehl. Nach dem letzten Abschnitt arbeitet die Ordnungsbestimmung mindestens mit Wahrscheinlichkeit 2/π 2 · 1/L korrekt. Nach dem Satz von der totalen Wahrscheinlichkeit erhalten wir damit für die Wahrscheinlichkeit, dass der gesamte Algorithmus korrekt arbeitet, die untere Schranke c 1 2 1 · 2· = , 2 π L L 94 c := 1 . π2 Da der Algorithmus Fehlschläge entdeckt, können wir durch unabhängige Wiederholungen die Fehlerwahrscheinlichkeit senken. Bei c 0 L Wiederholungen ist die Wahrscheinlichkeit für einen Fehlschlag in allen Wiederholungen höchstens c c 0 L 0 0 1− = ec L ln(1−c/L) ≤ e−cc , L was für geeignete Konstanten c 0 > 0 unter jede Konstante gedrückt werden kann. Der klassische Teil des Algorithmus zur Bestimmung eines nichttrivialen Faktors hat Rechenzeit O(L 4 log L) und kann sowohl als klassischer Schaltkreis als auch als Quantenschaltkreis mit dieser Größe implementiert werden. Damit hat eine einzelne Iteration des Algorithmus einen Quantenschaltkreis der Größe O(L 4 log L), und bei O(L) Kopien zur Verbesserung der Fehlerwahrscheinlichkeit kommen wir auf Größe O(L 5 log L). Wir haben insgesamt damit folgendes Hauptergebnis dieses Kapitels erhalten: Satz: Für jedes L ∈ und jede Konstante ε > 0 gibt es einen Quantenschaltkreis der Gr öße O(L 5 log L), der für alle zusammengesetzten Zahlen 1 ≤ N ≤ 2 L − 1 mit Wahrscheinlichkeit 1 − ε einen nichttrivialen Faktor von N bestimmt und ansonsten einen Fehlschlag meldet. Es sollte klar sein, dass wir hier an verschiedenen Stellen auf Laufzeitoptimierung verzichtet haben. Mit entsprechendem Aufwand lässt sich die Laufzeit in der obigen Aussage auf O(L 2 log L log log L) drücken. Beispiel: Faktorisierung von 21 Abschließend führen wir den Algorithmus für die Bestimmung eines nichttrivialen Faktors am Beispiel N = 21 vor. Die Bitlänge der Eingabe ist L = 5. Wir wählen t = 2L = 10 als Länge des Steuerregisters für die Phasenbestimmung. Sei x = 11 das in Schritt 3 des Algorithmus zufällig gewählte Element, dessen Ordnung zu bestimmen ist. Der Schaltkreis zur Phasenbestimmung berechnet die Transformation 10 10 2 −1 2 −1 1 X 1 X |0i|1i 7 → √ |ki|1i 7 → √ |ki|(x k ) mod N i 10 10 2 k=0 2 k=0 1 = √ (|0i|1i + |1i|11i + |2i|16i + |3i|8i + |4i|4i + |5i|2i + |6i|1i + |7i|11i + · · · ). 210 Wir sehen bereits, dass ord21 (11) = 6, aber der Algorithmus weiß“ das an dieser Stelle noch ” nicht. Abzählen ergibt, dass jeder Zielregister-Wert x j mit j ∈ {0, 1, 2, 3} jeweils genau 171mal in einem Basiszustand vorkommt und jeder Wert x j mit j ∈ {4, 5} jeweils genau 170-mal. 95 Wir arrangieren den obigen Ausdruck durch Sortieren nach den Werten im Zielregister wie folgt um: r r 171 170 |ψ i|1i + |ψ i|11i + |ψ i|16i + |ψ i|8i + |ψ i|4i + |ψ i|2i 0 1 2 3 4 5 210 210 für geeignete Zustände |ψ j i des Steuerregisters mit j ∈ {0, 1, . . . , 5}. Z. B. ist 1 |0i + |6i + |12i + · · · + |1014i + |1020i . |ψ0 i = √ 171 Im nächsten Schritt des Algorithmus wird die inverse Quanten-Fourier-Transformation auf das Steuerregister angewendet. Wir haben im Abschnitt 4.2 bereits den Trick benutzt, das Zielregister zum Schluss auszublenden, um den Zustand des Steuerregisters einfacher bestimmen zu können. Hier wenden wir diesen Trick vor der inversen Quanten-Fourier-Transformation an. Wir weichen geringfügig vom Vorgehen im Abschnitt 4.2 ab, um die Darstellung zu vereinfachen. Wir erhalten hier zufälligp einen der Zustände |ψ j i mit j ∈ {0, 1,p. . . , 5} im Steuerregister, wobei die Wahrscheinlichkeit 171/210 für j ∈ {0, 1, 2, 3} ist und 170/210 für j ∈ {4, 5}, also beidesmal nur ungefähr 1/6. In Abschnitt 4.2 hatten wir den Gesamtzustand so in Teilzustände aufgesplittet, dass in diesem Schritt als Wahrscheinlichkeit exakt 1/6 herausgekommen wäre. Für das Weitere gehen wir davon aus, dass wir per Zufall den Zustand 1 |ψ0 i = √ (|0i + |6i + |12i + · · · + |1014i + |1020i) 171 im Steuerregister erhalten haben. Anwenden der inversen Quanten-Fourier-Transformation darauf liefert 10 −1 2X −1 QFT |ψ0 i = αk |ki. k=0 Abbildung 4.4 stellt die Wahrscheinlichkeiten |αk |2 dar. |αk |2 0,167 0,167 0,15 0,114 0,114 0,114 0,114 0,10 0,05 k 171 341 512 683 853 Abbildung 4.4: QFT−1 |ψ0 i, Betragsquadrat der Amplituden. 96 1024 Wir sehen, dass die Werte 0, 171, 341, 512, 683, 853 ungefähr Wahrscheinlichkeit 1/6 haben und der Rest ungefähr 0. Die Phasenbestimmung liefert also mit hoher Wahrscheinlichkeit eine der rationalen Zahlen 171 341 1 683 853 0, , , , , . 1024 1024 2 1024 1024 Nehmen wir zunächst an, wir würden 683/1024 erhalten. Die Kettenbruchdarstellung ist [0, 1, 2, 341]. Wir stellen fest, dass [0, 1, 2] = 2/3 der einzige in Frage kommende Präfix ist. Also ist unser Versuchswert für die Ordnung r 0 = 3, was aber falsch ist, da 113 ≡ 8 mod 21. Eine weitere Iteration könnte 853/1024 liefern, dann haben wir [0, 1, 4, 1, 84, 2] als Kettenbruchdarstellung. Der einzige in Frage kommende Präfix ist hier [0, 1, 4, 1] = 5/6, der damit tatsächlich die Ordnung 6 liefert. Schließlich stellen wir fest, dass 6 gerade ist und 113 ≡ 8 mod 21, also 113 6 ≡ 1 mod 21 und 113 6 ≡ −1 mod 21. Es ist ggT(7, 21) = 7 und ggT(9, 21) = 3. Damit erhalten wir hier sogar beide echten Teiler von 21 auf einmal. 97 98 5. Quantensuchalgorithmen It is like cooking a soufflé. The state is placed in a quantum oven‘ and ” ’ the answer arises slowly. You must open the oven at the right time, neither too soon nor too late, to guarantee success.“ – K. Fuchs, zitiert von A. Steane (1997). Wir beschäftigen uns hier mit dem 1995 von Lov Grover vorgestellten Algorithmus für Suchprobleme. Dieser Algorithmus und seine Varianten, die wir als Quantensuchalgorithmen bezeichnen, bieten zwar nur“ eine quadratische Beschleunigung gegenüber den besten bekann” ten klassischen Algorithmen, sie sind aber aufgrund der allgemeinen Anwendbarkeit besonders interessant. 5.1. Problem und Quantenschaltkreis Wir betrachten folgendes Problem. Gegeben sei eine Datenstruktur, deren Elemente mit Indizes 0, 1, . . . , N − 1 durchnummeriert sind, also z. B. ein Array. Die Elemente stammen aus irgendeinem endlichen Universum. Desweiteren sei ein Prädikat auf den Einträgen gegeben, das wir durch eine boolesche Funktion f : {0, 1, . . . , N − 1} → {0, 1} beschreiben. Es sei f ( j ) = 1 genau dann, wenn das Element mit Index j das Prädikat erfüllt. In unserem Szenario gehen wir weiter davon aus, dass wir keine Ordnung auf den Elementen in der gegebene Datenstruktur haben und die Funktion f in Form einer Blackbox gegeben ist. Wir können mit dieser die Funktion auf beliebigen Eingaben auswerten, können aber nicht in die Blackbox hineinsehen. Aufgabe ist es nun, ein j ∈ {0, 1, . . . , N − 1} mit f ( j ) = 1 mit möglichst wenigen Auswertungen von f zu finden, falls ein solches j existiert, und ansonsten einen Fehlschlag zu melden. Offensichtlich benötigt ein klassischer Algorithmus für dieses Problem im worst case N Auswertungen von f . Problem: Allgemeines Suchproblem. Eingabe: Blackbox für f : {0, 1, . . . , N − 1} → {0, 1} in Form eines klassischen Algorithmus, der f auf einer beliebigen Eingabe auswerten kann. Aufgabe: Finde j ∈ {0, 1, . . . , N − 1} mit f ( j ) = 1, falls ein solches existiert, und melde ansonsten einen Fehlschlag. Bei einer Variante des Problems ist die Anzahl Lösungen M = |{ j | f ( j ) = 1}| bekannt und es ist M ≥ 1. (Technisch gesehen handelt es sich dabei wieder um ein Promise-Problem.) Dann benötigt ein klassischer deterministischer Algorithmus zur Lösung des Problems im worst case immer noch N − M + 1 Auswertungen von f . Selbst mit randomisierten Algorithmen, deren Erfolgswahrscheinlichkeit eine positive Konstante sein soll, sind (N /M) Auswertungen erforderlich. Seien X 1 , . . . , X k ∈ {0, 1, . . . , N − 1} Zufallsvariablen, die die zufällig vom Algorithmus an die Blackbox gestellten Anfragen beschreiben. Es ist Pr{ f (X j ) = 1} ≤ M/N für alle j und damit Pr{ f (X 1 ) ∨ · · · ∨ f (X k ) = 1} ≤ k · M/N . Falls die Erfolgswahrscheinlichkeit also mindestens eine Konstante p > 0 sein soll, erhalten wir k ≥ p · N /M = (N /M). 99 Quantenrechner können die erste Variante des Suchproblems mit einer unbekannten Anzahl von √ Lösungen mit O( N ) Auswertungen von√f lösen. Falls die Anzahl der Lösungen M bekannt ist und M ≥ 1 gilt, werden sogar nur O( N /M) Auswertungen benötigt. Wir haben also in beiden Fällen eine quadratische Beschleunigung im Vergleich zu klassischen randomisierten Algorithmen. Wir werden uns hier zunächst auf den zweiten Fall konzentrieren und uns später überlegen, wie man mit Hilfe eines Quantenalgorithmus die Anzahl der Lösungen M abschätzen kann. Außerdem beschränken wir uns der Einfachheit halber auf den Spezialfall N = 2 n für ein n ∈ . Die Funktion, die das Prädikat auf der zu durchsuchenden Datenstruktur beschreibt, kann dann als f : {0, 1}n → {0, 1} geschrieben werden. Wir diskutieren exemplarisch einige Anwendungen auf konkrete Suchprobleme. • Lösung NP-vollständiger Probleme. Als Beispiel diskutieren wir das Problem SAT, das Erfüllbarkeitsproblem für konjunktive Formeln. Sei ϕ eine Formel, die aus einer Konjunktion von Klauseln besteht, die ihrerseits wiederum eine Disjunktion aus Literalen sind (boolesche Variablen oder deren Negation). Definiere f ϕ (x) = 1, falls x eine Variablenbelegung ist, die ϕ erfüllt, und f ϕ (x) = 0 sonst. Sei n die Anzahl der Variablen. Dann benötigen die besten bekannten klassischen Algorithmen Rechenzeit 2n−o(n) , um ein x mit f ϕ (x) = 1 zu finden, während wir hier einen Quantenalgorithmus mit Rechenzeit 2 n/2+O(log n) erhalten. • Sortieren. In einem Ergebnis aus dem letzten Jahr (Hartmut Klauck, Quantum Time-Space Tradeoffs for Sorting, arXiv:quant-ph/0211174) wurde gezeigt, dass man mit Hilfe von Grovers Algorithmus einen Algorithmus für das Sortieren von n Zahlen konstruieren kann, der √ Rechenzeit O(n 1,5 log1,5 n/ S) hat und S Hilfsqubits als Arbeitsspeicher benötigt. Andererseits ist bekannt, dass für jeden klassischen Sortieralgorithmus die Rechenzeit T = (n 2 /S) ist, falls der zur Verfügung stehende Arbeitsspeicher durch S beschränkt ist. Für diese Ergebnisse muss S zwischen (log3 n) und O(n/ log n) liegen. Für S = 2(log3 n) erhalten wir so z. B. eine Beschleunigung von (n 2 / log3 n) im klassischen Fall auf O(n 1,5 ) für Quantenrechner. • Kryptographie. Es wurde auch vorgeschlagen, Grovers Algorithmus für einen known plain text attack auf Verschlüsselungsverfahren mit geheimem Schlüssel einzusetzen. Dabei nehmen wir an, dass uns ein Paar aus verschlüsseltem Text c und dem dazugehörigen unverschlüsselten Klartext m in die Hände gefallen ist. Sei f m,c (x) = 1, wenn das Verfahren mit Schlüssel x den Klartext m auf den verschlüsselten Text c abbildet, und f m,c (x) = 0 sonst. Für alle sinnvollen Verschlüsselungsverfahren ist diese Funktion in Polynomialzeit auswertbar. Grovers Algorithmus erlaubt eine quadratische Beschleunigung im Vergleich zum naiven klassischen Ansatz des Durchprobierens aller Schlüssel, was bei zu kleiner Schlüssellänge bedeuten kann, dass das Verfahren gebrochen wird. Obwohl wir bis jetzt immer von Algorithmen gesprochen haben, konstruieren wir auch hier wieder einen Quantenschaltkreis für das vorgestellte Problem. Wir nehmen dafür an, dass die Eingabe des Suchproblems ein klassischer Schaltkreis für f ist. Aus diesem bauen wir mit den Methoden aus Kapitel 1 einen Quantenschaltkreis, der den unitären Operator U f mit U f |xi|yi = |xi|y ⊕ f (x)i für x ∈ {0, 1}n , y ∈ {0, 1} realisiert. 100 |0i⊗n n H ⊗n G n Bf G {z | G: .... G r mal H ⊗n P n } H ⊗n n Abbildung 5.1: Quantenschaltkreis für Grovers Algorithmus. √ Unser Ziel ist es, zu zeigen, dass wir mit O( N /M) Kopien des Blackbox-Quantenschaltkreises für f auskommen, falls M = |{x | f (x) = 1}| ≥ 1. Wir diskutieren zunächst, wie wir die gegebene Blackbox U f für f verwenden. Wir benutzen hier einen Trick, den wir schon beim Deutsch-Jozsa-Algorithmus kennen gelernt haben (Abschnitt 1.6) und wählen als Startzustand für das Zielregister, mit dessen Inhalt U f den Funk 1 √ |0i − |1i . Diesen können wir z. B. tionswert von f XOR-verknüpft, den Zustand |ϕi = 2 erzeugen, indem wir einen Hadamard-Baustein H mit der Eingabe |1i füttern. Die Anwendung des Quantenschaltkreises für U f liefert dann (siehe Abschnitt 1.6) 1 U f |xi|ϕi = |xi √ |0 ⊕ f (x)i − |1 ⊕ f (x)i = (−1) f (x) |xi|ϕi. 2 Mit diesem Trick kodieren wir also den Funktionswert in die Phase des Gesamtzustandes. Der Übersichtlichkeit halber lassen wir im Folgenden den Zustand |ϕi und die zugehörige Leitung in den Quantenschaltkreisen weg. Damit haben wir eine neue unitäre Transformation B f (Blackbox) und einen zugehörigen Teilschaltkreis mit B f |xi = (−1) f (x) |xi. Grovers Algorithmus ist nun als Quantenschaltkreis in Abbildung 5.1 dargestellt. Wir wenden dort zuerst die Hadamard-Transformation auf n Qubits an, um den Zustand |ψi := H ⊗n |0i⊗n = 1 2n/2 X x∈{0,1}n |xi zu erzeugen. Dieser wird durch r Kopien des Bausteins G geschickt, der genauer im unteren Teil der Abbildung dargestellt ist. Eine Anwendung von G bezeichnen wir auch als Iteration des Grover-Algorithmus. Die Anzahl der Iterationen r bestimmen wir später. Im Quantenschaltkreis für G verwenden wir den Phasenverschiebungs-Operator P mit ( |0i, falls x = 0; P|xi = −|xi, falls x 6 = 0. 101 Wir analysieren die Größe des so erhaltenen Quantenschaltkreises. Die Größe des Quantenschaltkreises für B f ist natürlich von der konkreten Anwendung abhängig und kann hier nicht genauer angegeben werden. Für H ⊗n brauchen wir n einzelne H -Bausteine. Der einzige nichttriviale Teil ist der P-Baustein. Wenn wir die Basiszustände genauer als |xi = |x 1 i · · · |x n i mit x ∈ {0, 1}n und x 1 , . . . , x n ∈ {0, 1} schreiben, gilt ( −Z |x 1 i |x 2 . . . x n i, falls x 2 = · · · = x n = 1; −P|xi = |x 1 . . . x n i, sonst. Damit lässt sich P als gesteuerter (−Z )-Baustein auffassen (bis auf einen unwichtigen Phasenvorfaktor −1), wobei hier allerdings die Leitungen gegenüber unserer üblichen Konvention permutiert sind. Diese Permutation brauchen wir nicht explizit vorzunehmen, wir können analog unsere Erkenntnisse aus Abschnitt 3.2 für die obige Situation anwenden, um P aus O(n) Ein-Qubit- und CNOT-Bausteinen aufzubauen (siehe dazu Bild 3.4 in Abschnitt 3.2). Insgesamt kommen wir also mit O(r n + n) Ein-Qubit- und CNOT-Bausteinen und r Kopien des Quantenschaltkreises für B f aus. Wie immer können wir den erhaltenen Quantenschaltkreis mit geringem Zusatzaufwand approximativ über der endlichen Basis B = {H, T , CNOT} realisieren (siehe Kapitel 3). Bei sinnvollen Anwendungen ist r ≥ 1 und der Quantenschaltkreis für die Blackbox besteht aus mindestens (n) Ein-Qubit- und CNOT-Bausteinen, da die Eingabegröße bereits n ist. Damit wird die Größe des Quantenschaltkreises durch die r Blackbox-Kopien dominiert. 5.2. Geometrische Interpretation und Analyse Wir überlegen uns hier, wie wir mit dem im letzten Abschnitt vorgestellten Quantenschaltkreis das allgemeine Suchproblem lösen können, wenn M = |{x | f (x) = 1}| ≥ 1 bekannt ist. Es sei N = 2n . Wir starten im Quantenschaltkreis des letzten Abschnittes√mit der Überlagerung |ψi aus allen N möglichen Basiszuständen mit der gleichen Amplitude N und wollen diesen Zustand durch iterative Anwendung des Grover-Operators in die Nähe eines Zustandes bringen, dessen Messung mit hoher Wahrscheinlichkeit ein x ∈ {0, 1}n mit f (x) = 1 liefert. Dabei wird es darauf ankommen, einigermaßen genau die richtige Anzahl von Iterationen r zu wählen, um mit hoher Wahrscheinlichkeit eine Lösung zu erhalten (siehe dazu das Zitat am Anfang). Wir überlegen uns als erstes, dass wir den Grover-Operator G auf folgende einfache Weise schreiben können. Dabei ist |ψi = H ⊗n |0i⊗n wie oben und I die passende Identitätsmatrix. Lemma: G = R · B f mit R := 2|ψihψ| − I . Beweis: Es ist leicht zu sehen, dass P = 2|0i⊗n h0|⊗n − I . Damit haben wir H ⊗n P H ⊗n = 2H ⊗n |0i⊗n h0|⊗n H ⊗n − I = 2|ψihψ| − I = R, was die Behauptung ergibt. 102 Im Folgenden überlegen wir uns genauer, was der Grover-Operator G macht. Definiere die Einheitsvektoren X X 1 1 |ai := √ |xi und |bi := √ |xi. N−M M −1 −1 x∈ f x∈ f (0) (1) Klarerweise ist ha | bi = 0. Damit ist |ai, |bi eine ON-Basis eines zweidimensionalen Untervektorraumes, d. h. einer Ebene, im betrachteten Hilbertraum N . Unser Startzustand liegt in der |ai-|bi-Ebene, denn es ist r r X N−M M 1 |ψi = √ |ai + |bi. |xi = N N N n x∈{0,1} Wir wählen nun den Winkel θ ∈ [0, π ] so, dass sin θ/2 = 1 ≤ M ≤ N gilt). Es ist dann √ M/N gilt (dies ist möglich, da θ θ |ψi = cos |ai + sin |bi. 2 2 Es stellt sich heraus, dass sich die Operatoren B f , R und damit auch G einfach darstellen lassen, wenn man sie auf die |ai-|bi-Ebene einschränkt. Lemma: Die Operatoren B f und R = 2|ψi|ψi − I bilden Zustände aus der |ai-|bi-Ebene wieder in dieselbe ab. Eingeschränkt auf die |ai-|bi-Ebene und bezüglich der Basis |ai, |bi haben B f und R die Darstellungen cos θ sin θ 1 0 . bzw. sin θ − cos θ 0 −1 Also hat G eingeschränkt auf die |ai-|bi-Ebene die Darstellung cos θ − sin θ sin θ cos θ und ist damit eine Drehung in dieser Ebene um den Winkel θ . Für den Beweis des Lemmas und weitere Anwendungen später ist es gut, hier an die Additionstheoreme für Kosinus und Sinus zu erinnern: Für x, y ∈ gilt cos(x + y) = cos x cos y − sin x sin y, sin(x + y) = cos x sin y + cos y sin x. und Außerdem brauchen wir die Tatsache, dass sin2 x + cos2 x = 1 für alle x ∈ gilt. Beweis: Es ist B f |xi = (−1) f (x) |xi für beliebiges |xi. Damit folgt aufgrund der Definition von |ai und |bi: B f |ai = |ai und B f |bi = −|bi, was die behauptete Darstellung für B f liefert. 103 Weiter erhalten wir mit der obigen Darstellung für |ψi mit Hilfe von θ : R|ai = 2|ψihψ | ai − |ai = 2|ψi cos(θ/2) − |ai = (2 cos2 (θ/2) − 1)|ai + 2 sin(θ/2) cos(θ/2)|bi = cos θ |ai + sin θ |bi. Dabei haben wir im letzten Schritt die Additionstheoreme und sin2 (θ/2) + cos2 (θ/2) = 1 verwendet. Analog ergibt sich R|bi = sin θ |ai − cos θ |bi, also insgesamt die behauptete Darstellung von R. Wir wollen mit dem Operator G den Startzustand in der |ai-|bi-Ebene so drehen, dass er einen möglichst kleinen Winkel mit der |bi-Achse bildet. Dann liefert die Messung am Ende des Algorithmus mit hoher Wahrscheinlichkeit ein zufälliges Element aus {x | f (x) = 1}. Aus der Darstellung unseres Startzustands |ψi und dem obigen Lemma ergibt sich nun folgende übersichtliche Darstellung des Zustandes nach r Iterationen des Grover-Algorithmus: Korollar: Für beliebige r ∈ 0 gilt G r |ψi = cos (r + 1/2)θ |ai + sin (r + 1/2)θ |bi. Die Wahrscheinlichkeit für einen Fehlschlag nach r Iterationen ist damit cos 2 (r + 1/2)θ ) . Idealerweise ist cos2 (r + 1/2)θ = 0. Dies ist z. B. erfüllt, falls wir für r den Wert r0 := π/2 1 − θ 2 einsetzen, wie man sofort sieht. Dummerweise ist r 0 im Allgemeinen keine ganze Zahl. Daher wählen wir als Anzahl der Iterationen den gerundeten Wert π/2 r := . θ Dann gilt offensichtlich r − r 0 ≤ 1/2, also (r + 1/2)θ − (r0 + 1/2)θ = (r − r0 )θ ≤ θ/2. Außerdem ist gemäß der Definition von r 0 oben (r0 + 1/2)θ = π/2. Wir haben damit (r + 1/2)θ = π/2 + ε mit 0 ≤ ε ≤ θ/2 ≤ π/2. Dies liefert | cos((r + 1/2)θ )| = | cos(π/2 + ε)| = | cos(π/2) cos ε − sin(π/2) sin ε| = | sin ε| ≤ | sin(θ/2)|. 104 Aufgrund unserer Definition von θ gilt außerdem sin(θ/2) = scheinlichkeit nach genau r Iterationen höchstens √ M/N , also ist die Fehlerwahr- cos2 ((r + 1/2)θ ) ≤ sin2 (θ/2) = M/N √ Wegen 0 < θ/2 ≤ π/2 haben wir θ/2 ≥ sin(θ/2) = M/N , also ergibt sich als Abschätzung für die Anzahl der Iterationen r π/2 π π N r = ≤ ≤ · . √ θ 4 M 4 M/N Wir haben insgesamt gezeigt: Satz: Die Wahrscheinlichkeit, dass der Grover-Algorithmus nach Durchf ührung von r = √ b(π/2)/θ c ≤ (π/4) N /M Iterationen und anschließender Messung keine Lösung liefert, ist durch M/N nach oben beschränkt. Nach diesem Satz können wir eine Erfolgswahrscheinlichkeit von mindestens 1/2 erzielen, falls M ≤ N /2. Was machen wir, falls M > N /2? Wir haben dann sehr viele Lösung, was natürlich ein guter Fall ist. Wir wählen hier folgende einfache Möglichkeit, um diesen Fall zu behandeln (es gibt mehrere andere). Wir ergänzen den bisherigen Algorithmus um einen klassischen Vorverarbeitungsschritt, in dem wir für einen zufällig gewählten Index x ∈ {0, 1} n einmal die Blackbox für f auswerten. Wenn wir ein x ∈ {0, 1}n mit f (x) = 1 erhalten, sind wir fertig. Falls M > N /2, passiert dies mit Wahrscheinlichkeit größer als 1/2. Ansonsten führen wir den Grover-Algorithmus wie oben beschrieben durch. Insgesamt löst damit der erhaltene neue Algorithmus das Suchproblem für jeden Wert M ≥ 1 mit Wahrscheinlichkeit mindestens 1/2. Wir können leicht herausfinden, ob der Suchalgorithmus erfolgreich war, indem wir zum Schluss für den erhaltenen Index noch einmal die Blackbox aufrufen. Durch eine konstante Anzahl von unabhängigen Wiederholungen kann damit die Fehlerwahrscheinlichkeit unter jede beliebige Konstante gesenkt werden. Wir fassen unser Ergebnis wieder in Form eines Satzes zusammen. Satz: Sei f : {0, 1}n → {0, 1} gegeben. Sei N = 2n und sei M = |{x | f (x) = 1}| ≥ 1 bekannt.√ Sei ε > 0 eine beliebige Konstante. Dann gibt es einen Quantenschaltkreis mit O( N /M) Blackbox-Bausteinen für f , der mit Wahrscheinlichkeit mindestens 1 − ε ein x ∈ {0, 1}n mit f (x) = 1 liefert und ansonsten einen Fehlschlag meldet. Übungsaufgabe: Aus der Analyse der Fehlerwahrscheinlichkeit für den Grover-Algorithmus ergibt sich, dass für bestimmte Werte von M die Messung am Ende mit Sicherheit eine Lösung liefert. Für welche? 5.3. Zählen der Lösungen Im letzten Abschnitt haben wir das allgemeine Suchproblem nur unter der Voraussetzung untersucht, dass es mindestens eine Lösung gibt und dass zudem die Anzahl der Lösungen bekannt ist. Für viele praktische Anwendungen können wir diese Voraussetzungen nicht machen. Wir werden hier einen√Quantenschaltkreis entwerfen, der es uns erlaubt, die Anzahl der Lösungen mit Hilfe von O( N ) Blackbox-Kopien hinreichend genau abzuschätzen. 105 Bestimmung eines Schätzwertes für die Anzahl der Lösungen Wir erinnern uns daran, dass der Grover-Operator G eingeschränkt auf die |ai-|bi-Ebene die Darstellung cos θ − sin θ sin θ cos θ iθ −iθ mit den hatte. Man kann sich leicht überzeugen, i dass diese Matrix die Eigenwerte e und e −i zwei orthogonalen Eigenvektoren 1 bzw. 1 hat. Letztere können wir durch Auffüllen mit Nullen zu Eigenvektoren |u + i und |u − i von G im gesamten Hilbertraum machen, die dann √ automatisch in der |ai-|bi-Ebene liegen. Außerdem ist sin θ/2 = M/N , wobei 0 ≤ θ ≤ π , d. h. aus θ können wir M gewinnen. Um an θ zu kommen, können wir die Methode der Phasenbestimmung aus Abschnitt 4.2 verwenden. Falls θ > 0, ergeben sich als Phasen der beiden Eigenwerte e iθ und e−iθ in der richtigen Darstellung für die Phasenbestimmung ϕ1 := θ/2π bzw. ϕ2 := 1 − θ/2π . Für 0 ≤ θ ≤ π können diese Werte unterschieden werden, und aus jedem von beiden können wir θ errechnen. Im Spezialfall θ = 0 ist eiθ = e−iθ = 1 und es gibt nur den Phasenwert 0. Wir definieren in diesem Fall ϕ1 = ϕ2 := 0. Die Anwendung der Phasenbestimmung für G ist in Abbildung 5.2 gezeigt. Als Zustand im Zielregister wählen wir hier |ψi = H ⊗n |0i⊗n . Dieser Zustand liegt in der |ai-|bi-Ebene und ist damit eine Linearkombination aus den beiden Eigenvektoren |u + i und |u − i von G in der |ai-|bi-Ebene. Mit der Argumentation aus Abschnitt 4.2 liefert die Messung am Ende der Phasenbestimmung mit Wahrscheinlichkeit mindestens 4/π 2 den auf t Nachkommastellen gerundeten Wert von ϕ1 oder ϕ2 , wobei die Wahl zwischen ϕ1 und ϕ2 zufällig erfolgt. Im Unterschied zu Abschnitt 4.2 haben die beiden Werte hier nicht notwendigerweise die gleiche Wahrscheinlichkeit und wir treffen keine Aussage über die Wahrscheinlichkeitsverteilung. Welchen Wert wir erhalten ist nach den Bemerkungen oben aber auch unerheblich. Nehmen wir an, die Phasenbestimmung war erfolgreich. Sei ϕ ∈ {ϕ1 , ϕ2 } der Phasenwert, für den wir eine Schätzung erhalten haben, und sei e ϕ diese Schätzung. Dann gilt |e ϕ − ϕ| ≤ 2 −(t+1) . |0i⊗t |0i⊗n .. . .. H ⊗t QFT−1 t t H ⊗n G2 0 G2 1 G2 2 G2 n t−1 n Abbildung 5.2: Quantenschaltkreis zum Schätzen der Anzahl von Lösungen. 106 Auf diese Weise erhalten wir den Schätzwert e θ für θ mit |e θ − θ | ≤ 2π 2−(t+1) . Wir müssen uns jetzt noch überlegen, wie sich der Fehler bei der Bestimmung des Winkels θ auf den sich daraus ergebenden Wert von M auswirkt. Es ist sin2 (θ/2) = M/N und für den e für M gilt sin2 (e e . Wir haben folgenden Zusammenhang. Schätzwert M θ /2) = M/N Lemma: Sei |e θ /2 − θ/2| ≤ ε. Dann gilt | sin2 (e θ /2) − sin2 (θ/2)| ≤ 2ε sin(θ/2) + ε 2 . Beweis: Sei zur Abkürzung a := θ/2. Nach Voraussetzung ist e θ/2 = θ/2 + δ für ein δ mit |δ| ≤ ε. Es gilt | sin2 (a + δ) − sin2 a| = (sin(a + δ) + a)| sin(a + δ) − sin a|. Für den zweiten Faktor erhalten wir mit Hilfe des Mittelwertsatzes die Abschätzung | sin(a + δ) − sin a| ≤ |δ| ≤ ε. Für die Abschätzung des ersten Faktors wenden wir das Additionstheorem für den Sinus an: sin(a + δ) + sin a = sin a cos δ + sin δ cos a + sin a ≤ 2 sin a + sin δ ≤ 2 sin a + ε. Daraus folgt insgesamt die Behauptung. Durch Einsetzen von ε := π 2−(t+1) in obigem Lemma erhalten wir aus der Fehlerschranke für unseren Schätzwert e θ: r e − M| |M M ≤ 2ε sin(θ/2) + ε 2 = 2ε + ε2 . N N Wir wählen nun t := dn/2e + 3 als Größe des Steuerregisters für die Phasenbestimmung. Wir haben dann 1 ε = π 2−dn/2e−4 ≤ √ . 4 N Es ergibt sich damit r √ e − M| M M 1 |M 2 ≤ 2ε +ε ≤ + , N N 2N 16N also e − M| ≤ |M √ M 1 + . 2 16 Wie√groß ist der erhaltene Quantenschaltkreis? Wir benötigen 20 + 21 + · · · + 2t−1 = 2t − 1 = O( N ) Bausteine G und√ O(t 2 + n) = O(n 2 ) Ein-Qubit- und CNOT-Bausteine √ für den Rest. Das ergibt insgesamt O(n N + n 2 ) Ein-Qubit- und CNOT-Bausteine und O( N ) BlackboxBausteine. 107 n n Satz: Sei √ f : {0, 1} → {0, 1} gegeben und sei N = 2 . Dann gibt es einen Quantenschaltkreis,2 der O( N ) Blackbox-Bausteine für f enthält und der mit Wahrscheinlichkeit mindestens 4/π √ e e einen Schätzwert M für M = |{x | f (x) = 1}| liefert mit | M − M| ≤ M/2 + 1/16. Indem wir die Anzahl Qubits t für das Steuerregister in der Phasenbestimmung vergrößern, können wir auf Kosten von zusätzlichen Blackbox-Aufrufen die Genauigkeit des Schätzwere weiter erhöhen. Die Erfolgswahrscheinlichkeit von 4/π 2 ≈ 0,405 kann allerdings tes M dann immer noch für einige Anwendungen zu klein sein. Man kann zeigen, dass für ε > 0 durch eine zusätzliche Vergrößerung des Steuerregisters um 2(log(1/ε)) Qubits die Erfolgswahrscheinlichkeit der Phasenbestimmung auf 1 − ε steigt. Für die Details der Analyse siehe z. B. Brassard, Høyer, Mosca und Tapp, Quantum Amplitude Amplification and Estimation, arXiv:quant-ph/0005505. Im Folgenden stellen wir die zwei vielleicht wichtigsten Anwendungen der hier erarbeiteten Ideen vor. Anwendung 1: Unterscheidung zwischen M = 0 und M 6 = 0 Eine Unterscheidung zwischen den Fällen M = 0 und M 6 = 0 bedeutet, dass wir das zu unserem allgemeinen Suchproblem gehörende Entscheidungsproblem lösen können, was offensichtlich z. B. für die Anwendung auf NP-vollständige Probleme interessant ist. Wir erinnern uns daran, dass die Phasenbestimmung immer korrekt arbeitet, falls sich die Phase ohne Rundungsfehler in den t Bits des Steuerregisters darstellen lässt. Dieser Fall tritt ein, wenn M = 0 ist. Dann ist nämlich θ = 0 und wir haben als Phasenwerte ϕ1 = ϕ2 = 0. Sei nun M ≥ 1. Falls die Phasenbestimmung korrekt arbeitet, was in diesem Fall mit Wahre nach unseren scheinlichkeit mindestens 4/π 2 passiert, gilt für den erhaltenen Schätzwert M Ergebnissen oben: √ e ≥ M − M/2 − 1/16 ≥ 1/2 − 1/16 = 7/16. M Wir können damit die beiden Fälle M = 0 und M 6 = 0 mit einseitiger Fehlerwahrscheinlichkeit unterscheiden. Dies erlaubt uns wieder, durch eine konstante Anzahl von unabhängigen Wiederholungen die Fehlerwahrscheinlichkeit unter jede positive Konstante zu bringen. Wir haben also folgendes Ergebnis gezeigt: Satz: Sei f : {0, 1}n → {0, 1} gegeben und sei√N = 2n . Sei ε > 0 eine beliebige Konstante. Dann gibt es einen Quantenschaltkreis, der O( N ) Blackbox-Bausteine für f enthält und der eine zufällige Ausgabe X ∈ {0, 1} liefert mit Pr{X = 0} = 1, falls f = 0, und Pr{X = 1} ≥ 1 − ε, falls f 6 = 0. Anwendung 2: Lösen des allgemeinen Suchproblems Wir benutzen hier die obigen Ideen, um das allgemeine Suchproblem zu lösen, wenn die Anzahl der Lösungen unbekannt ist. 108 Als Vorverarbeitungsschritt setzen wir die Phasenbestimmung wie in Abbildung 5.2 ein, um √ einen Schätzwert e θ für den Winkel θ mit sin(θ/2) = M/N zu berechnen. Falls wir den Wert e θ = 0 erhalten, meldet unser Algorithmus einen Fehlschlag. Ansonsten sind wir im Fall e θ 6= 0 und haben mit Sicherheit mindestens eine Lösung (siehe letzter Abschnitt). Wir rufen einmal die Blackbox für eine zufällige Eingabe auf, um für den Fall M > N /2 gewappnet zu sein, und führen dann den Grover-Algorithmus wie in Abschnitt 5.2 beschrieben für e r = (π/2)/e θ Iterationen durch. Im Folgenden analysieren wir die Fehlerwahrscheinlichkeit des so erhaltenen modifizierten Grover-Algorithmus für das allgemeine Suchproblem. Wir nehmen wieder an, die Phasenbestimmung sei erfolgreich gewesen. Wir wählen als Größe des Steuerregisters t := dn/2e + 4. Dann erhalten wir einen Schätzwert e θ für θ mit e θ = θ + δ, wobei |δ| ≤ 2π 2−(t+1) ≤ 1 √ . 4 N Wir schätzen vorab den relativen Fehler von e θ ab. Dividieren von |e θ − θ | = |δ| durch |e θ | liefert θ |δ| 1 1 − 1 = = ≤ √ . e |θ + δ| |θ/|δ| ± 1| θ 8 M −1 √ Dabei haben wir für den letzten Schritt die Abschätzung θ/2 ≥ sin(θ/2) = M/N , die Abschätzung von |δ| von oben und die Tatsache, dass M ≥ 1 benutzt. Damit erhalten wir nun für die Fehlerwahrscheinlichkeit des Algorithmus folgendes Ergebnis. Satz: Die Wahrscheinlichkeit, dass der modifizierte Grover-Algorithmus im Fall M ≥ 1 bei erfolgreicher Phasenbestimmung und Messung nach genau e r Iterationen keine L ösung liefert, √ 2 √ M/N + (π/2)/(8 M − 1) nach oben beschränkt. ist durch √ 2 Für 1 ≤ M ≤ N /2 liefert dies eine Wahrscheinlichkeit von höchstens 1/ 2 + π/14 < 0,87 für einen Fehlschlag. Beweis: Wir steigen erneut in die Analyse in Abschnitt 5.2 ein, berücksichtigen aber, dass wir anstellen des dort verwendeten Wertes r = b(π/2)/θ c nur den Schätzwert e r = (π/2)/e θ zur Verfügung haben. Es sei daran erinnert, dass die Fehlerwahrscheinlichkeit des Grover2 Algorithmus für r Iterationen cos (r + 1/2)θ ist. Der optimale Wert für r , der eine Fehlerwahrscheinlichkeit von 0 liefert, ist r 0 = (π/2)/θ − 1/2. Analog zu Abschnitt 5.2 erhalten wir π θ θ π/2 π/2 1 − + θ = −1 + . (e r + 1/2)θ − (r0 + 1/2)θ = (e r − r0 )θ ≤ e θ 2 2 e 2 θ θ Also ist mit 0 ≤ ε ≤ θ/2 ≤ π/2 und (e r + 1/2)θ = π/2 + ε + γ π |γ | ≤ 2 θ − 1 ≤ π · √ 1 . e 2 8 M −1 θ 109 Wieder analog zu Abschnitt 5.2 rechnen wir aus, dass | cos((e r + 1/2)θ )| = | cos(π/2 + ε + γ )| = | sin(ε + γ )| = | sin ε cos γ + sin γ cos ε| ≤ | sin ε| + | sin γ | ≤ sin(θ/2) + |γ |. √ Mit sin(θ/2) = M/N und der Abschätzung für |γ | folgt die Behauptung. Die Anzahl der durchgeführten Iterationen ist p π/2 π/2 π/2 = √ e r = = O( N /M). ≤ √ e θ +δ θ 2 M/N − 1/(4 N ) √ Da wir den Wert M vorab nicht kennen, müssen wir O( N ) Blackbox-Kopien in den Quantenschaltkreis einbauen, die wir nach Bedarf aktivieren (dies ist eine nichttriviale Konstruktion, deren Details wir uns aber hier sparen). Für die Phasenbestimmung im√ersten Teil des modifizierten Grover-Algorithmus benötigen wir sowieso noch zusätzlich O( N ) Blackbox-Kopien. Im Fall M = 0 ist die Erfolgswahrscheinlichkeit 1, im Fall M ≥ 1 ist sie mindestens √ 4/π 2 · 1 − (1/ 2 + π/14)2 > 0,05. Durch unabhängige Wiederholungen kann dies wieder verbessert werden. Wir erhalten damit folgendes Hauptergebnis dieses Kapitels. n Satz: Sei f : {0, 1}n → {0, 1} gegeben und sei √ N = 2 . Sei ε > 0 eine beliebige Konstante. Dann gibt es einen Quantenschaltkreis mit O( N ) Blackbox-Bausteinen für f , der mit Wahrscheinlichkeit mindestens 1 − ε ein x ∈ {0, 1}n mit f (x) = 1 liefert, falls ein solches existiert, und ansonsten immer meldet, dass es keine Lösung gibt. 5.4. Untere Schranken für Blackbox-Algorithmen In den vorhergehenden Abschnitten haben wir Blackbox-Algorithmen für Suchprobleme studiert. Hier betrachten wir Blackbox-Algorithmen allgemein und beweisen untere Schranken für die Anzahl der notwendigen Blackbox-Aufrufe für konkrete Probleme. Für klassische Algorithmen haben wir schon solche unteren Schranken mit einfachen Argumenten erhalten. Hier lernen wir mit der so genannten Polynommethode ein mächtiges Werkzeug kennen, das auch untere Schranken für Blackbox-Algorithmen auf Quantenrechnern liefert. Als Anwendung√ergibt sich, dass jeder Blackbox-Algorithmus für das allgemeine Suchproblem mindestens ( N ) Blackbox-Aufrufe benötigt. Dies gilt selbst dann, wenn der Algorithmus nur eine Erfolgswahrscheinlichkeit haben muss, die durch eine positive Konstante nach unten beschränkt ist. Damit ist die in den vorherigen Abschnitten vorgestellte Variante von Grovers Algorithmus für dieses Problem asymptotisch optimal, was die Anzahl der Blackbox-Aufrufe angeht. 110 Das Modell Wir untersuchen hier Blackbox-Algorithmen für Entscheidungsprobleme, bei denen es darum geht festzustellen, ob eine Funktion f : {0, 1, . . . , N − 1} → {0, 1} mit N = 2n eine bestimmte Eigenschaft hat. Die Funktion f ist implizit als Blackbox gegeben und der Algorithmus darf Anfragen der Form j ∈ {0, 1, . . . , N − 1} an die Blackbox stellen, um Funktionswerte f ( j ) zu erhalten. Abstrakt können wir die Funktion f durch ihre Wertetabelle ( f (0), . . . , f (N − 1)) ∈ {0, 1} N darstellen. In dieser Sichtweise berechnet ein Blackbox-Algorithmus dann eine Funktion F : {0, 1} N → {0, 1}. Diese Darstellung benutzen wir allerdings nur für den Beweis von unteren Schranken. Der Algorithmus selbst hat keinen Zugriff auf die komplette Wertetabelle, sondern nur auf einzelne Funktionswerte mit Hilfe der Blackbox. Beispiele: (i) In der Entscheidungsvariante des allgemeinen Suchproblems wollen wir für eine gegebene Funktion f wissen, ob es ein j gibt mit f ( j ) = 1. Dieses Problem wird durch F(X 0 , . . . , X N−1 ) = X 0 ∨ · · · ∨ X N−1 kodiert. Für eine konkrete Funktion f setzen wir dann X j = f ( j ) für j = 0, 1, . . . , N − 1 ein. (ii) Wir betrachten das Problem, für eine gegebene Funktion f zu entscheiden, ob M = |{ j | f ( j ) = 1}| ≥ N /2 gilt. Dieses Problem wird durch die Majoritätsfunktion F(X 0 , . . . , X N−1 ) = MAJ N (X 0 , . . . , X N−1 ) kodiert, die genau dann eins ist, wenn mindestens die Hälfte der Variablen mit Einsen belegt sind. Polynomdarstellungen Ein Polynom in den Variablen X 0 , . . . , X N−1 mit Koeffizienten aus einem Körper K ist eine Summe von Produkten, wobei letztere jeweils aus einem Monom, d.h. einem Produkt von Potenzen von einigen Variablen, multipliziert mit einer Zahl aus K entstehen. Konstanten aus K und insbesondere die Null sind als Spezialfall in dieser Definition enthalten. Ein Polynom stellt auf die offensichtliche Weise eine Funktion K N → K dar. Für den Rest dieses Abschnittes sei K = , d. h. wir behandeln Polynome mit reellen Koeffizienten. Definition: Wir sagen, dass das Polynom p die boolesche Funktion F : {0, 1} N → {0, 1} • (exakt) darstellt, falls p(a) = F(a) für alle a ∈ {0, 1} N gilt; • approximiert, falls | p(a) − F(a)| ≤ 1/3 für alle a ∈ {0, 1} N gilt. Die Wahl von 1/3 als Schranke für den Approximationsfehler ist willkürlich, statt dessen kann jede andere positive Konstante kleiner als 1/2 gewählt werden. 111 Beispiele: (i) Das Monom X 0 · · · · · X N−1 stellt AND N (X 0 , . . . , X N−1 ) = X 0 ∧ · · · ∧ X N−1 dar. (ii) Das Polynom 1 − (1 − X 0 ) · · · · · (1 − X N−1 ) stellt OR N (X 0 , . . . , X N−1 ) X 0 ∨ · · · ∨ X N−1 dar. = Für die Darstellung von booleschen Funktionen reicht es aus, sich auf so genannte multilineare Polynome zu beschränken, bei denen Variablen höchstens in erster Potenz vorkommen, da a k = a für a ∈ {0, 1} und k ∈ gilt. Unter dem Grad eines solchen multilinearen Polynoms p verstehen wir die maximale Anzahl von Variablen in einem seiner Monome. Z. B. haben die Polynome in obigem Beispiel beide Grad N . Als Abkürzung für den Grad von p benutzen wir deg( p) (engl. degree). Man kann sich nun leicht überlegen, dass boolesche Funktionen eindeutig durch multilineare Polynome dargestellt werden. Lemma: Für jede Funktion F : {0, 1} N → {0, 1} gibt es genau ein multilineares Polynom p auf N Variablen mit reellen Koeffizienten, das F darstellt. Beweis: Die Existenz eines solchen Polynoms folgt direkt durch Übersetzen z. B. der konjunktiven Normalform für F. Seien H und G beliebige, durch die Polynome p und q dargestellte boolesche Funktionen. Dann werden offenbar ¬H , H ∧ G und H ∨ G durch 1 − p, p · q und 1 − (1 − p)(1 − q) dargestellt. Es bleibt noch die Eindeutigkeit zu zeigen. Seien dazu p und q beides Polynome mit reellen Koeffizienten über den Variablen X 0 , . . . , X N−1 , die F : {0, 1} N → {0, 1} darstellen. Wir nehmen an, dass d = p − q nicht das Nullpolynom ist. Sei c X 0 · · · · · X k−1 mit c ∈ \{0} ein Summand in d mit minimalem Grad. Dann ist d = c X 0 · · · · · X k−1 + r für ein Polynom r vom Grad mindestens k, das das Monom X 0 · · · · · X k−1 nicht enthält. Wir wählen nun a ∈ {0, 1} N mit a0 = · · · = ak−1 = 1 und a j = 0 für j = k + 1, . . . , N − 1 als Eingabebelegung für X 0 , . . . , X N−1 . Dann gilt r (a) = 0 und p(a) − q(a) = d(a) = c + r (a) = c 6 = 0. Anderseits ist aber p(a) = q(a) = F(a), da p und q die Funktion F darstellen. Widerspruch. {0, 1} N Definition: Für eine boolesche Funktion F : → {0, 1} definieren wir deg(F) als den g minimalen Grad eines Polynoms mit reellen Koeffizienten, das F darstellt. Analog sei deg(F) der minimale Grad eines Polynoms mit reellen Koeffizienten, das F approximiert. g Wir werden im folgenden Abschnitt beweisen, dass deg(F)/2 und deg(F)/2 untere Schranken für die Anzahl von Blackbox-Aufrufen sind, die Blackbox-Algorithmen auf Quantenrechnern benötigen, um F genau zu berechnen bzw. F zu approximieren. Damit haben wir dann das Problem des Nachweises von unteren Schranken für Blackbox-Algorithmen auf das viel übersichtlichere, rein algebraische Problem zurückgeführt, untere Schranken für den Grad von Polynomen zu beweisen. 112 Die Polynommethode Wir untersuchen hier Blackbox-Algorithmen für Entscheidungsprobleme in Form von Quantenschaltkreisen, die wie in Abbildung 5.3 gezeigt aufgebaut sind. |0i |0i |0i ... Uf n Uf V0 V1 ... Uf Vr ... m Abbildung 5.3: Allgemeiner Blackbox-Quantenschaltkreis. Wir haben eine Folge von r Kopien eines Blackbox-Bausteins für f : {0, 1, . . . , N − 1} → {0, 1} und dazwischen beliebige unitäre Transformationen V0 , V1 , . . . , Vr . Diese wirken auf Qubits, die in drei Register aufgeteilt sind (in dieser Reihenfolge von oben nach unten in der Abbildung): • ein n-Qubit-Register, das das Argument für die Blackbox-Anfragen aufnimmt, mit Basiszuständen |0i, |1i, . . . , |N − 1i (wobei N = 2n ); • ein 1-Qubit-Register, das das Ergebnis der Blackbox-Anfragen aufnimmt und • m weitere Qubits, die wir dem Quantenschaltkreis als Arbeitsspeicher spendieren. Die Blackbox-Bausteine für f berechnen wie üblich die unitäre Transformation U f mit U f |xi|yi = |xi|y ⊕ f (x)i. Wir untersuchen, wie sich der Zustand durch die Blackbox-Aufrufe verändert. Sei der Zustand direkt vor irgendeinem der Blackbox-Bausteine |ψi = X j,k α j,0,k | j i|0i|ki + α j,1,k | j i|1i|ki . Wir definieren nun X j := f ( j ) für j = 0, 1, . . . , N − 1. Dann ist der Zustand nach dem Blackbox-Baustein |ψ 0 i = X j,k α j,0,k | j i|X j i|ki + α j,1,k | j i|X j ⊕ 1i|ki . Dies können wir auch schreiben als i Xh |ψ 0 i = (1 − X j )α j,0,k + X j α j,1,k | j i|0i|ki + (1 − X j )α j,1,k + X j α j,0,k | j i|1i|ki . j,k 113 Wir beobachten, dass wir die Amplituden als Polynome in X 0 , . . . , X N−1 mit komplexen Koeffizienten auffassen können. Vor dem ersten Blackbox-Baustein hängen die Amplituden nicht von X 0 , . . . , X N−1 ab, der Grad der Polynome ist also 0. Jede Anwendung eines BlackboxBausteins erhöht den Grad der Polynome um maximal eins. Weiterhin gilt, dass sich der Grad der Polynome durch die Anwendung von unitären Transformationen nicht verändert, da diese insbesondere linear sind. Sei |ψr i der Zustand der obersten n Qubits nach Ausführung der Transformation Vr . Dann gilt nach den Betrachtungen oben N−1 X |ψr i = j =0 q j (X 0 , . . . , X N−1 )| j i für Polynome q j vom Grad höchstens r , wobei N = 2n ist. Die Wahrscheinlichkeit, am Ende ein Ergebnis in der Menge A ⊆ {0, 1, . . . , N − 1} zu messen, ist X X pA = |q j (X 0 , . . . , X N−1 )|2 = Re(q j (X 0 , . . . , X N−1 ))2 +Im(q j (X 0 , . . . , X N−1 ))2 . j ∈A j ∈A Real- und Imaginärteil von q j sind wieder Polynome vom Grad höchstens r , damit ist p A ein Polynom vom Grad höchstens 2r mit reellen Koeffizienten. Wir nehmen nun an, dass der Quantenschaltkreis die Funktion F : {0, 1} N → {0, 1} ohne Fehler entscheidet, d. h. es gibt eine geeignete Menge A, so dass für alle Eingaben a ∈ {0, 1} N gilt: p A (a) = F(a). Dann stellt das Polynom p A die boolesche Funktion F dar und wir haben deg(F) ≤ 2r , also r ≥ deg(F)/2. Falls der Quantenschaltkreis F mit Fehlerwahrscheinlichkeit höchstens 1/3 berechnet, gilt für alle a ∈ {0, 1} N : p A (a) ≤ 1/3, falls F(a) = 0; p A (a) ≥ 2/3, falls F(a) = 1. Also approximiert p A die Funktion F und es folgt Wir haben damit insgesamt bewiesen: g r ≥ deg(F)/2. Satz: (i) Ein Blackbox-Quantenschaltkreis, der wie in Abbildung 5.3 aufgebaut ist und die boolesche Funktion F ohne Fehler berechnet, enthält mindestens deg(F)/2 Kopien der Blackbox. (ii) Ein Blackbox-Quantenschaltkreis, der wie in Abbildung 5.3 aufgebaut ist und die boolesche Funktion F mit Fehlerwahrscheinlichkeit höchstens 1/3 berechnet, enthält mindestens g deg(F)/2 Kopien der Blackbox. 114 Um diesen Satz auf konkrete Funktionen anzuwenden, benötigen wir nun offenbar untere Schranken für den Grad von Polynomdarstellungen dieser Funktionen. Im nächsten Abschnitt sehen wir, wie wir an solche Schranken kommen. Untere Schranken für den Grad von Polynomdarstellungen Untere Schranken für deg(F) erhält man leicht mit Ad-Hoc-Argumenten. Wir behandeln hier g einen allgemeineren Ansatz, den man auch benutzen kann, um untere Schranken für deg(F) zu zeigen. Bei diesem Ansatz spielen symmetrische Funktionen die entscheidende Rolle. Für die folgende Definition sei S N die Gruppe aller Permutation von {0, 1, . . . , N − 1}. Definition: Eine Funktion F : N → heißt symmetrisch, falls für beliebige Permutationen π ∈ S N und beliebige a = (a0 , a1 , . . . , a N−1 ) ∈ {0, 1} N gilt: F(a) = F(aπ(0) , . . . , aπ(N−1) ). Symmetrische Funktionen haben die angenehme Eigenschaft, dass ihr Funktionswert nur von der Anzahl der Einsen in der Eingabe abhängt. Dies können wir auch ausnutzen, um eine besonders einfache Polynomdarstellung für solche Funktionen zu erhalten. Satz: Sei p ein multilineares Polynom auf N Variablen mit reellen Koeffizienten, das eine symmetrische Funktion N → darstellt. Dann gibt es ein Polynom q auf einer einzelnen Variablen mit reellen Koeffizienten und deg(q) ≤ deg( p), so dass für alle a = (a0 , . . . , a N−1 ) ∈ {0, 1} N gilt: p(a0 , . . . , a N−1 ) = q(a0 + · · · + a N−1 ). Beweis: Seien X 0 , . . . , X N−1 die Variablen von p und d := deg( p). Definiere V0 := 1 und für j ∈ {1 . . . , d} definiere das Polynom V j als Summe von allen Monomen, die genau j Variablen aus {X 0 , . . . , X N−1 } enthalten. Offensichtlich ist deg(V j ) = j . Behauptung: Für geeignete b0 , . . . , bd ∈ gilt p = b0 V0 + b1 V1 + · · · + bd Vd . Beweis der Behauptung: Wir beweisen dies per vollständiger Induktion über d. Für d = 0 ist die Behauptung klar. Sei nun p ein Polynom auf X 0 , . . . , X N−1 vom Grad d ≥ 1, das eine symmetrische Funktion darstellt. Dann können wir p schreiben als p = q + r , wobei q alle Terme vom Grad d enthält und r alle Terme vom Grad höchstens d − 1. Damit wir die Induktionsvoraussetzung anwenden können, überzeugen wir uns, dass die Polynome q und r beide symmetrische Funktionen darstellen. Nach Voraussetzung stellt p eine symmetrische Funktion dar. Fixiere irgendein π ∈ S N . Dann gilt für alle a = (a0 , . . . , a N−1 ) ∈ {0, 1} N , dass p(aπ(0) , . . . , aπ(N−1) ) = p(a0 , . . . , a N−1 ). Sei pπ das Polynom, das aus p durch Permutieren der Variablen gemäß π entsteht. Analog seien qπ und rπ zu q bzw. r definiert. Aufgrund der Eindeutigkeit der Polynomdarstellung folgt pπ = p. Einsetzen von p = q + r und 115 pπ = qπ + rπ liefert (q − qπ ) + (r − rπ ) = 0. Es ist q − qπ = 0 oder q − qπ enthält nur Terme vom Grad d. Analog ist r − r π = 0 oder r − rπ besteht nur aus Termen mit Grad aus {0, . . . , d − 1}. Damit folgt q − qπ = 0 und r − rπ = 0, da sich Terme von verschiedenem Grad nicht wegheben. Wir haben also qπ = q und rπ = r für beliebige π ∈ S N . Insbesondere stellen q und r damit symmetrische Funktionen dar. Damit können wir die Induktionsvoraussetzung auf r anwenden und erhalten für geeignete b0 , . . . , bd−1 ∈ : r = b0 V0 + · · · + bd−1 Vd−1 . Sei q 6 = 0 (sonst sind wir fertig). Das Polynom q enthält nur Monome mit genau d Variablen, und aufgrund der Symmetrie der dargestellten Funktion enthält es sogar alle diese Monome. Wenn nämlich z. B. X 0 · · · · · X d−1 nicht enthalten wäre, hätten wir für die Eingabe a = (a0 , . . . , a N−1 ) mit a0 = · · · = ad−1 = 1 und ad = · · · = a N−1 = 0, dass q(a) = 0 ist, was nicht sein kann. Mit einer analogen Argumentation folgt, dass alle Koeffizienten der Monome in q gleich sein müssen. Also ist q = bd · Vd für ein bd ∈ , wie gewünscht. Wir beobachten nun, dass für beliebige a = (a0 , . . . , a N−1 ) ∈ {0, 1} N und j = 0, . . . , d V j (a0 , . . . , a N−1 ) = a0 + · · · +a N−1 j gilt. Definiere das Polynom q in der Variablen z durch z z z . + · · · + bd + b1 q := b0 d 1 0 Dann hat q offenbar Grad höchstens d, und es gilt mit der oben hergeleiteten Darstellung für p für beliebige a = (a0 , . . . , a N−1 ) ∈ {0, 1} N : p(a0 , . . . , a N−1 ) = b0 V0 (a0 , . . . , a N−1 ) + · · · + bd Vd (a0 , . . . , a N−1 ) a0 + · · · +a N−1 a0 + · · · +a N−1 = b0 + · · · + bd 0 d = q(a0 + · · · + a N−1 ). Dieser Satz liefert direkt untere Schranken für den Grad von Polynomen, die symmetrische booleschen Funktionen exakt darstellen. Zufällig sind alle hier bisher betrachteten booleschen Funktionen symmetrisch. Satz: (i) deg(AND N ) = N ; (ii) deg(OR N ) = N ; (iii) deg(MAJ N ) ≥ b(N + 1)/2c. 116 Beweis: Es bleiben nur die unteren Schranken zu zeigen. Der Beweis für alle drei Teile beruht auf folgender Vorüberlegung. Sei p ein multilineares Polynom auf N Variablen, das eine symmetrische boolesche Funktion auf N Variablen darstellt. Dann gibt es zu p nach dem obigen Satz ein Polynom q in nur einer Variablen mit p(a0 , . . . , a N−1 ) = q(a0 + · · · + a N−1 ) für alle Eingaben a = (a0 , . . . , a N−1 ) ∈ {0, 1} N und mit deg(q) ≤ deg( p). Wir wissen nun, dass ein vom Nullpolynom verschiedenes Polynom in einer Variablen mit k Nullstellen mindestens Grad k haben muss. Damit können wir durch simples Abzählen der Nullstellen untere Schranken für den Grad von q und damit von p beweisen. Wir führen die Anwendung auf die konkreten Funktionen nur am Beispiel AND N vor, für die anderen beiden Funktionen sollte sich die Leserin bzw. der Leser selbst von der Richtigkeit der Aussagen überzeugen. Sei q das Polynom zu AND N . Dann gilt q(z) = 1 für z = N und q(z) = 0 für z ∈ {0, 1, . . . , N − 1}. Also hat q mindestens N Nullstellen und daher mindestens Grad N . Damit folgt deg(AND N ) ≥ N . Der Nachweis von unteren Schranken für den Grad von approximativen Polynomdarstellungen ist leider nicht ganz so einfach. Wir halten zunächst die folgenden Ergebnisse für die hier betrachteten Funktionen fest: Satz: √ √ g g (i) deg(AND N ) = ( N ); N ) = ( N ); (ii) deg(OR g (iii) deg(MAJ N ) = (N ). Bezüglich des Grades von approximativen Polynomdarstellungen erweist sich also die Majoritätsfunktion als besonders schwierig. Wir beweisen hier nur die untere Schranke in Teil (ii), da dies für die Anwendung bei den Suchproblemen der wichtigste Teil ist. Wir arbeiten jetzt mit Approximationen durch Polynome, die unangenehmerweise selbst dann nicht unbedingt eine symmetrische Funktion darstellen müssen, wenn die von ihnen approximierte Funktion symmetrisch ist. Um die oben vorgestellte Ideen dennoch anwenden zu können, bedienen wir uns des Tricks, das Polynom durch seine so genannte Symmetrisierung zu ersetzen. Definition: Sei p ein multilineares Polynom auf den Variablen X 0 , . . . , X N−1 mit reellen Koeffizienten. Dann heißt das Polynom p sym (X 0 , . . . , X N−1 ) := 1 X p(X π(0) , . . . , X π(N−1) ). N! π∈S N die Symmetrisierung von p. Klarerweise stellt p sym eine symmetrische Funktion dar und es gilt deg( p sym ) ≤ deg( p). Dies werden wir benutzen, um bei Abschätzungen des Grades das Polynom p durch p sym zu ersetzen. g Für den Beweis der unteren Schranke für deg(OR N ) brauchen wir noch technische Hilfsmittel, die wir in Form von zwei Lemmas zusammenstellen. Das erste Lemma, das wir hier nicht beweisen, ist eine passende Variante der so genannten Markov-Ungleichung f ür Polynome aus dem Bereich der Approximationstheorie. 117 Lemma (Markov-Ungleichung): Sei p ein Polynom auf einer Variablen mit reellen Koeffizienten. Es gebe a1 , a2 , b1 , b2 ∈ mit a1 < a2 , so dass für z ∈ [a1 , a2 ] gilt, dass p(z) ∈ [b1 , b2 ]. Dann folgt für alle z ∈ [a1 , a2 ]: | p 0 (z)| ≤ deg( p)2 · b2 − b 1 . a2 − a 1 Wir werden hier keine Aussage für den Funktionswert des Polynoms für beliebige reelle Argumente in einem Intervall haben, sondern nur für natürliche Zahlen. Wir leiten daher folgendes Ergebnis aus der Markov-Ungleichung ab: Lemma: Sei p ein Polynom in einer Variablen mit reellen Koeffizienten und mit folgenden zusätzlichen Eigenschaften: (i) Für alle j ∈ {0, 1, . . . , N } gilt b1 ≤ p( j ) ≤ b2 , wobei b1 , b2 ∈ . (ii) Für ein z ∈ [0, N ] und ein c ∈ gilt Dann folgt deg( p) ≥ | p 0 (z)| p ≥ c. cN /(c + b2 − b1 ). Beweis: Sei c0 := max0≤z≤N | p 0 (z)| ≥ c. Sei j ∈ {0, 1, . . . , N }. Aus dem Mittelwertsatz erhalten wir, dass für h ∈ [−1/2, 1/2] und ein geeignetes ξ ∈ [x, x + h] bzw. ξ ∈ [x + h, x] gilt: | p( j + h) − p( j )| = | p 0 (ξ )| · |h|. Also ist p( j + h) ≥ p( j ) − c0 /2 ≥ b1 − c0 /2. Analog erhalten wir p( j + h) ≤ b2 + c0 /2. Insgesamt haben wir dann für beliebige z ∈ [0, N ]: b1 − c0 /2 ≤ p(z) ≤ b2 + c0 /2 Damit können wir die Markov-Ungleichung anwenden. Es folgt c0 ≤ deg( p)2 · c 0 + b2 − b1 , N d. h. deg( p)2 ≥ c0 N N cN N = = . ≥ c 0 + b2 − b1 1 + (b2 − b1 )/c0 1 + (b2 − b1 )/c c + b 2 − b1 √ g Beweis von deg(OR N ) = ( N): Sei p ein multilineares Polynom in N Variablen, das OR N darstellt. Gemäß unserer Erkenntnisse von oben gibt es ein Polynom q in einer Variablen mit q(a0 + · · · + a N−1 ) = p sym (a0 , . . . , a N−1 ) für alle (a0 , . . . , a N−1 ) ∈ {0, 1} N und für das deg(q) ≤ deg( p sym ) ≤ deg( p) gilt. Wir erhalten folgende weitere Eigenschaften für q: 118 (i) Für alle j ∈ {0, 1, . . . , N } gilt −1/3 ≤ q( j ) ≤ 4/3. Dies folgt aus der Tatsache, dass p eine Funktion mit Werten aus {0, 1} approximiert. (ii) Es ist q(0) ≤ 1/3. Denn q(0) = p sym (0, . . . , 0) = p(0, . . . , 0) und p(0, . . . , 0) ≤ 1/3. (iii) Es ist q(1) ≥ 2/3. Denn für jede Eingabe a ∈ {0, 1} N mit genau einer Eins gilt p(a) ≥ 2/3, also folgt 2/3 ≤ p(a) = p sym (a) = q(1). Aus (ii) und (iii) erhalten wir wieder mit dem Mittelwertsatz, dass es ein z ∈ [0, 1] gibt mit q 0 (z) = q(1) − q(0) ≥ 1/3. Das Lemma oben liefert nun für b1 = −1/3, b2 = 4/3 und c = 1/3: p p deg(q) ≥ (1/3)N /(1/3 + 4/3 + 1/3) = N /6. Anwendungen Mit den Ergebnissen aus den vorhergehenden beiden Abschnitten können wir nun untere Schranken für die Anzahl der Blackbox-Kopien beweisen, die in einem Blackbox-Quantenschaltkreis verwendet werden. Als Anwendung der im letzten Abschnitt bewiesenen Ergebnisse deg(OR N ) = deg(AND N ) = N und deg(MAJ N ) ≥ b(N + 1)/2c ergibt sich: Satz: Jeder Quantenschaltkreis nach dem Schema in Abbildung 5.3, der f ür eine als Blackbox gegebene Funktion f : {0, 1, . . . , N } → {0, 1} mit Sicherheit entscheidet, ob f = 0 gilt (bzw. f = 1 bzw. M = |{ j | f ( j ) = 1}| ≥ N /2), benötigt (N ) Blackbox-Bausteine für f . Damit gibt es insbesondere für die Entscheidungsvariante des allgemeinen Suchproblems keine quadratische Beschleunigung für Quantenrechner im Vergleich zum klassischen Fall, wenn es uns nicht erlaubt ist, Fehler zu machen. Dieselbe Aussage folgt auch für das von uns eigentlich am Anfang des Kapitels behandelte Problem, bei dem eine Lösung zu finden ist, falls eine existiert, da die Entscheidungsvariante nicht schwerer ist als dieses Problem. Für den Grad von approximativen Polynomdarstellungen haben wir √ √ g g deg(OR N ) = 2( N ), deg(AND N ) = 2( N ) Damit erhalten wir: 119 g und deg(MAJ N ) = 2(N ). Satz: (i) Jeder Quantenschaltkreis nach Abbildung 5.3, der für eine als Blackbox gegebene Funktion f : {0, 1, . . . , N } → {0, 1} mit Fehlerwahrscheinlichkeit höchstens 1/3 entscheidet, ob √ f = 0 gilt (bzw. f = 1) benötigt ( N ) Blackbox-Bausteine für f . (ii) Jeder Quantenschaltkreis nach Abbildung 5.3, der für eine als Blackbox gegebene Funktion f : {0, 1, . . . , N } → {0, 1} die Eigenschaft M = |{ j | f ( j ) = 1}| ≥ N /2 mit Fehlerwahrscheinlichkeit höchstens 1/3 entscheidet, benötigt (N ) Blackbox-Bausteine. Dies zeigt unter anderem die asymptotische Optimalität des Grover-Ansatzes bezüglich der Anzahl von Blackbox-Bausteinen für das allgemeine Suchproblem. Außerdem sehen wir am Beispiel der Majoritätsfunktion, dass die bei Grover beobachtete quadratische Beschleunigung im Vergleich zum klassischen Fall nicht für beliebige Blackbox-Probleme gilt. Insbesondere zerschlägt sich die Hoffnung, mit dem Grover-Ansatz NP-vollständige Probleme auf Quantenrechnern in Polynomialzeit lösen zu können. Wenn man überhaupt mit Quantenrechnern für diese Probleme mehr als eine quadratische Beschleunigung gegenüber dem naiven Durchsuchen des gesamten Lösungsraumes erreichen will, muss man in die Blackbox hin” einsehen“, d. h. problemspezifisches Wissen einsetzen. Allgemein wird allerdings momentan eher vermutet, dass es kein NP-vollständiges Problem gibt, das in Polynomialzeit von einem Quantenrechner gelöst werden kann. 120 6. Experimentelle Quantenrechner Wenn ein mathematisches Modell in der Informatik Sinn haben soll, muss es einen Bezug zur Realität haben. Wir sollten uns also dafür interessieren, inwieweit sich die Modelle für Quantenrechner, die wir in den vorangegangenen Kapiteln studiert haben, tatsächlich physikalisch realisieren lassen. Diese Fragen gehören zu einem aktuellen und spannenden Bereich der Experimentalphysik. Bei der Behandlung hier in einer Informatikvorlesung beschränken wir uns auf die Vorstellung der wesentlichen Ideen. Die experimentelle Realisierung von Quantenrechnern ist eine große Herausforderung, da es gilt, zwei widersprüchliche Anforderungen miteinander zu vereinen: • Wir benötigen für die bereits beschriebenen Algorithmen ein Qubit-Register, auf dem wir Operationen und Messungen durchführen können. Insbesondere müssen wir dazu gut von außen auf das Qubit-Register zugreifen können. • Dieses Qubit-Register sollte aber andererseits sehr gut von der Umwelt isoliert sein, um viele Operationen ausführen zu können, bevor Dekohärenzeffekte den aktuellen Zustand zu stark verändern (siehe Abschnitt 2.2). Aufgrund von beeindruckenden Fortschritten in der Experimentalphysik in den letzten ca. 20 Jahren ist es heutzutage möglich, experimentell mit kleinen Anzahlen von Qubits zu arbeiten und einige Demonstrationsbeispiele zu realisieren. Bis zu praktisch nutzbaren Quantenrechnern, die einen Vergleich mit klassischen Rechnern gewinnen, ist es aber vermutlich noch ein weiter Weg. Selbst bei den für einige wenige Qubits erfolgreich erprobten Ansätzen stellt sich die Skalierbarkeit als ernstes Problem heraus, d. h. die Verallgemeinerung der vorhandenen Ideen auf eine Anzahl von Qubits, wie man sie für praktisch sinnvolle Algorithmen benötigt. Wie kann man ein Qubit-Register realisieren? Wie wir in Kapitel 2 gelernt haben, benötigen wir für ein einzelnes Qubit ein physikalisches System, das eine Observable mit mindestens zwei verschiedenen Werten und zugehörigen orthogonalen Basiszuständen hat. Um ein Register mit n Qubits bauen zu können, brauchen wir n solche Observablen. Außerdem müssen wir in der Lage sein, einen wohldefinierten Basiszustand für das Qubit-Register zu präparieren (einer reicht), es mit unitären Operatoren zu verändern, und schließlich seinen Zustand zu messen. Wir wollen hier zwei bereits erprobte Ansätze zum Bau von Quantenrechnern diskutieren, nämlich optische Quantenrechner und NMR-Quantenrechner. Es gibt viele weitere Ideen für den Bau von Quantenrechnern, von ebenfalls bereits experimentell erprobten bis zu eher spekulativen, siehe dazu das Buch von Nielsen und Chuang. Für jeden der Quantenrechner-Typen gliedern wir die Behandlung in folgende Unterpunkte: 1) Physikalische Grundlagen; 4) Messungen; 2) Realisierung von Qubits; 5) Realisierung von unitären Operationen; 3) Präparieren eines Basiszustands; 6) Bewertung. 121 Wir arbeiten hier jeweils mit idealisierten Bauelementen und blenden alle Probleme aus, die sich in der Realität durch nichtexakte Realisierung von Operationen, durch Fehler bei Messungen, Rauschen in wichtigen Parametern usw. ergeben. Probleme durch Dekohärenz werden ebenfalls nur am Rande diskutiert. Die Behandlung dieser Probleme ist für sich genommen ein umfangreiches Thema. 6.1. Optische Quantenrechner In einem optischen Quantenrechner wird wie bei klassischen optischen Experimenten Licht mit Hilfe von Spiegeln, Strahlteilern usw. manipuliert. Allerdings werden hier einzelne Photonen (anschaulich Lichtquanten“ oder Lichtteilchen“) statt Lichtstrahlen eingesetzt. ” ” 1) Physikalische Grundlagen Um uns klarzumachen, welche Observablen bei optischen Experimenten eingesetzt werden können, um Qubits zu repräsentieren, müssen wir etwas weiter ausholen und betrachten zunächst Licht auf klassische Weise. Aus den maxwellschen Gleichungen ergeben sich unter geeigneten Rahmenbedingungen als Lösungen für die elektrische und magnetische Feldstärke Kurven im 3 , die als Welle bezeichnet werden. Es reicht, wenn wir uns das speziell am Vektor der elektrischen Feldstärke ansehen. Dieser hat für einen festen Zeitpunkt dann z. B. das in Abbildung 6.1 (a) oder (b) gezeigte Aussehen. Die beiden Kurven in der Abbildung werden mathematisch beschrieben durch E t) = [E x cos(ωt − kz + ϕx ), 0, z]> ∈ E(z, E t) = [0, E y cos(ωt − kz + ϕ y ), z]> ∈ E(z, 3 für Teil (a) bzw. 3 für Teil (b). Hier ist t ∈ die Zeit und z ∈ eine der drei Ortskoordinaten. Die sonstigen Parameter, die alle reellwertig sind, sind die Amplituden E x , E y und Phasen ϕx , ϕ y für x- und y-Richtung, die Frequenz ω und k = ω/c, wobei c die Lichtgeschwindigkeit ist. x x y z y (a) z (b) Abbildung 6.1: Wellenförmiger Feldvektor des elektrischen Feldes zu einem festen Zeitpunkt. 122 Im Bild ist das Koordinatensystem so gewählt worden, dass die Ausbreitungsrichtung der durch den elektrischen Feldvektor beschriebenen Wellen mit der z-Achse übereinstimmt. Der Feldvektor liegt immer in der zur Ausbreitungsrichtung orthogonalen Ebene, im Bild in der x-yEbene. Wellen, bei denen die Kurve des Feldvektors in einer Ebene liegt wie bei den beiden in Abbildung 6.1 nennt man linear polarisiert. Nach Festlegung des Koordinatensystems spricht man auch von vertikaler Polarisation im Fall von Abbildung 6.1 (a) bzw. horizontaler Polarisation im Fall von Abbildung 6.1 (b). Eine Welle mit beliebiger Polarisationsrichtung kann als Überlagerung aus einer horizontal und einer vertikal polarisierten Welle erzeugt werden. Man kann zeigen, dass sich allgemein das elektrische und magnetische Feld als Summe aus abzählbar unendlich vielen elementaren Wellen wie den obigen zusammensetzen lässt, die man Moden nennt. Zur Veranschaulichung ist es hier praktisch, sich eine Mode als einen Übertragungskanal vorzustellen, der Licht einer ganz bestimmten Sorte transportieren kann. Die Parametern einer Mode sind die Ausbreitungsrichtung des Lichts, seine Frequenz, Phase und Polarisation. Im klassischen Fall hat jede Mode darüber hinaus eine Amplitude, die durch eine reelle Zahl beschrieben wird. In der quantenmechanischen Variante dieser Beschreibung erhält man nun für jede Mode anstelle der Amplitude auf mathematischem Wege eine Observable, genannt Anzahlobservable, die Werte aus 0 annehmen kann. Diese Werte interpretiert man als Anzahl von Photonen in der Mode. Zu den Werten der Anzahlobservablen gibt es korrespondierende Vektoren in einer ON-Basis |0i, |1i, |2i, . . .. Diese Zustände heißen Anzahlzustände oder auch Fock-Zustände. Im Allgemeinen landen wir damit bei einem unendlich-dimensionalen Vektorraum, was uns aber für das Weitere keine Probleme bereitet, da wir immer nur mit sehr wenigen Photonen arbeiten und uns damit auf einen endlich-dimensionalen Untervektorraum zurückziehen können. 2) Realisierung von Qubits Wie können wir mit den Erkenntnissen aus dem vorhergehenden Abschnitt ein Qubit darstellen? Wir betrachten zunächst eine einzelne Mode mit den Zuständen |0i (kein Photon) bzw. |1i (ein Photon). Man kann zeigen, dass sich allgemein ein Anzahlzustand |ni bei Ausbreitung in der Luft innerhalb von t Zeiteinheiten gemäß der Transformation |ni 7 → einωt |ni verändert, wobei ω ∈ die Frequenz der Mode ist. Speziell für |0i und |1i haben wir also |0i 7 → |0i, |1i 7 → eiωt |1i. Wenn wir ein Qubit auf die nahe liegende Weise mit den Zuständen |0i und |1i darstellen, erfahren beide Basiszustände im Laufe der Zeit unterschiedliche Änderungen, auch wenn wir eigentlich nichts tun wollen. Um diesen Effekt zu vermeiden, kann man zwei räumlich getrennte Moden heranziehen, die in ihren sonstigen Parametern übereinstimmen. Klassisch entsprechen diesen Moden zwei räumlich getrennte Strahlen aus Licht mit gleicher Frequenz, Phase und Polarisation (z. B. aus ein123 und demselbem Laser). Beide Moden haben eine Anzahlobservable. Wir betrachten den Fall, dass sich in beiden Moden zusammen genau ein Photon aufhält. Dann haben wir die beiden möglichen Basiszustände |0, 1i = |0i|1i bzw. |1, 0i = |1i|0i. Wir sehen, dass beide Basiszustände hier der gleichen zeitabhängigen Änderung in Form des Phasenvorfaktors eiωt unterliegen, den wir damit ignorieren können. Diese beiden Zustände interpretieren wir nun als Basiszustände |0L i bzw. |1L i (in dieser Reihenfolge) unseres Qubits, das üblicherweise zur Verdeutlichung logisches Qubit genannt wird. Diese Implementierung der Basiszustände eines Qubits durch Zustände von zwei Moden bezeichnet man aus nahe liegenden Gründen als Dual-Rail-Darstellung. Für die weitere Beschreibung von optischen Quantenrechnern gehen wir davon aus, dass Qubits auf diese Weise dargestellt sind. Bei einer alternativen Realisierungsmöglichkeit benutzt man zwei Moden mit orthogonalen Polarisationsrichtungen und ansonsten identischen Parametern. Als Polarisationsrichtungen haben wir z. B. horizontale und vertikale Polarisation nach geeigneter Festlegung des Koordinatensystems. Wieder soll sich in beiden Moden zusammen genau ein Photon aufhalten. Die Basiszustände für die beiden Polarisationsrichtungen werden dann üblicherweise mit |H i und |V i bezeichnet und können wieder als Darstellung eines einzelnen Qubits interpretiert werden. Um allgemein n Qubits zu bekommen, benutzen wir einfach n Paare von Moden. Für einige frühere optische Quantenrechnern wurden 2n Moden verwendet, in denen ein einzelnes Photon dann in unärer Kodierung den Basiszustand anzeigte. Der offensichtlich Nachteil dieser Idee ist, dass der Hardware-Aufwand exponentiell in n wächst, was die Vorteile eines Quantenrechners zunichte macht. 3) Präparieren eines Basiszustandes Nach den Erkenntnissen des letzten Abschnittes müssen wir zur Präparation eines Basiszustandes in der Lage sein, eine Mode des elektromagnetischen Feldes so anzuregen, dass sich darin genau ein Photon befindet. Dies liefert dann den Basiszustand |0, 1i bzw. |1, 0i für zwei Moden. Wir verwenden dazu einen Prozess, den man Parametric Down-Conversion nennt. Dazu sendet man extrem kurze Laserlichtpulse (typisch sind z. B. 50 fs = 5 · 10 −14 s) durch einen speziellen Kristall (z. B. β-Bariumborat, kurz BBO), was unter geeigneten Bedingungen zum Aussenden von zwei orthogonal polarisierten Photonen in zwei unterschiedlichen Richtungen am anderen Ende des Kristalls führt. Bezüglich ihrer Polarisation befinden sich diese Photonen im Bell-Zustand √1 (|H i|V i + |V i|H i), was man u. a. für Experimente zur Quantenteleportation 2 einsetzt. Hier verwenden wir diesen Prozess folgendermaßen. Wir platzieren in einer der beiden Richtungen am Ausgang des Kristalls einen Detektor für Photonen (Details dazu weiter unten). Wenn dieser Detektor dann genau ein Photon registriert, wissen wir, dass auch in der anderen Richtung exakt ein Photon ausgesendet wurde. Damit können wir Basiszustände für beide im letzten Abschnitt besprochenen Kodierungen von Qubits erzeugen. 124 4) Messungen Ein Gerät, mit dem man einzelne Photonen registrieren kann, heißt Photomultiplier (PMT, Photomultiplier Tube) bzw. Sekundärelektronenvervielfacher (SEV). Einzelne Photonen können in dieser Vakuumröhre Elektronen aus einem Material herausschlagen, die durch ein starkes elektrisches Feld beschleunigt werden und ihrerseits weitere Elektronen herauslösen, was zu einem Lawineneffekt führt. Den durch die Elektronenlawine bewirkten Strom kann man dann makroskopisch registrieren. 5 a) Realisierung von unitären Operationen: Nichtlineare Optik Es gibt zwei verschiedene Ansätze zur Realisierung von unitären Operationen. Der erste, in diesem Abschnitt beschriebene verwendet als Bauteile Phasenverschieber, Strahlteiler und KerrZellen. Letztere sind so genannte nichtlineare optische Bauteile, daher der Name des Ansatzes. Phasenverschieber. Ein Phasenverschieber besteht aus einem Material, in dem die Ausbreitungsgeschwindigkeit von Licht im Vergleich zur Luft reduziert ist (dafür gibt es spezielle Quarzplättchen). Wir setzen einen Phasenverschieber in eine der beiden Moden ein und können je nach Dicke des Materials unterschiedliche Verzögerungen im Vergleich zur anderen Mode realisieren (siehe Abbildung 6.2). L Mode 1 Mode 2 Abbildung 6.2: Phasenverschieber. Quantenmechanisch beschrieben realisiert ein Phasenverschieber die unitäre Transformation |0, 1i 7 → |0, 1i, |1, 0i 7 → eiϕ |1, 0i. Der Winkel der Phasenverschiebung ϕ = χ L ergibt sich aus einer Materialkonstanten χ und der Dicke L des Materials (damit können wir also leicht verschiedene Winkel ϕ einstellen). Für das durch die Dual-Rail-Darstellung kodierte Qubit mit Basiszuständen |0 L i, |1L i erhalten wir die Transformation |0L i 7 → |0L i, |1L i 7 → eiϕ |1L i. 125 Also haben wir in Matrixdarstellung die Ein-Qubit-Operation P(ϕ) := e iϕ/2 e−iϕ/2 0 · 0 eiϕ/2 = eiϕ/2 Uz (ϕ). Dabei ist Uz (ϕ) wie in Kapitel 3 besprochen eine Ein-Qubit-Operation, die in der Blochdarstellung eine Drehung bezüglich der z-Achse um den Winkel ϕ bewirkt. Strahlteiler. Ein einfacher Strahlteiler besteht aus einem halbdurchlässigen Spiegel, der einen ankommenden Lichtstrahl in zwei Teilstrahlen aufteilt (Abbildung 6.3 (a)). Das Verhältnis der Intensitäten des durch den Spiegel hindurchtretenden Strahls und des reflektierten Strahls kann durch die Materialeigenschaften des Spiegels bestimmt werden. α α cos θ + β sin θ β (a) (b) −α sin θ + β cos θ Abbildung 6.3: Strahlteiler. Eine aufwändigere Realisierung besteht aus einem Prisma, wobei die Bodenfläche des Prismas den halbdurchlässigen Spiegel bildet. Von diesen Prismen setzt man nun zwei gegeneinander, um einen Strahlteiler für zwei Strahlen bzw. zwei Moden zu erhalten (Abbildung 6.3 (b)). Bezüglich eines Photons in der Dual-Rail-Darstellung bewirkt der Strahlteiler folgende Transformation: |0, 1i 7 → cos θ |0, 1i + sin θ |1, 0i, |1, 0i 7 → − sin θ |0, 1i + cos θ |1, 0i. Der Parameter θ ∈ ist davon abhängig, wie stark die halbdurchlässigen Spiegel reflektieren. Genauer hängt diese Beschreibung des Strahlteilers wie folgt mit dem klassischen Fall zusam√ √ men. Wir haben cos θ = η und sin θ = 1 − η für ein η ∈ [0, 1]. In der klassischen Beschreibung geben η und 1 − η den Anteil der durch das Prisma reflektierten bzw. hindurchgehenden Licht-Intensität an. Da im klassischen Fall die Summen der Intensitäten der Strahlen am Eingang bzw. am Ausgang übereinstimmen müssen (Energieerhaltung), folgt dasselbe für die Summen der Betragsquadrate der Amplituden in der quantenmechanischen Beschreibung. Daraus kann man analog zu Abschnitt 1.3 schließen, dass die Transformation des Strahlteilers unitär sein muss. Eine genauere Festlegung der Transformation ergibt sich durch materialabhängige Phasenverschiebungen für die verschiedenen Strahlen bzw. Moden. 126 Die zum Strahlteiler gehörende Ein-Qubit-Operation auf dem logischen Qubit hat die Matrixdarstellung cos θ − sin θ B(θ ) = . sin θ cos θ Es ist B(θ ) = U y (2θ ), d. h. in der Blochdarstellung realisiert der Strahlteiler mit dieser Matrix eine Drehung bezüglich der y-Achse um den Winkel 2θ . Der gängige Parameter θ = π/4 entspricht einer Reflexion von 50% eines einfallenden Lichtstrahls im klassischen Fall. Bei einem einzelnen Photon an einem der beiden Eingänge kann man das Photon mit Wahrscheinlichkeit je 1/2 an den beiden Ausgängen des Strahlteilers messen. Dieses Bauteil nennt man daher 50-50-Strahlteiler. Für die spätere Verwendung in optischen Quantenschaltkreisen führen wir noch die in Abbildung 6.4 gezeigten Symbole für den Phasenverschieber mit Winkel ϕ und den Strahlteiler mit Reflektivitäts-Parameter θ ein. ϕ θ Phasenverschieber Strahlteiler Abbildung 6.4: Symbole für optische Bauelemente. Mit diesen beiden Bauelementen können wir also in der Blochdarstellung beliebige Drehungen um die y- und die z-Achse bewirken. Gemäß Abschnitt 3.1 ist das bereits ausreichend, um beliebige Ein-Qubit-Bausteine aufzubauen. Es fehlt nun noch der CNOT-Baustein, um einen universellen Bausteinsatz zu bekommen. Dieser wird mit Hilfe des nächsten Bauelementes realisiert. h i 1 0 Übungsaufgabe: Wie lassen sich der Hadamard-Baustein und der π/8-Baustein T = 0 eiπ/4 mit Hilfe von optischen Bauelementen realisieren? (Zur Erinnerung: Unser endlicher universeller Bausteinsatz B aus Kapitel 3 besteht aus diesen Bausteinen und CNOT.) Kerr-Zellen. Eine Kerr-Zelle besteht aus einem Material, bei dem die Ausbreitungsgeschwindigkeit des Lichts abhängig ist von der Intensität des einfallenden Lichts. Damit ist die KerrZelle ein so genanntes nichtlineares Bauelement. Wir betrachten hier vier verschiedene Moden mit Basiszuständen |n 1 , n 2 i|n 3 , n 4 i, wobei die ersten und die letzten beiden jeweils die Dual-Rail-Darstellung eines Qubit-Zustandes bilden. Wir leiten nur Mode 1 und Mode 3 in die Kerr-Zelle. (Falls die Reihenfolge der Strahlen vor der Zelle nicht passend ist, benutzen wir Spiegel zum Umlenken der Strahlen.) Die Kerr-Zelle bewirkt dann mit einem wieder vom Material und von der Dicke abhängigen Parameter ϕ die 127 folgende Transformation: |0, 1i|0, 1i 7 → |0, 1i|0, 1i, |0, 1i|1, 0i 7 → |0, 1i|1, 0i, |1, 0i|0, 1i 7 → |1, 0i|0, 1i, |1, 0i|1, 0i 7 → eiϕ |1, 0i|1, 0i. Die Phasenverschiebung um eiϕ tritt also genau dann ein, wenn sowohl Mode 1 als auch Mode 3 ein Photon enthält. Für das logische Qubit erhalten wir die gesteuerte Phasenverschiebung 1 0 0 0 0 1 0 0 K (ϕ) := 0 0 1 0 . 0 0 0 eiϕ Für den Spezialfall ϕ = π ist 1 0 K (π ) = 0 0 0 1 0 0 0 0 0 0 . 1 0 0 −1 Für diesen Baustein führen wir den neuen Namen CSIGN ( controlled sign“) ein. Aus einem ” CSIGN-Baustein stellen wir nun durch Einfügen je eines Hadamard-Bausteins auf dem Zielqubit vor und hinter dem Baustein einen CNOT-Baustein her: Es ist CNOT = (I ⊗ H ) · CSIGN · (I ⊗ H ). Insgesamt haben wir damit einen universellen Bausteinsatz realisiert. Zumindest prinzipiell können wir mit den hier vorgestellten Bauelementen optische Quantenschaltkreise bauen, die beliebige unitäre Operationen berechnen. Problematisch ist allerdings, dass Kerr-Zellen mit der erforderlichen hohen Phasenverschiebung sehr schwer zu realisieren sind und dann Licht sehr stark absorbieren. Eine Abhilfe bietet der im nächsten Abschnitt diskutierte, alternative Ansatz. 5 b) Realisierung von unitären Operationen: Lineare Optik Ein neuerer Ansatz zum Bau von optischen Quantenrechnern aus dem Jahr 2001 vermeidet nichtlineare Bauelemente ganz. Als Bauteile werden nur Phasenverschieber und Strahlteiler verwendet. Die Operation CSIGN wird durch eine raffinierte Kombination von diesen Bauteilen und Messungen nachgebildet. Im Folgenden skizzieren wir diese Konstruktion. Wir arbeiten wieder mit der Dual-Rail-Darstellung. Hier tauchen bei Zwischenergebnissen auch mehrere Photonen in einer Mode auf. Diese Situation behandelt das folgende Lemma, das wir hier ohne Beweis benutzen. 128 Lemma: Ein Quantenschaltkreis aus optischen Bauelementen auf m Moden kann durch eine unitäre Matrix U = (u j k )1≤ j,k≤m beschrieben werden, so dass der Schaltkreis folgende Transformation auf den Basiszuständen der Moden durchführt: n 1 |n 1 , . . . , n m i 7 → √ u 11 C 1 + · · · + u m1 C m 1 · · · · n1! · · · · · nm ! n · · · · u 1m C 1 + · · · + u mm C m m |0, . . . , 0i, wobei C j für j = 1, . . . , m ein Operator ist, der für alle n ∈ 0 die Eigenschaft √ C nj |0, . . . , 0i = n! |0, . . , 0}, n, 0, . . , 0}i | .{z | .{z j −1 erfüllt. n− j Der Operator C j erhöht die Anzahl der Photonen in Mode j um eins. Der zusätzliche Vorfaktor stellt sicher, dass das Ergebnis der obigen Operation wieder ein normierter Vektor ist. Um zu einem optischen Quantenschaltkreis die entsprechende Matrix U herauszubekommen, reicht es aus, die Operation auf Zuständen zu betrachten, bei denen sich in allen Moden zusammen genau ein Photon befindet, d. h. für die n 1 + · · · + n m = 1 gilt. Genau das haben wir im letzten Abschnitt für die dort behandelten Bauteile gemacht. Damit hat der Phasenverschieber mit Winkel ϕ die 1 × 1-Matrix eiϕ und der Strahlteiler die bereits weiter oben vorgestellte 2 × 2-Matrix B(θ ). Beispiel: Wir rechnen aus, wie der 50-50-Strahlteiler auf den Eingangszustand |1, 1i wirkt. Die Matrix dieses Strahlteilers ist 1 1 −1 . B := B(π/4) = √ 1 2 1 Also erhalten wir nach obigem Lemma als Zustand am Ausgang B11 C 1 + B21 C 2 B12 C 1 + B22 C 2 |0, 0i = B11 B12 · C 12 |0, 0i + B11 B22 + B21 B12 · C 1 C 2 |0, 0i + B21 B22 · C 22 |0, 0i 1 1 = − √ |2, 0i + √ |0, 2i. 2 2 Dies ist ein überraschendes Ergebnis, wenn man versucht, das Verhalten des Strahlteilers mit klassischen (probabilistischen) Vorstellungen zu verstehen. Wir sehen, dass das im Allgemeinen schief geht. Wir überlegen uns nun, wie man den Baustein CSIGN realisieren kann. Als Teilmodul benutzen wir den in Abbildung 6.5 dargestellten optischen √ Quantenschaltkreis, wobei der dort vorkommende Winkel θ definiert ist durch θ = arccos( 2 − 1). Die durch diesen Schaltkreis realisierte Operation wird in der Literatur mit NS bezeichnet (nondeterministic phase shift, ein etwas unglücklicher Name). Der Schaltkreis hat drei Moden als Eingänge. Die unteren beiden 129 |ψi NS|ψi |1i π |0i π/8 = 1? θ −π/8 = 0? Abbildung 6.5: Optischer Quantenschaltkreis für die Operation NS. Mode 1 Mode 2 Mode 3 Mode 4 π/4 |1i |0i NS |1i |0i NS −π/4 Abbildung 6.6: Optischer Quantenschaltkreis für die Operation CSIGN. Moden sind immer konstant mit einem bzw. keinem Photon initialisiert. In die oberste Mode füttern wir einen Zustand |ψi hinein, wobei als Basiszustände hier nur |0i, |1i und |2i benutzt werden (also null bis maximal zwei Photonen, bei anderen Photonenanzahlen machen wir keine Aussage über das Verhalten). Am Ausgang messen wir die unteren beiden Moden. Falls wir das Ergebnis (1, 0) erhalten, wird auf der obersten Mode die Transformation α0 |0i + α1 |1i + α2 |2i 7 → α0 |0i + α1 |1i − α2 |2i durchgeführt. Dies passiert mit Wahrscheinlichkeit mindestens 1/4. Falls wir ein anderes Messergebnis erhalten, verwerfen wir das Ergebnis unseres gesamten Schaltkreises. Bevor wir uns Gedanken dazu machen, warum der Schaltkreis sich so verhält, sehen wir uns an, wie wir ihn anwenden, um den eigentlich gewünschten Baustein CSIGN zu implementieren. Der entsprechende optische Quantenschaltkreis ist in Abbildung 6.6 gezeigt. Der Schaltkreis enthält zwei 50-50-Strahlteiler, die sich in ihrer Wirkung gegenseitig aufheben. In der Mitte haben wir zwei Kopien des oben vorgestellten Bausteins. Welche Transformation führt dieser Schaltkreis aus, wenn Mode 1 und Mode 2 bzw. Mode 3 und Mode 4 Dual-Rail-Darstellungen enthalten und der Baustein NS korrekt arbeitet? Aufgrund der obigen Beschreibung des Bausteins NS und der Tatsache, dass die verwendeten Strahlteiler sich gegenseitig in der Wirkung aufheben, ist die berechnete Transformation nur dann von der Identität verschieden, wenn die NS-Bausteine in ihrer jeweils obersten Mode zwei Photonen empfangen. Dies kann nur für den Eingabezustand |1, 0i|1, 0i (also |11L i) passieren. Nach dem oben berechneten Beispiel ergibt 130 sich in diesem Fall als Zustand nach Durchlaufen des Strahlteilers für Mode 1 und Mode 3: 1 √ −|2, 0i1,3 + |0, 2i1,3 . 2 Wir haben hier zur Verdeutlichung als Indizes die Nummern der betroffenen Moden angegeben. Falls beide Bausteine NS korrekt arbeiten, was mit Wahrscheinlichkeit 1/16 passiert, erhalten wir am Ausgang dieser Bausteine: 1 1 √ − NS|2, 0i1,3 + NS|0, 2i1,3 = − √ −|2, 0i1,3 + |0, 2i1,3 . 2 2 Die Anwendung des inversen Strahlteilers liefert schließlich das Endergebnis −|1, 1i 1,3 für Mode 1 und Mode 3 und damit −|1, 0i|1, 0i für alle vier Moden zusammen. Damit haben wir die Operation CSIGN realisiert. Zum Schluss machen wir uns Gedanken um die Funktionsweise des Bausteins NS. Mit Hilfe des oben vorgestellten Lemmas ergibt sich die Semantik des gezeigten Schaltkreises für NS durch Multiplizieren der 3 × 3-Matrizen, durch die die Bauelemente im Schaltkreis dargestellt werden. Indem wir den ersten Strahlteiler mit dem Phasenverschieber zusammenfassen, ergibt sich die Matrix für den gesamten Schaltkreis in Form des Matrizenproduktes 1 0 0 cos(θ ) − sin(θ ) 0 −1 0 0 M := 0 cos(π/8) sin(π/8) · sin(θ ) cos(θ ) 0 · 0 cos(π/8) − sin(π/8) 0 − sin(π/8) cos(π/8) 0 0 1 0 sin(π/8) cos(π/8) √ mit θ = arccos( 2 − 1). Ausrechnen dieses Matrizenproduktes (am besten mit einem Programm für symbolische Algebra wie Maple) liefert p p √ √ √ 1− 2 −α −2 + 2 2 β −2 + 2 2 √ p 1 2 1 −α −2 + 2 √2 − M = , 2 2 2 √ p √ √ 2 1 1 − β −2 + 2 2 2− 2 2 2 wobei α := cos(π/8) und β := sin(π/8). Es bezeichne NS die unitäre Operation des Schaltkreises für beliebige Zustände der betrachteten Moden. Dann erhalten wir mit dem Lemma von oben: NS|0, 1, 0i = M12 C 1 + M22 C 2 + M32 C 3 |0, 0, 0i = M12 |1, 0, 0i + M22 |0, 1, 0i + M32 |0, 0, 1i. Gemäß den Regeln aus Kapitel 1 ergibt sich die Wahrscheinlichkeit für das Messergebnis (1, 0) für die letzten beiden Moden durch Aufsummieren der Betragsquadrate der Amplituden von allen Basiszuständen, die konsistent sind mit diesem Ergebnis. Also haben wir hier Wahrschein2 = 1/4. Der Zustand nach der Messung ergibt sich durch Projizieren des obigen lichkeit M22 131 Zustandes auf den Unterraum aller Basiszustände, die konsistent zum Messergebnis sind und anschließender Normierung. Also erhalten wir hier einfach |0, 1, 0i im Fall einer erfolgreichen Messung. Wir rechnen nur noch nach, was beim Zustand |2, 1, 0i passiert, auf dem NS nichttrivial arbeitet. Vorab überzeugen wir uns mit Hilfe der Additionstheoreme, dass √ 2α 2 = 2 cos2 (π/8) = 1 + cos(π/4) = 1 + 1/ 2 gilt. Wir erhalten nun: √ 2 NS|2, 1, 0i = (1/ 2) M11 C 1 + M21 C 2 + M31 C 3 M12 C 1 + M22 C 2 + M32 C 3 |0, 0, 0i = M11 M11 M22 + 2M12 M21 |2, 1, 0i + · · · √ √ √ = (1 − 2) (1 − 2)/2 + 2 cos2 (π/8)(−2 + 2 2) |2, 1, 0i + · · · √ √ √ √ = (1/2) · (1 − 2) (1 − 2) + (2 + 2)(−2 + 2 2) |2, 1, 0i + · · · = −(1/2) |2, 1, 0i + · · · √ √ Man beachte, dass der Faktor 1/ 2 sich mit dem durch C 12 generierten Faktor 2 weghebt. Der nicht gezeigte Teil ist für die Berechnung der Erfolgswahrscheinlichkeit irrelevant, da für alle übrigen Basiszustände dort in den letzten beiden Moden etwas von (1, 0) verschiedenes steht (die Anzahl der Photonen bleibt insgesamt erhalten). Es ergibt sich wieder als Erfolgswahrscheinlichkeit 1/4, und der Zustand nach der Messung ist bei Erfolg −|2, 1, 0i, wie gewünscht. Die hier gezeigte Konstruktion realisiert also den Baustein CSIGN mit Erfolgswahrscheinlichkeit mindestens 1/16. Durch andere Tricks, die auf Quantenteleportation und fehlerkorrigierenden Kodes beruhen, kann man dafür sorgen, dass die Fehlerwahrscheinlichkeit polynomiell schnell gegen null konvergiert, so dass diese Ideen auch für größere Schaltkreise anwendbar sind. 6) Bewertung Die älteren Ansätze für optische Quantenrechner haben den Nachteil, dass sie entweder schwer zu realisierende, nichtlineare Bauteile benötigen oder eine ungünstige Kodierung von Qubits verwenden, die von vornherein zu exponentiellem Hardware-Aufwand in der Anzahl der Qubits führt. Der hier besprochene, neue Ansatz mit rein linearer Optik scheint zur Zeit noch eine realistische Chance auf Realisierbarkeit in größerem Maßstab zu haben und ist inzwischen schon in mehreren Arbeiten untersucht und verfeinert worden. Neben theoretischen Untersuchungen gibt es auch einige Experimente dazu. Es gibt allerdings auch mit diesem Ansatz noch Probleme. Es stellt sich heraus, dass das genaue Registrieren von einzelnen Photonen, wie es zur Realisierung des probabilistischen Phasenverschiebers notwendig ist, mit der heutigen Technik schwierig ist. An möglichen Abhilfen wird zur Zeit gearbeitet. 132 6.2. NMR-Quantenrechner Die Abkürzung NMR steht für nuclear magnetic resonance, deutsch Kernspinresonanz. NMR ist ein Verfahren, das sowohl zur Aufklärung von Molekülstrukturen in der Chemie als auch als bildgebendes Verfahren in der Medizin eingesetzt wird. Die Technik ist bereits seit den 40er Jahren bekannt und inzwischen gut erforscht. In den letzten Jahren haben einige Gruppen von Wissenschaftlern mit Experimenten demonstriert, dass man im Prinzip NMR-Geräte auch einsetzen kann, um Quantenrechner zu realisieren. 1) Physikalische Grundlagen Wir betrachten zur Einführung das in Abbildung 6.7 schematisch gezeigte Experiment, das 1922 von Walther Gerlach und Otto Stern durchgeführt wurde. Dabei wird ein Strahl aus geeigneten, elektrisch neutralen Teilchen (im Originalversuch Silberatome) durch eine Blende und ein inhomogenes Magnetfeld auf einen Schirm geleitet, auf dem diese Teilchen sichtbar gemacht werden können. Man beobachtet, dass der Teilchenstrahl durch das Magnetfeld in zwei Teilstrahlen aufgeteilt wird, die auf dem Schirm als zwei unterscheidbare Linien abgebildet werden. Dies wird erklärt, indem man den Teilchen ein magnetisches Moment zuschreibt, das durch den Versuch makroskopisch sichtbar gemacht wird. (Zur Veranschaulichung ist es manchmal hilfreich, sich die Teilchen als Elementarmagnete vorzustellen.) z S y x N Abbildung 6.7: Stern-Gerlach-Experiment. Quantenmechanisch wird die beobachtete Eigenschaft der untersuchten Teilchen durch eine Observable beschrieben, die den Namen Spin erhalten hat. Anders als die bereits in der klassischen Physik vorhandenen Observablen Ort und Impuls kommt diese Observable nur in der Quantenmechanik vor. Für Elektronen und bestimmte Atomkerne hat diese Observable genau zwei mögliche Werte, die nach geeigneter Festlegung der physikalischen Einheiten +1/2 und −1/2 sind. Die Vektoren in der zu dieser Observablen gehörigen ON-Basis bezeichnen wir mit |+i (Wert +1/2, magnetisches Moment in Richtung des äußeren Magnetfeldes) und |−i (Wert −1/2, magnetisches Moment entgegengesetzt zur Richtung des äußeren Magnetfeldes). Es sollte bereits klar sein, dass diese Spin-Observable hervorragend geeignet ist, um ein Qubit zu realisieren. 133 Es stellt sich nun heraus, dass jede beliebige Richtung vE ∈ 3 des äußeren Magnetfeldes eine zugehörige Spin-Observable mit zwei Werten wie oben beschrieben liefert. Man spricht daher genauer von der Spin-Observablen in Richtung vE. Zur vollständigen Beschreibung der SpinEigenschaften reichen allerdings drei orthogonale Koordinatenrichtungen. Auf diese Weise erhalten wir drei Spin-Observablen, die wir mit S x , S y und Sz bezeichnen. Seien |+i und |−i die Basiszustände zu Sz , die mit den Standardbasisvektoren im 2 identifiziert werden: 0 1 . und |−i = |+i = 1 0 Die Basiszustände für die Observable S x , die zu den Werten 1/2 und −1/2 korrespondieren, sind 1 1 1 1 1 1 |x+i := √ |+i + |−i = √ bzw. |x−i := √ |+i − |−i = √ . 2 2 1 2 2 −1 Für S y haben wir analog die zu 1/2 und −1/2 korrespondierenden Basiszustände 1 1 1 1 1 1 |y+i := √ |+i + i |−i = √ bzw. |y−i := √ |+i − i |+i = √ . 2 2 i 2 2 −i All diese Spin-Observablen haben also Basiszustände über demselben Zustandsraum von der ON-Basis |+i, |−i der Observablen S z aufgespannt wird. 2, der Mit dem Versuchsaufbau aus Abbildung 6.7 können wir zwar die Spin-Observable S z messen und durch Auswahl eines Teilstrahls sogar die Zustände |+i oder |−i präparieren. Für eine kompliziertere Manipulation der Zustände ist dieser Aufbau allerdings nicht geeignet. Dazu wird für das Folgende ein modernes NMR-Gerät verwendet, das zum Schluss des GrundlagenAbschnittes hier vorgestellt werden soll. BE0 S z y x N Abbildung 6.8: Schema eines NMR-Gerätes. 134 Wir haben folgende wesentliche Komponenten (siehe Abbildung 6.8): • Einen supraleitenden Magneten (große Spule in z-Richtung im Bild): Dieser erzeugt ein starkes, statisches Magnetfeld, das wir im Folgenden mit BE0 bezeichnen. Gängig ist z. B. eine Feldstärke von | BE0 | = 11,7 Tesla, was ungefähr der 200.000-fachen Stärke des Erdmagnetfeldes entspricht. • Die Probe (in der Mitte des Bildes), in unserem Fall hier eine Flüssigkeit, die z. B. 10 23 Atomkerne mit jeweils einer Spin-Observablen wie oben beschrieben enthält. • Die so genannte RF-(Radiofrequenz-)Spule (blaue Spule in x-Richtung, in der die Probe steckt): In dem mit dieser Spule ein schwaches, periodisches Magnetfeld mit einer Frequenz im MHz-Bereich erzeugt wird, kann man die Spin-Zustände der Atome in der Probe manipulieren. Wenn man das Magnetfeld abschaltet, kann andererseits die Spule benutzt werden, um das Magnetfeld aufzufangen, das von den Atomkernen in der Probe erzeugt wird. • Elektronik und ein (klassischer) Computer zur Programmierung der RF-Spule und zum Auswerten der ausgelesenen Signale. Die Funktionsweise des NMR-Gerätes wird in den folgenden Abschnitten genauer erklärt. 2) Realisierung von Qubits Wir betrachten das im letzten Abschnitt vorgestellte NMR-Gerät. Wir bringen viele Kopien eines geeigneten Moleküls in einer Lösung als Probe in das Gerät ein. Für die Realisierung eines Qubits wählen wir die Spin-Observable in z-Richtung (wie in Abbildung 6.8) eines einzelnen Atomkerns in dem Molekül aus, bei dem diese Observable genau die Werte 1/2 und −1/2 annehmen kann. Die Basiszustände |+i und |−i für diese Observable stellen dann die Basiszustände für das Qubit dar. Cl Cl C13 Cl H Als Beispiel betrachten wir ein Chloroform-Molekül (siehe Abbildung links), das aus je einem Kohlenstoff- und Wasserstoff-Atom und drei Chlor-Atomen besteht. Für die Realisierung von zwei Qubits können die Kernspin-Observablen des Kohlenstoff- und des WasserstoffAtoms verwendet werden, die jeweils die Werte 1/2 und −1/2 annehmen können. Genau genommen wird hier das Kohlenstoff-Isotop C 13 anstelle des in der Natur normalerweise vorkommenden C12 verwendet, da letzteres keinen Spin hat. Die Auswahl der für die Realisierung von Qubits geeigneten Atome ist natürlich nicht beliebig. Zum einen haben nur bestimmte Atomkerne geeignete Spin-Observablen. Außerdem ist für die Adressierbarkeit der Spin-Observablen durch unitäre Operationen der genaue Aufbau des Moleküls entscheidend (siehe später). In einem NMR-Gerät können keine einzelnen Moleküle oder Atome manipuliert werden, da die Probe Raumtemperatur hat und daher die Moleküle starken thermischen Bewegungen unterworfen sind. Durch das steuerbare Magnetfeld der RF-Spule in einem NMR-Gerät werden immer simultan alle Atome einer bestimmten Sorte in der Probe beeinflusst. Dieses Vorgehen 135 unterscheidet den NMR-Quantenrechner von anderen experimentellen Quantenrechnern (wie z. B. den optischen Quantenrechnern aus Abschnitt 6.1). Ein weiterer Unterschied liegt darin, dass wir es hier durch die thermischen Bewegungen immer mit gemischten Zust änden zu tun haben (vgl. Kapitel 2). Reine Zustände, mit denen wir bisher fast immer gearbeitet haben, können nicht präpariert werden und werden durch einen rechnerischen Trick realisiert. Außerdem liefern Messungen nur den Erwartungswert der jeweiligen Spin-Observablen. Auf diese beiden Punkte gehen wir später ein. Um einen Einblick in die Funktionsweise von NMR zu bekommen, sehen wir uns zunächst die Realisierung von unitären Operationen an. Dabei tun wir der Einfachheit halber so, als ob wir einzelne Atome isoliert betrachten können. 5 a) Realisierung von unitären Operationen: Ein-Qubit-Operationen Wir betrachten in diesem Abschnitt ein einzelnes Atom mit Spin in einem statischen äußeren Magnetfeld BE0 in z-Richtung wie in Abbildung 6.8 gezeigt (das Atom ist in Wirklichkeit in unserer späteren Anwendung ein Teil eines größeren Moleküls). Als Basis für den Zustandsraum verwenden wir die weiter oben eingeführten Basiszustände |+i, |−i der KernspinObservablen Sz des Atoms. Zeitentwicklung im statischen Feld. Wir erinnern uns (siehe Abschnitt 2), dass sich der Zustand |ψ(t)i eines physikalischen Systems zum Zeitpunkt t durch Lösen der so genannten Schrödingergleichung d |ψ(t)i = −i H (t)|ψ(t)i, dt ergibt, wobei der Hamiltonoperator H (t) ein im Allgemeinen zeitabhängiger Operator auf dem Zustandsraum des Systems ist, für den H (t) = H (t)† gilt. Man kann sich überlegen, dass diese Differenzialgleichung für zeitunabhängiges H die Lösung |ψ(t)i = e−it H |ψ(0)i hat, wobei e−it H ein unitärer Operator ist. Wir reduzieren die Beschreibung des Atoms hier auf seine Spin-Observablen. Der Zustandsraum ist dann 2 . In einem beliebigen Magnetfeld BE = [Bx , B y , Bz ]> wird die Zeitentwicklung des Zustandes in diesem Raum, wie in der Physik gezeigt wird, durch den folgenden Hamiltonoperator beschrieben: 1 0 1 0 −i 1 −1 H = − γ (X Bx + Y B y + Z Bz ), mit X = ,Y = ,Z = . 1 0 i 0 1 0 2 Der Parameter γ ist hier eine physikalische Konstante, die nur von der betrachteten Teilchensorte abhängt. Für die hier betrachteten Atomkerne (H1 , C13 , F19 ) ist diese Konstante positiv. In unserem speziellen Fall ist außerdem BE = BE0 = [0, 0, B0], wobei B0 eine positive reelle Zahl ist (wir haben das Magnetfeld in z-Richtung gewählt). Mit der Definition ω 0 := γ B0 ergibt sich für den Hamiltonoperator und für den daraus resultierenden zeitabhängigen Zustandsvektor: 136 1 H = − ω0 Z , 2 |ψ(t)i = ei(ω0 t/2)Z |ψ(0)i. Nach Anhang B gilt nun ei(ω0 t/2)Z = Uz (−ω0 t), d. h. die Zeitentwicklung bewirkt hier eine Drehung der Blochdarstellung des Zustands um die z-Achse im Uhrzeigersinn. Diese Drehung hat die (Kreis-)Frequenz ω 0 . Dies ist für für einen Zustandsvektor mit Blochdarstellung in der x-y-Ebene in Abbildung 6.9 veranschaulicht. z ω0 y x Abbildung 6.9: Zeitentwicklung im statischen Feld auf der Blochsphäre. Als wichtige Anwendung dieser Erkenntnisse behandeln wir noch die Auswirkung der Zeitentwicklung auf die Basiszustände |+i = [1, 0]> und |−i = [0, 1]>. Wenn wir diese in die Zeitentwicklungsgleichung einsetzen, erhalten wir: |ψ+ (t)i = ei(ω0 t/2)Z |+i = ei(ω0 /2)t |+i bzw. |ψ− (t)i = ei(ω0 t/2)Z |−i = e−i(ω0 /2)t |−i. Bis auf einen irrelevanten Phasenvorfaktor bleiben die Zustände |+i und |−i also erhalten. Wir erinnern uns daran, dass auf der Blochsphäre |+i und |−i durch einen Einheitsvektor in z-Richtung bzw. in (−z)-Richtung dargestellt werden. Zustand |+i z Zustand |−i ω0 z y y x x ω0 Abbildung 6.10: Basiszustände von Sz im statischen Feld auf der Blochsphäre. 137 Für die Zustände |+i und |−i gibt es eine weitere, physikalische Interpretation, auf die wir bereits im Grundlagen-Abschnitt angespielt haben, ohne dies dort richtig erklären zu können. Beides sind Basiszustände der Energieobservablen des Kernspin-Systems im statischen Magnetfeld. Diese Energieobservable ergibt sich durch unitäre Diagonalisierung des Hamiltonoperators, wobei dann die Eigenwerte die möglichen Energiewerte angeben und die ON-Eigenbasis die zu der Observablen gehörigen Basisvektoren. Für den Hamiltonoperator H = −(1/2)ω 0 Z haben wir also die Energiewerte −ω0 /2 und ω0 /2 mit zugehörigen Basisvektoren |+i bzw. |−i, die wiederum zu einer Ausrichtung des magnetischen Moments parallel bzw. entgegensetzt zum Feld BE0 korrespondieren. Das System nimmt im Idealfall bevorzugt den Zustand |+i niedrigerer Energie ein. Bei Raumtemperatur hat aber durch die thermische Bewegung der Zustand |+i nur eine geringfügig höhere Wahrscheinlichkeit als der Zustand |−i (was wir weiter unten noch genauer behandeln). Zeitentwicklung bei eingeschalteter RF-Spule. Wir schalten nun zusätzlich zum BE0 -Feld ein zeitabhängiges Magnetfeld BE1 in der RF-Spule in x-Richtung ein. Die Analyse wird erstaunlicherweise einfacher, wenn man annimmt, dass zwei orthogonale Spulen sowohl in x-, als auch in y-Richtung angesteuert werden. Das wirkliche Verhalten bei nur einer Spule wird durch diese modifizierte Versuchsanordnung gut approximiert (ohne Beweis). Wir erzeugen mit den Spulen in x- und y-Richtung Magnetfelder der zeitabhängigen Stärken B1 cos(ωt) bzw. −B1 sin(ωt). Die maximale Stärke B1 des Magnetfeldes beträgt typischerweise einige Tausendstel Tesla, ist also viel kleiner als die des statischen Feldes. Beide RF-Spulen zusammen liefern ein in der x-y-Ebene mit der Frequenz ω im Uhrzeigersinn rotierendes Magnetfeld mit Feldvektor BE1 (t) = [B1 cos(ωt), −B1 sin(ωt), 0]>. Die Drehrichtung ist so gewählt, das sie mit der Drehrichtung des Spin-Zustandsvektors auf der Blochsphäre (Abbildungen 6.9 und 6.10) übereinstimmt. Beim Aufstellen des Hamiltonoperators für das System müssen wir nun auch das BE1 -Feld berücksichtigen. Gemäß der allgemeinen Formel vom Anfang und mit der Definition ω 1 := γ B1 ergibt sich: 1 1 H (t) = − ω0 Z − ω1 X cos(ωt) − Y sin(ωt) . 2 2 Der erste Summand steht für die Auswirkungen des statischen Magnetfeldes, der zweite für die des zeitabhängigen Magnetfeldes. Da der Hamiltonoperator nun unangenehmerweise von der Zeit t abhängt, kann die Schrödingergleichung nicht mehr auf dieselbe, einfache Weise wie oben für den statischen Fall gelöst werden. Ein einfacher Trick hilft aber hier weiter: Bezogen auf die Blochdarstellung führen wir eine Transformation des Zustandsvektors in ein neues Koordinatensystem durch, das sich mit der Frequenz ω mit dem Uhrzeigersinn um die z-Achse dreht ( rotating frame of reference“” Darstellung). In diesen modifizierten Koordinaten wird gerade der zeitabhängige Teil des Hamiltonoperators wegfallen. 138 Sei R(t) := Uz (−ωt) = ei(ωt/2)Z . Wir ersetzen nun den Zustandsvektor |ψ(t)i des Systems e durch den Vektor im rotierenden Koordinatensystem |ψ(t)i, der definiert ist durch e(t)i := R † (t)|ψ(t)i = e−i(ωt/2)Z |ψ(t)i, |ψ d. h. e(t)i = ei(ωt/2)Z |ψ e(t)i. |ψ(t)i = R(t)|ψ Für |ψ(t)i gilt die Schrödingergleichung d |ψ(t)i = −i H (t)|ψ(t)i. dt Wir können die linke Seite durch Anwenden der Produktregel für die Ableitung und durch Ausnutzen der Definition von R(t) wie folgt expandieren: 1 d d d e(t)i = i ωZ R(t)|ψ e(t)i + R(t) |ψ e(t)i. R(t)|ψ |ψ(t)i = dt dt 2 dt Einsetzen dieses Ergebnisses in die Schrödingergleichung für |ψ(t)i liefert: d 1 e(t)i + R(t) |ψ(t)i e e(t)i ⇔ i ωZ R(t)|ψ = −i H (t)R(t)|ψ 2 dt d 1 e(t)i = − i ωZ R(t)|ψ e(t)i − i H (t)R(t)|ψ e(t)i ⇔ R(t) |ψ dt 2 d 1 † † e e |ψ(t)i = −i ω R (t)Z R(t) + R (t)H (t)R(t) |ψ(t)i. dt 2 {z } | e =: H Dies ist die Schrödingergleichung in rotierenden Koordinaten, mit dem neuen Hamiltonoperator e = 1 ω R † (t)Z R(t) + R † (t)H (t)R(t) H 2 1 1 1 † † = ω R (t)Z R(t) + R (t) − ω0 Z − ω1 (X cos(ωt) − Y sin(ωt)) R(t) 2 2 2 Diesen Furcht erregenden Ausdruck können wir nun durch Einsetzen der Definition von R(t) stark vereinfachen. Es ist R(t) = Uz (−ωt) und Z = i · Uz (π ). Damit folgt R † (t)Z R(t) = Z und 0 1 0 eiωt = X cos(ωt) − Y sin(ωt). R(t)X R (t) = Uz (−ωt) U (ωt) = 1 0 z e−iωt 0 † e die Form Also hat H e = − 1 (ω0 − ω)Z − 1 ω1 X. H 2 2 139 Wir haben damit unser Ziel erreicht, durch die Koordinatentransformation die zeitabhängigen e(t)i im Terme zu beseitigen. Damit können wir sofort den zeitabhängigen Zustandsvektor | ψ rotierenden Koordinatensystem angeben, der sich als Lösung der Schrödingergleichung mit Hae e ergibt. Es ist |ψ(t)i e miltonoperator H = eit H |ψ(0)i, also: e(t)i = e i (ω0 − ω)/2 Z + (ω1 /2)X t |ψ e(0)i. |ψ Das Verhalten dieser Lösung ist mit unserem Wissen über Drehungen auf der Blochsphäre nun leicht zu verstehen: 1. Fall, |ω0 − ω| groß: In diesem Fall dominiert der erste Term im Exponenten der Exponene tialfunktion oben das Verhalten von |ψ(t)i, und wir haben e(t)i ≈ ei((ω0 − ω)/2)t Z |ψ(0)i e e |ψ = Uz (−(ω0 − ω)t)|ψ(0)i. Der Zustandsvektor dreht sich also wie im statischen Fall ohne Magnetfeld BE 1 um die z-Achse auf der Blochsphäre, allerdings mit einer anderen Frequenz. 2. Fall, ω0 ≈ ω: Wir sagen, dass in diesem Fall Resonanz vorliegt, und ω0 wird als Resonanzfrequenz bezeichnet. Der erste Term im Exponenten der Exponentialfunktion fällt hier weg, d. h. e e e(0)i. |ψ(t)i ≈ ei(ω1 /2)t X |ψ(0)i = Ux (−ω1 t)|ψ Die Zeitentwicklung bewirkt also in der Blochdarstellung eine Drehung des Zustandsvektors um die x-Achse im Uhrzeigersinn. Der Drehwinkel ist ω1 t = γ B1 t, wobei wir die Stärke B1 des Magnetfeldes in der RF-Spule und die Zeitdauer t, für die wir das Feld einschalten, wählen können. Die Bezeichnung RF-Puls für eine Anwendung des BE1 -Magnetfeldes auf die hier beschriebene Weise ergibt sich aus der Tatsache, dass bei den typischerweise vorkommenden Konstanten die Frequenzen im MHz-Bereich und die Zeiten t im ms-Bereich liegen. Wir betrachten als Beispiel für die Manipulation des Spins mit dem BE1 -Magnetfeld den so genannten π/2-Puls, der sowohl für den Einsatz von NMR im Bereich der Spektroskopie, als auch für Quantenrechner sehr wichtig ist. Dabei wählen wir ω1 t ≈ π/2, d. h. wir realisieren (gemäß der obigen Erkenntnisse) eine Drehung bez. der x-Achse um den Winkel π/2 im Uhrzeigersinn. z z y Ux (−π/2) x y x Abbildung 6.11: π/2-Puls auf der Blochsphäre in rotierenden Koordinaten. 140 Da wir Drehungen um die z-Achse umsonst“ bekommen, indem wir einfach hinreichend lange ” bei ausgeschalteter RF-Spule warten, können wir nun die Operationen U x (θ ) und Uz (θ ) für beliebige Winkel θ anwenden. In Kapitel 3 haben wir gezeigt, dass man beliebige Ein-QubitOperationen aus U y - und Uz -Operationen zusammensetzen kann. Eine analoge Aussage gilt für Ux anstatt U y . Also können wir mit den hier vorgestellten Operationen bereits beliebige Ein-Qubit-Operationen auf dem NMR-Quantenrechner realisieren. 5 b) Realisierung von unitären Operationen: Mehrere Qubits Wir betrachten hier nur den Fall von zwei Qubits. Für eine einfache Realisierung benutzt man die Kernspin-Observablen von zwei Atomen verschiedener Sorten im untersuchten Molekül, z. B. die des Wasserstoff- und Kohlenstoff-Atoms im Chloroform-Molekül (siehe Punkt 2 oben), die unterschiedliche Resonanzfrequenzen ω0(1) , ω0(2) besitzen. Im Beispiel des Chloroforms hat man ω0(1) ≈ 500 MHz und ω0(2) ≈ 125 MHz für das Wasserstoff- bzw. das KohlenstoffAtom (C13 ) bei einem äußeren Magnetfeld mit B0 = 11,7 Tesla. Der Hamiltonoperator für das statische Feld setzt sich aus den Operatoren für die einzelnen Atome zusammen: 1 (1) 1 (2) H = − ω0 Z 1 − ω0 Z 2 , 2 2 mit Z 1 := Z ⊗ I, Z 2 := I ⊗ Z . Der zugehörige unitäre Zeitentwicklungsoperator e −it H operiert hier auf dem Zustandsraum 4 . Wie für das einzelne Atom im letzten Abschnitt beschrieben, können wir Drehungen der SpinDarstellungen für die beiden Atome auf der Blochsphäre um die x-Achse realisieren, indem (1) (2) wir die RF-Spule mit geeigneten Radiofrequenz-Pulsen der Frequenzen ω 0 bzw. ω0 beschicken. Die Zustände der beiden Atome lassen sich aufgrund der unterschiedlichen Frequenzen unabhängig voneinander manipulieren. Bei geeigneten Molekülen lassen sich sogar verschiedene Atome der gleichen Sorte adressieren, wobei man ausnutzt, dass durch die Umgebung dieser Atome im Molekül die Resonanzfrequenzen unterschiedlich sind. Allerdings sind in diesem Fall weitere Tricks erforderlich, weil die Unterschiede in den Resonanzfrequenz typischerweise sehr klein sind. Zusätzlich benötigen wir Interaktionen zwischen den Zuständen verschiedener Atome. Zum Glück finden diese auf natürliche Weise bereits statt durch die chemischen Eigenschaften der betrachteten Moleküle. Eng benachbarte Atome tauschen Elektronen miteinander aus, wodurch auch Kernspins indirekt miteinander wechselwirken. Diese Wechselwirkung, die man J-Coupling nennt, wird durch folgenden zusätzlichen Summanden im Hamiltonoperator beschrieben: J H1,2 = J · Z 1 · Z 2, wobei J eine physikalische Konstante ist, die von den chemischen Eigenschaften des Moleküls abhängt. Die zugehörige Transformation des Zustandsvektors ist |ψ(t)i = e−i J t Z 1 Z 2 |ψ(0)i 141 Um den J-Coupling-Effekt auszunutzen, müssen wir einfach nur hinreichend lange warten, bis durch die Zeitentwicklung eine entsprechende Drehung der Spins eingetreten ist. Es ist klar, dass dieser Effekt unerwünscht sein kann, und man benötigt neue Ideen, um nicht benötigte Zustandsveränderungen durch J-Coupling wieder rückgängig zu machen (die entsprechende Technik heißt Refocussing). Wie man sich nun durch Nachrechnen überzeugen kann, gilt eiπ/4 · ei(π/4)Z 1 Z 2 · e−i(π/4)Z 1 · e−i(π/4)Z 2 1 0 = 0 0 0 1 0 0 0 0 0 0 = CSIGN. 1 0 0 −1 Da wir die einzelnen Exponentialfunktionen auf der linken Seite entweder durch Operationen auf den Einzelatomen oder durch J-Coupling erhalten, haben wir damit also einen gesteuerten Phasenbaustein per NMR realisiert. (Der Phasenvorfaktor e iπ/4 braucht natürlich nicht realisiert zu werden.) Wir wissen bereits aus Abschnitt 6.1, wie wir daraus mit Hilfe von Ein-QubitOperationen einen CNOT-Baustein konstruieren können. Insgesamt haben wir wieder alle Operationen unseres universellen Bausteinsatzes aus Kapitel 3 realisiert. 4) Messungen Mit der heutigen Technik ist unter den Bedingungen, die in einem NMR-Gerät herrschen, eine Messung der Spin-Observablen eines einzelnen Atoms nicht möglich. Die sehr schwachen Magnetfelder, die die Kernspins der vielen einzelnen Atomkerne einer Sorte in der NMR-Probe erzeugen, addieren sich aber zu einem Gesamtmagnetfeld, das unter geeigneten Bedingungen mit der RF-Spule im NMR-Gerät aufgefangen werden kann. Wir betrachten zunächst wieder die Spin-Observable S z eines einzelnen Atomkerns mit Basiszuständen |+i und |−i. Das Verhalten dieser Zustände im statischen Magnetfeld haben wir bereits untersucht. Wir nehmen vereinfachend an, dass einer der beiden Basiszustände vorliegt und wir nur feststellen müssen, welcher von beiden. Auch hier ist die Situation wieder einfacher zu behandeln, wenn wir uns vorstellen, dass wir zwei RF-Spulen, jeweils in x- und in y-Richtung, angebracht haben. Falls der Zustandsvektor in der Blochdarstellung in der x-y-Ebene rotiert, gilt dies auch für das vom Atomkern erzeugte Magnetfeld, so dass in den RF-Spulen eine Wechselspannung induziert wird, die wir messen können (vgl. Bild 6.9). Bei Vorliegen der Zustände |+i und |−i mit Blochdarstellung in z-Richtung bzw. (−z)-Richtung (vgl. Bild 6.10) wird keine Spannung induziert. Daher kippen wir zur Messung zunächst mit einem π/2-Puls den Darstellungsvektor in die x-yEbene. Formal bewirkt der π/2-Puls eine Anwendung der Transformation U x (−π/2). Für die Zustände |+i und |−i erhalten wir neue Zustände, die durch Einheitsvektoren in y-Richtung bzw. (−y)-Richtung dargestellt werden (vgl. Abbildungen 6.11 und 6.12). 142 y y Ux (−π/2) x x z z Abbildung 6.12: Anwendung eines π/2-Pulses auf |−i in rotierenden Koordinaten. Auf diese Zustände wirkt außerdem die übliche Zeitentwicklung im statischen Magnetfeld, die eine Drehung bezüglich der z-Achse im Uhrzeigersinn mit der Frequenz ω 0 bewirkt. Die Zustände, die wir aus |+i und |−i durch den π/2-Puls gewonnen haben, werden auf der Blochsphäre damit durch in der x-y-Ebene mit derselben Frequenz im Uhrzeigersinn rotierende Vektoren dargestellt, die aber um den Winkel π phasenverschoben sind. Durch Ablesen der in den RF-Spulen induzierten Spannungen können wir diese Phasenverschiebung bestimmen und damit herausfinden, ob ursprünglich |+i oder |−i vorgelegen haben. Mathematisch werden die Spannungen in den beiden Spulen für einen allgemeinen Zustand ρ durch folgende Formeln beschrieben: Vx (t) = V0 · tr(ρ X ) bzw. Vy (t) = V0 · tr(ρY ), wobei V0 eine hier nicht weiter wichtige physikalische Konstante ist. Seien |ai := Uz (−ω0 t)Ux (−π/2)|+i und |bi := Uz (−ω0 t)Ux (−π/2)|−i die Zustände, die wir nach Anwendung des π/2-Pulses aus den Basiszuständen |+i und |−i bekommen. Dann ergibt sich für die in den Spulen gemessene Spannung für die beiden Zustände: Vx (t) = V0 · tr(|aiha|X ) = V0 sin(ω0 t), Vy (t) = V0 · tr(|aiha|Y ) = V0 cos(ω0 t); bzw. Vy (t) = V0 · tr(|bihb|X ) = −V0 sin(ω0 t), Vy (t) = V0 · tr(|bihb|Y ) = −V0 cos(ω0 t). Damit können offensichtlich anhand der Messergebnisse die Zustände |+i und |−i unterschieden werden. Wir rechnen nur das erste Ergebnis oben nach, der Rest geht analog. Wir haben wie bei der Herleitung des Hamiltonoperators bei eingeschaltetem RF-Feld in rotierenden Koordinaten Uz (ω0 t) X Uz (−ω0 t) = X cos(ω0 t) + Y sin(ω0 t). √ √ Es ist Ux (−π/2)|+i = |y+i = (1/ 2)·[1, i ]> und Ux (−π/2)|−i = |y−i = (1/ 2)·[1, −i ]>. Dies sind die zur Observablen S y gehörenden ON-Basisvektoren, die auf der Blochsphäre durch Einheitsvektoren in y-Richtung bzw. (−y)-Richtung dargestellt werden. Es folgt tr(|aiha|X ) = ha|X |ai = hy+|Uz (ω0 t) X Uz (−ω0 t)|y+i = hy+|X |y+i cos(ω0 t) + h+y|Y |+yi sin(ω0 t) = sin(ω0 t). 143 Wenn wir uns die Formeln für die Messwerte Vx und Vy oben genauer ansehen, stellen wir fest, dass diese die Erwartungswerte der Observablen S x bzw. S y liefern, skaliert mit demselben, √ √ > irrelevanten Faktor V0 . Es sind |x+i = (1/ 2) · [1, 1] und |x−i = (1/ 2) · [1, −1]> die zur Observablen Sx gehörende ON-Basisvektoren. Sei ρ ein beliebiger, allgemeiner Zustand. Dann ergibt sich als Erwartungswert von S x mit Hilfe von Postulat 1 in Kapitel 2: E ρ (Sx ) = (−1/2) · Prρ {Sx = −1/2} + (1/2) · Prρ {Sx = +1/2} = (−1/2) · tr ρ|x−ihx−| + (1/2) · tr ρ|x+ihx+| = tr ρ (−1/2) −11 −11 + (1/2) 11 11 = tr(ρ X ). Mit einer analogen Rechnung erhalten wir E ρ (S y ) = tr(ρY ). Messungen funktionieren hier also anders, als wir das üblicherweise in unserem theoretischen Modell annehmen: anstelle einer Zufallsvariable mit einer durch den Zustand bestimmten Wahrscheinlichkeitsverteilung erhalten wir nur den Erwartungswert dieser Zufallsvariablen. Für einige Quantenalgorithmen kann das Probleme verursachen, wie wir später noch diskutieren werden. Wenn wir nun die gesamte Probe betrachten, haben wir eine große Anzahl von Atomkernen derselben Sorte, die alle auf die hier vorgestellte Weise gleichzeitig gemessen werden. Die in den RF-Spulen induzierte Spannung ergibt sich als Summe über die von den Magnetfeldern all dieser Atomkerne induzierten Einzelspannungen. Da fast alle Atomkerne bezüglich des Spins denselben Zustand annehmen, verstärken sich die einzelnen, sehr schwachen Spannungen zu einem brauchbaren Signal. Das Signal ist eine zeitabhängige, periodische Funktion (siehe oben). Um das Ergebnis einfacher interpretieren zu können, wird es anschließend mit einem klassischen Rechner Fourier-transformiert. Es sei noch angemerkt, dass üblicherweise NMR-Geräte über mehrere RF-Spulen verfügen, mit denen die Spin-Zustände verschiedener Atomsorten in der Probe gleichzeitig manipuliert und gemessen werden können. 3) Präparieren eines Basiszustandes Bei NMR-Quantenrechnern hat die Probe Raumtemperatur, was zu einer starken thermischen Bewegung der Moleküle in der Lösung führt. Damit nehmen auch die einzelnen Atome bezüglich ihres Kernspins einen gemischten Zustand an. Dieser beschreibt beinahe eine Gleichverteilung über die Zustände |+i und |−i, allerdings hat der Zustand |+i eine geringfügig höhere Wahrscheinlichkeit (siehe unsere früheren Bemerkungen zur Interpretation als EnergieBasiszustand). Mathematisch wird der erhaltene Zustand für ein einzelnes Atom ohne RF-Feld durch eine 2 × 2-Dichtematrix 1/2 + ε 0 ρ therm = 0 1/2 − ε beschrieben, wobei ε > 0 ist. Die erste Spalte gehört zum Basiszustand |+i niedriger Energie, die zweite zum Zustand |−i hoher Energie. Der Wert ε hängt von der Temperatur und den verwendeten Atomen ab und liegt bei Raumtemperatur typischerweise in der Größenordnung von 10−6 . Mit Hilfe eines NMR-Gerätes ist man erstaunlicherweise in der Lage, diesen winzigen 144 Unterschied von ρ therm zu einem völlig zufälligen Gemisch (Dichtematrix 1/2 · I ) festzustellen. Der obige Zustand ρ therm heißt thermischer Gleichgewichtszustand. Bei NMR-Quantenrechnern ist es im Gegensatz zu anderen Quantenrechnern nicht möglich, reine Zustände zu präparieren, mit denen wir bisher fast ausschließlich gearbeitet haben. Abhilfe schafft hier ein Trick: Durch geschicktes Verrechnen“ von gemischten Zuständen aus ” verschiedenen Versuchen kann man reine Zustände auf mathematische Weise erhalten. Diese Zustände werden als pseudoreine Zustände bezeichnet, da sie nicht wirklich physikalisch realisiert werden können. Wir illustrieren die Verwendung von pseudoreinen Zuständen im Fall eines NMR-Experimentes, in dem zwei Qubits durch zwei verschiedene Atomsorten realisiert werden (wie z. B. beim Chloroform oben). Die Basiszustände bezeichnen wir mit |++i, |+−i, |−+i, |−−i. Der Zustand zu Beginn des Experimentes sei ein thermischer Gleichgewichtszustand, der durch die Dichtematrix a b , ρ1 = c d beschrieben sei, wobei nicht vorhandene Einträge 0 seien und a + b + c + d = 1 gelte. Durch Anwenden von geeigneten Permutationen auf ρ1 , die wir durch unitäre Operationen physikalisch realisieren können, erhalten wir daraus auch die Zustände a a c d und ρ3 = . ρ2 = d b b c Addieren aller drei Zustände liefert: ρ = ρ1 + ρ2 + ρ3 = 3a b+c+d = 3a b+c+d b+c+d 0 1 + (1 − a) 1 1 0 0 0 = (4a − 1)|++ih++| + (1 − a)I. 1 Beim thermischen Gleichgewichtszustand haben wir a = 1/4 + ε für ein ε > 0, so dass 4a − 1 = 4ε > 0 gilt. 145 Wenn wir nun eine beliebige unitäre Operation U auf ρ anwenden, die unser eigentliches Experiment (z. B. Anwendung eines Quantenalgorithmus) beschreibt, erhalten wir als transformierten Zustand ρ 0 = UρU † = (4a − 1)U |++ih++|U † + (1 − a)I. Bei Messungen werden nun nur die Erwartungswerte der Spin-Observablen ermittelt (siehe Abschnitt über Messungen). Damit fällt der letzte Term mit der Einheitsmatrix in der obigen Formel weg (um das explizit auszurechnen, setze ρ in die Formeln für Vx und Vy oben ein). Praktisch sieht das so aus, dass wir drei unabhängige Versuche durchführen müssen, bei denen wir die Startzustände ρ1 , ρ2 und ρ3 präparieren. Anschließend werden dann die Ergebnisse der drei Versuche verrechnet. Diese Vorgehensweise hat den Namen temporal labeling“. Es gibt ” auch noch andere Techniken zur Herstellung von pseudoreinen Zuständen, bei denen nur ein einziges Experiment, aber zusätzliche Hilfsqubits benötigt werden. 6) Bewertung NMR-Quantenrechner haben den Vorteil langer Dekohärenzzeiten, die daher rühren, dass der Kernspin relativ unempfindlich gegenüber Störungen von außen ist. Wir können also eine große Anzahl von unitären Operationen realisieren, bevor der Zustand zerfällt. Weiterhin ist es praktisch, dass bereits existierende NMR-Geräte und Proben bei Raumtemperatur verwendet werden können. Bei anderen experimentellen Quantenrechnern (z. B. Ionenfallen) stellt die erforderliche Kühlung des untersuchten Systems auf Temperaturen nahe dem absoluten Nullpunkt ein ernstes Problem dar, das hier komplett entfällt. Ein Nachteil beim NMR-Quantenrechner ist, dass Messungen nicht so funktionieren, wie wir es in unserem theoretischen Modell angenommen haben. Messungen liefern nur Erwartungswerte der gemessenen Observablen. Dies ist problematisch bei Quantenalgorithmen, deren Ergebniszustand kein Basiszustand, sondern eine echte Superposition von Basiszuständen ist, aus der eigentlich dann durch die Messung ein zufälliger Wert generiert werden sollte. So etwas haben wir z. B. bei der Ordnungsbestimmung benutzt. Wir erinnern uns, dass die Phasenbestimmung einen Zustand r −1 1X ρS = |ψs ihψs | r s=0 im Steuerregister geliefert hat, wobei |ψs i eine auf t Stellen gerundete Version von s/r dargestellt hat und r die Ordnung war. Eine Messung des Steuerregisters mit diesem Zustand hat uns zufällig einen gerundeten Wert von s/r mit s ∈ {0, . . . , r − 1} geliefert, der klassisch weiterverarbeitet wurde. Beim NMR-Quantenrechner erhalten wir hier nur den Mittelwert der s/r , was nutzlos ist. Die einzige bisher bekannte Lösungsmöglichkeit für dieses Problem besteht darin, auch die anschließende Nachbehandlung durch die Kettenbruchzerlegung, die wir bisher klassisch durchgeführt haben, auf dem Quantenrechner durchzuführen. 146 Ein weiteres (schwerwiegenderes) Problem bei NMR-Quantenrechnern ist, dass heutzutage die Skalierbarkeit des Ansatzes zumindest fragwürdig ist, obwohl bereits erfolgreich bis zu sieben Qubits manipuliert werden können und damit der NMR-Quantenrechner der mit Abstand am erfolgreichsten untersuchte experimentelle Ansatz für die Realisierung von Quantenrechnern ist. Der Realisierung von vielen Qubits steht zunächst im Wege, dass die in den RF-Spulen empfangene Signalstärke exponentiell in der Anzahl Bits abfällt. Außerdem werden die Struktur der benötigten Moleküle und die chemischen Interaktionen zwischen den einzelnen Atomen bei großen Anzahlen von Qubits zunehmend unbeherrschbar. Beispiel-Experiment: Faktorisierung der Zahl 15 Die Ausführung von Shors Algorithmus auf einem Quantenrechner für die kleinste nichttriviale Eingabe, nämlich die Zahl N = 15, erschien noch bis vor Kurzem mit den vorhandenen Mitteln technisch zu schwierig zu sein. Im Jahr 2001 ist es dann gelungen, diese Aufgabe auf einem NMR-Quantenrechner mit sieben Qubits tatsächlich zu lösen (Experimental realization of Shor’s quantum factoring algorithm using nuclear magnetic resonance, Vandersypen u. a., Nature 2001). Als Abschluss dieses Kapitels und auch der Vorlesung sehen wir uns dieses bahnbrechende Experiment an. Wir erinnern uns zunächst an Shors Algorithmus aus Kapitel 4. Dieser besteht aus klassischer Vor- und Nachbearbeitung und der Bestimmung der Ordnung in ∗N für ein zufälliges x ∈ ∗N auf dem Quantenrechner. Die Ordnungsbestimmung ist eine Anwendung des Algorithmus für die Phasenbestimmung auf den Operator U mit U |ki|yi = |ki|(x k y) mod N i. wobei der erste bzw. zweite Teil des Zustandes zum Steuerregister mit t Bits bzw. zum Zielregister mit L = dlog N e = 4 Bits gehören. Gemäß unserer allgemeinen Fehlerabschätzung in Kapitel 4 müssten wir t = 2L = 8 Bits für das Steuerregister wählen, aber wir können natürlich für spezielle Eingaben eventuell Qubits sparen. Das wollen wir hier für die Eingabe 15 auch tun. Wir berechnen dazu das Ergebnis der Ordnungsbestimmung vorab von Hand und verwenden dieses zur Optimierung der Registerlänge. Natürlich müssen wir für einen zukünftigen, praktisch einsetzbaren Quantenschaltkreis auf so eine Optimierung verzichten. Es ist ∗15 = {2, 4, 7, 8, 11, 13, 14}. Diese Zahlen können also als zufällige Eingaben für die Ordnungsbestimmung auftreten. Wir haben x ∈ {2, 7, 8, 13} ⇒ x ∈ {4, 11, 14} ⇒ ord15 (x) = 4, ord15 (x) = 2. und Wir sehen, dass für die Berechnung der Potenzen (x k ) mod 15 für Zahlen x aus der ersten Menge nur die untersten zwei Bits in der Binärdarstellung von k relevant sind und für Zahlen x aus der zweiten Menge sogar nur das unterste alleine. Es reichen also im Prinzip zwei Bits für das Steuerregister, wir wählen aber drei, um die Genauigkeit und Erfolgswahrscheinlichkeit zu erhöhen. Insgesamt (zusammen mit dem Zielregister) kommen wir damit auf sieben Qubits. 147 Der Quantenschaltkreis zur Phasenbestimmung berechnet die Transformation 3 3 2 −1 2 −1 1 X 1 X |ki|1i 7 → √ |ki|(x k ) mod 15i. |0i|1i 7 → √ 3 3 2 k=0 2 k=0 Anschließend wird die inverse Quanten-Fourier-Transformation auf das Steuerregister angewendet. Analog zu dem in Kapitel 4 ausführlich behandelten Beispiel (N = 21) erhalten wir für die hier im Folgenden betrachteten Werte x = 11 und x = 7 als Ergebniszustände für das Steuerregister: x = 11 : ρS = (1/2) |0ih0| + |4ih4| , x = 7: ρS = (1/4) |0ih0| + |2ih2| + |4ih4| + |6ih6| . Wie ist nun die Implementierung mit einem NMR-Quantenrechner durchgeführt worden? Dazu wurde ein speziell entworfenes Molekül eingesetzt (siehe Abbildung 6.13). Fünf Fluor-Atome und zwei Kohlenstoff-Atome (C13 -Isotope) in dem Molekül liefern die Spin-Observablen, die zur Realisierung der Qubits verwendet werden. In der Tabelle in der Abbildung sind die Abweichungen der Resonanzfrequenzen der einzelnen Atome von den Referenzwerten von ≈ 470 MHz und ≈ 125 MHz für Fluor bzw. Kohlenstoff (C13 ) angegeben (in Hz). Wie man sieht, sind die Resonanzfrequenzen durch die jeweilige Umgebung der Atome unterscheidbar. j 1 2 3 4 5 6 7 1 ( j) 1ω0 /2π −22052,0 489,5 25088,3 4244,3 −4519,1 −4918,7 15186,6 2 F F 3 4 F C 13 C C 5 6 13 F C 7 Fe F C 5 H5 CO CO Abbildung 6.13: Molekül für 7-Qubit-NMR-Quantenrechner. Die Phasenbestimmung wurde mit Hilfe einer Folge von ca. 300 RF-Pulsen durchgeführt, die die unitären Operationen für die einzelnen Bausteine im Quantenschaltkreis realisiert haben. Dabei wurden Optimierungen im Quantenschaltkreis vorgenommen, um die Anzahl der RFPulse klein zu halten. Die Messung zum Schluss liefert, wie weiter oben besprochen, nicht einen durch den Zustand ρ S des Steuerregisters bestimmten, zufälligen Wert, wie es eigentlich im PhasenbestimmungsAlgorithmus vorgesehen ist. Stattdessen erhalten wir für jede der drei Spin-Observablen des Steuerregisters eine Überlagerung aus den möglichen Werten, die jeweils mit ihren Wahrscheinlichkeiten gewichtet sind. 148 Für x = 11 kommen im Zustand ρS die Zustände |0i = |000i und |4i = |100i jeweils mit Wahrscheinlichkeit 1/2 vor. Für die zu den untersten beiden Bits gehörenden Spin-Observablen erhalten wir jeweils 1/2, was das Ergebnis 0 kodiert. Für das oberste Bit erhalten eine Überlagerung der Werte 1/2 und −1/2 jeweils mit Wahrscheinlichkeit 1/2, was eine Überlagerung der Ergebniswerte 0 und 1 kodiert. In unserem idealisierten Modell ergibt sich als Erwartungswert hier 0, während in Wirklichkeit sich die Werte durch eine Frequenzverschiebung nicht aufheben, so dass wir die Überlagerung explizit an den Ergebnisplots ablesen können (siehe Abbildung 6.14, erste Reihe). Für x = 7 kommen in ρS die Zustände |0i = |000i, |2i = |010i, |4i = |100i, und |6i = |110i je mit Wahrscheinlichkeit 1/4 vor. Wir erhalten das Ergebnis 0 für das unterste Bit und jeweils eine Überlagerung aus 0 und 1 für die obersten beiden Bits (siehe Abbildung 6.14, zweite Reihe). k2 : k1 : k0 : x = 11: 0, 1 0 0, 1 0, 1 0 x = 7: Abbildung 6.14: Ergebnisplots (qualitativ). 149 0 150 Anhang A: Grundlagen aus der linearen Algebra – Teil I Komplexe Zahlen Komplexe Zahlen sind Paare von reellen Zahlen, die in der Form a + i b geschrieben werden, wobei a, b ∈ und i ein spezielles Symbol ist, die imaginäre Einheit. Man kann mit diesen Objekten wie mit gewöhnlichen reellen Zahlen rechnen, wenn man die Rechenvorschrift i 2 = −1 berücksichtigt. Die Menge der komplexen Zahlen wird mit bezeichnet. Komplexe Zahlen können durch Punkte im 2 dargestellt werden. Beispiel: 1−i (1 − i )2 1 − 2i + i 2 −2i = = = = −i . 2 1+i (1 + i )(1 − i ) 1−i 2 Für die folgenden Definitionen sei eine komplexe Zahl z = a + i b mit a, b ∈ gegeben. Wir nennen die Zahlen a und b Real- bzw. Imaginärteil von z und bezeichnen diese mit Re(z) bzw. Im(z). Die zu z konjugiert komplexe Zahl ist z ∗√:= a −√i b. Der Betrag von z ist eine reelle, nichtnegative Zahl, die definiert ist durch |z| := z ∗ z = a 2 + b2 . Fakten: Für z, z 1 , z 2 ∈ (i) gilt: (z 1 + z 1 )∗ = z 1∗ + z 2∗ , (z 1 · z 2 )∗ = z 1∗ · z 2∗ ; (ii) |z| ≥ 0 und |z| > 0, falls z 6 = 0; (iii) |z 1 + z 2 | ≤ |z 1 | + |z 2 |, |z 1 · z 2 | = |z 1 | · |z 2 |. Eine wichtige Funktion ist die komplexwertige Exponentialfunktion. Für beliebige ϕ ∈ diese definiert als eiϕ := exp(i ϕ) := cos(ϕ) + i sin(ϕ). Graphisch werden die Werte von eiϕ durch Punkte auf dem Einheitskreis im (siehe Abbildung unten). i sin cos sin ϕ ϕ cos ϕ 1 −π/2 −π π/2 −1 −i 151 ist dargestellt 1 eiϕ −1 2 π Jede komplexe Zahl z lässt sich mit Hilfe der Exponentialfunktion darstellen als z = r eiϕ wobei r = |z| und ϕ ∈ [0, 2π ) so gewählt ist, dass cos ϕ = Re(z/|z|) und sin ϕ = Im(z/|z|). Das Paar (r, ϕ) ∈ 2 heißt Polarkoordinatendarstellung von z. Einige wichtige Funktionswerte: ϕ 0 cos ϕ 1 π/6 √ 1 2 3 sin ϕ 0 1 2 π/4 π/3 π/2 √1 2 1 √ 2 1 2 0 Fakten: Für alle ϕ, ψ ∈ √ 1 2 3 1 gilt: (i) ei(ϕ+ψ) = eiϕ · eiψ ; ∗ 1 (ii) e−iϕ = eiϕ = iϕ . e Beispiele: √ • z = 2 + 2 3i in Polarkoordinaten: √ z 1 1√ |z| = 4 + 12 = 4, 3i = eiπ/3 , also: = + |z| 2 2 z = 4eiπ/3 . √ • z = 2 eiπ/4 als a + i b mit a, b ∈ darstellen: √ iπ/4 √ √ 1 1 2e = 1 + i. = 2 cos(π/4) + i sin(π/4) = 2 √ + i · √ 2 2 Übungsaufgaben: Aufgabe 1: Vereinfache folgende Ausdrücke zu einer Darstellung in der Form a + i b, a, b ∈ . 2 8 + 2i 1 2 a) (4 − 3i ) ; b) ; c) . 2 − 2i 1+i Aufgabe 2: Berechne die Beträge folgender komplexer Zahlen. √ a) 2 − 3i ; b) 4 + 5i ; c) (3 + 7i )2 . Aufgabe 3: Vereinfache folgende Ausdrücke wie bei Aufgabe 1. √ 1+i a) e−iπ/3 ; b) i; c) . 4 eiπ/4 Aufgabe 4: Stelle folgende komplexe Zahlen in Polarkoordinaten dar. √ 3 3 2 a) −i ; b) (2 + 2i ) ; c) + i. 2 2 152 Komplexe Vektorräume Wir betrachten im Folgenden endlich-dimensionale Vektorräume mit als Körper der Skalare. Die Elemente des n-dimensionalen komplexen Vektorraumes n sind die Vektoren v1 v2 v = .. mit v1 , . . . , vn ∈ . . vn Dieser Raum wird durch die Standardbasis 1 0 e1 = 0 , e 2 = .. . 0 0 1 0 , .. . 0 ..., 0 0 en = ... 0 1 aufgespannt, wobei diese Vektoren jeweils n Einträge haben sollen. Eine Abbildung L : m → n heißt linear, falls L(αv + βw) = α L(v) + β L(w) für alle α, β ∈ und v, w ∈ m . Wie üblich schreiben wir Lv statt L(v), wenn L linear ist. Eine solche lineare Abbildung können wir darstellen durch eine (komplexe) n × m-Matrix, in die wir für j = 1, . . . , m in der j -ten Spalte den Vektor Le j ∈ n eintragen. Genauer gesagt ist dies die Matrix von L bezüglich der Standardbasis im Definitions- und Bildraum. Adjungierte Matrix Sei A irgendeine komplexe Matrix. Dann erhalten wir die zu A adjungierte Matrix, indem wir jeden Eintrag durch seinen konjugiert komplexen Wert ersetzen und die Matrix transponieren. Diese Matrix wird mit A† bezeichnet. Beispiele: † 1 2 3 1 −i i i 3 4 = 2 3 1 − i , −i 1 + i 3i 3 4 −3i Fakten: Für alle komplexen Matrizen A gilt: (i) ( A† )† = A; (ii) ( A · B)† = B † A† . 153 † 1 i = [1, −i, 1 − i ] . 1+i Skalarprodukt und Norm Im Vektorraum n ist das (euklidische) Skalarprodukt für Vektoren v = [v1 , . . . , vn ]> ∈ w = [w1 , . . . , wn ]> ∈ n definiert durch (v, w) := v † w = n X n und v ∗j w j . j =1 Die (euklidische) Norm (oder Länge) eines Vektors v ist die reelle, nichtnegative Zahl √ p kvk := (v, v) = v † v. Wir nennen einen Vektor v Einheitsvektor, wenn kvk = 1. Für v ∈ v/kvk ein Einheitsvektor. n beliebig mit v 6 = 0 ist n orthogonal, wenn (v, w) = 0. Die Vektoren Wir nennen zwei Vektoren v, w ∈ n b1 , . . . , b n ∈ bilden eine orthonormale Basis (kurz ON-Basis) des n , falls alle Vektoren die Norm 1 haben und paarweise orthogonal sind. Formal ausgedrückt haben wir für 1 ≤ j, k ≤ n: ( 1, falls j = k; (b j , bk ) = 0, sonst. 154 Anhang B: Grundlagen aus der linearen Algebra – Teil II Wir ergänzen hier unsere Kenntnisse zum Thema lineare Algebra. Das Standardszenario sind endlich-dimensionale Vektorräume mit als Skalarenkörper. Diese können wir mit n für geeignetes n ∈ identifizieren. Wenn im Folgenden von Vektoren oder Matrizen die Rede ist, sind immer Vektoren oder Matrizen mit komplexen Einträgen gemeint. Lineare Operatoren Wir benutzen im Folgenden anstelle von lineare Abbildung“ den in der Physik gebräuchliche” ren Namen linearer Operator“. Wir erinnern an die Definition in Anhang A und die Tatsache, ” dass jeder lineare Operator m → n durch eine n × m-Matrix dargestellt wird. Die meisten der folgenden Aussagen und Definitionen gelten für lineare Operatoren und ihre Matrixdarstellungen gleichermaßen. Wir identifizieren gewöhnlich lineare Operatoren mit ihren Matrixdarstellungen. Skalarprodukt und Norm (Wiederholung und Ergänzung) Das euklidische Skalarprodukt im Fakten: Für alle u, v, w ∈ (i) n n hat die im Folgenden zusammengefassten Eigenschaften. und α, β ∈ gilt: Linearität im zweiten Argument: (u, αv + βw) = α(u, v) + β(u, w); (ii) (v, w)∗ = (w, v), damit insbesondere Antilinearität im ersten Argument: (αu + βv, w) = α ∗ (u, w) + β ∗ (v, w); (iii) (v, v) ≥ 0 und (v, v) = 0 ⇔ v = 0. Definition: Ein endlich-dimensionaler Vektorraum mit Skalarprodukt heißt Hilbertraum. Insbesondere ist n mit dem euklidischen Skalarprodukt ein Hilbertraum. Für beliebige, auch unendlich-dimensionale Vektorräume, wird in dieser Definition zusätzlich die Vollständigkeit des Raumes gefordert, d. h. die Konvergenz jeder Cauchy-Folge im Raum. Für endlich-dimensionale komplexe Vektorräume ist dies automatisch erfüllt. Für die (euklidische) Norm haben wir folgende Eigenschaften. 155 Fakten: Für alle v, w ∈ (i) n und α ∈ gilt: kvk ≥ 0 und kvk > 0, falls v 6 = 0; (ii) kαvk = |α| · kvk; (iii) kv + wk ≤ kvk + kwk (Dreiecksungleichung). Wir erinnern uns an die Definition von Orthogonalität und ON-Basen. Wir bemerken ohne Beweis (siehe z. B. Nielsen und Chuang), dass aus einer beliebigen Basis b 1 , . . . , bn ∈ n mit Hilfe des Gram-Schmidt-Orthonormalisierungsverfahrens effizient eine ON-Basis e b1 , . . . , e bn ∈ n konstruiert werden kann, wobei zusätzlich e b1 = b1 gilt. Dirac-Schreibweise Definition: (i) |vi bezeichnet einen Spaltenvektor aus n, genannt Ket. (ii) hv| := (|vi)† bezeichnet einen Zeilenvektor aus n, genannt Bra. (iii) hv | wi := hv| · |wi = (|vi, |wi) ist eine andere Schreibweise für das Skalarprodukt (BraKet → engl. bracket, spitze Klammern). Andere Interpretation des Bra-Vektors: hv| stellt eine Linearform |wi ∈ n ist hv| |wi = hv | wi ∈ . Anwendungen der Schreibweise: Sei |1i, . . . , |ni ON-Basis von v1 X n . v j | j i (schon bekannt). • |vi = .. = vn j =1 n n. → dar. Für beliebige Dann gilt: Dabei ist zu beachten, dass die Koordinaten v1 , . . . , vn natürlich von der gewählten ON-Basis abhängen. X X n n • h j | vi = h j | vk |ki = vk h j | ki = v j , daher gilt: k=1 |vi = n X j =1 k=1 h j | vi| j i . Wir verwenden ab jetzt die Dirac-Schreibweise wo möglich. 156 Äußeres Produkt Definition: Seien |ui ∈ |uihv| : n → m für |wi ∈ m n und |vi ∈ n durch beliebige Vektoren. Definiere die Abbildung |uihv| |wi := |uihv | wi = hv | wi · |ui. Diese Abbildung heißt das äußere Produkt von |ui und |vi. Wegen der Linearität des Skalarproduktes im zweiten Argument ist das äußere Produkt ein linearer Operator. Man beachte, dass |uihv| zunächst nur ein Symbol für den oben definierten linearen Operator ist. Wir fixieren nun eine ON-Basis |1i, . . . , |ni. Dann können wir uns diese Definition auch explizit in Koordinatenschreibweise bezüglich dieser Basis ansehen. Sei u1 v1 .. .. |ui = . , |vi = . , um vn u1 dann ist |uihv| = ... · v1∗ , . . . , vn∗ . um Wir erhalten folgende Anwendungen der Definition. Sei dazu wieder |1i, . . . , |ni eine beliebig gewählte ON-Basis. • Sei A = (a j,k )1≤ j ≤n, 1≤k≤n eine n × n-Matrix. Dann ist dies die Darstellungsmatrix des linearen Operators n X n X a j,k | j ihk|, j =1 k=1 wobei als Basis für Definitions- und Bildraum |1i, . . . , |ni gewählt wird. Falls |1i, . . . , |ni die Standardbasis ist, ist der obige Ausdruck nur eine alternative Schreibweise für die Matrix A. • Die Darstellungsmatrix des linearen Operators | j ihk| bezüglich der Basis |1i, . . . , |ni im Definitions- und Bildraum hat genau eine Eins an der Position ( j, k) und lauter Nullen sonst. Damit folgt: n X | j ih j | = I. j =1 Diese Gleichung wird Vollständigkeitsrelation der gegebenen ON-Basis genannt (eigentlich macht dieser Name nur im unendlich-dimensionalen Fall wirklich Sinn). Übungsaufgabe: Beweise die obigen Fakten ohne Verwendung der expliziten Koordinatenschreibweise direkt mit der Definition des äußeren Produktes. 157 Eigenwerte und Diagonalisierung Definition: Sei A eine n × n-Matrix oder ein linearer Operator Eigenwert von A, falls ein |vi ∈ n , |vi 6 = 0 existiert, so dass n → n. Dann heißt λ ∈ A|vi = λ|vi. Der Vektor |vi heißt Eigenvektor von A zum Eigenwert λ. Die Eigenwerte und Eigenvektoren kann man bestimmen, in dem man λ ∈ lineare Gleichungssystem ( A − λI )|vi = 0 findet, für die das vom Nullvektor verschiedene Lösungen |vi ∈ n hat. Dann ist λ Eigenwert und die vom Nullvektor verschiedenen Lösungen sind die zugehörigen Eigenvektoren. Um geeignete λ zu finden, reicht es aus, die so genannte charakteristische Gleichung det( A − λI ) = 0 zu lösen. Beispiel: Bestimme die Eigenwerte von X = 01 10 . Löse dazu die charakteristische Gleichung, −λ 1 = λ2 − 1. 0 = det(X − λI ) = 1 −λ Die Lösungen sind offenbar λ = 1 und λ = −1. Dies sind die (einzigen) Eigenwerte von X . Ein linearer Operator n → n mit Matrixdarstellung A bzw. eine n × n-Matrix A heißt diagonalisierbar, falls eine n × n-Matrix T existiert mit λ1 0 .. A = T DT −1 , wobei D = . . 0 λn Es ist leicht zu sehen, dass jede solche Darstellung folgende Eigenschaften hat: Die Werte λ1 , . . . , λn sind die Eigenwerte von A und die Matrix T ist eine Basistransformation von der Standardbasis in eine Basis von n aus lauter Eigenvektoren von A. Hinweis: Die Zahlen λ1 , . . . , λn müssen hier nicht verschieden sein. Ein Eigenwert wird entsprechend der Anzahl seines Vorkommens als Lösung des charakteristischen Polynoms aufgenommen. Für A wie oben nennen wir eine Basis von n aus lauter Eigenvektoren Eigenbasis von A. Ein linearer Operator (eine Matrix) ist offenbar genau dann diagonalisierbar, wenn er eine Eigenbasis hat. Beispiel: Stelle X als Diagonalmatrix dar, falls möglich. Wir bestimmen Eigenvektoren von X durch Raten“. Es gilt ” 1 0 1 1 1 X = · = 1· , 1 1 0 1 1 1 0 1 1 1 X = · = −1 · . −1 1 0 −1 −1 158 Also ist 1 1 1 1 , √ √ 1 −1 2 2 eine Basis aus Eigenvektoren von X , sogar eine ON-Basis. Die Hadamard-Transformation H ist die Basistransformation von der Standardbasis in diese Basis, und es gilt H −1 = H . Es ist 1 0 −1 H XH = HXH = = Z. 0 −1 Projektionen Sei V irgendein n-dimensionaler Hilbertraum (z. B. V = n ) und W ein Untervektorraum mit ON-Basis |1i, . . . , |ki. Seien die Vektoren |k + 1i, . . . , |ni so gewählt, dass |1i, . . . , |ni eine ON-Basis des gesamten Vektorraums ist. Der lineare Operator P : V → W , der definiert ist durch P := k X j =1 | j ih j | heißt Projektion auf W (in V ). Für j = 1, . . . , n gilt ( | j i, falls j ∈ {1, . . . , k}; P| j i = 0, sonst. Veranschaulichung für V = tor |vi ∈ 2 : 2, einen eindimensionalen Untervektorraum W und einen Vek- |vi . W P|vi Unitäre Operatoren Wir erinnern an die Definition der zu einer Matrix A adjungierten Matrix A † und die folgende, schon in Kapitel 1 verwendete Definition. Definition: Eine quadratische Matrix U heißt unitär, falls U † U = I . Ein linearer Operator U heißt unitär, falls er bezüglich einer ON-Basis durch eine unitäre Matrix dargestellt wird. 159 n Satz: Sei U eine n × n-Matrix oder ein unitärer Operator |vi, |wi ∈ n : (U |vi, U |wi) = (|vi, |wi). → n. Dann gilt für alle In Worte gefasst besagt diese Eigenschaft, dass unitäre Operatoren den Wert von Skalarprodukten und Normen unverändert lassen. Folgende weitere Eigenschaften von unitären Operatoren und Matrizen sind einfach zu zeigen (hier ohne Beweis): Satz: (i) Die Zeilen bzw. die Spalten einer unitären n × n-Matrix bilden eine ON-Basis des n. (ii) Unitäre Operatoren sind genau die Basistransformationen zwischen ON-Basen. (iii) Sei A eine unitäre n × n-Matrix. Dann existiert eine unitäre n × n-Matrix U und ϕ1 , . . . , ϕn ∈ (nicht notwendig verschieden), so dass eiϕ1 0 .. A = U DU † , D = . . iϕ n 0 e Wir nennen allgemein eine Matrix A mit einer Darstellung wie in (iii) bzw. einen linearen Operator mit einer solchen Matrixdarstellung unitär diagonalisierbar. Insbesondere ist A diagonalisierbar im weiter oben definierten Sinn. Funktionen von linearen Operatoren und Matrizen Definition:PSei A eine n × n-Matrix oder ein Operator n → n und sei A diagonalisierbar, d. h. A = nj =1 a j |a j iha j | für Werte a1 , . . . , an ∈ und eine geeignete Basis |a1 i, . . . , |an i von n . Sei f : → eine beliebige Funktion. Definiere f ( A) := Beispiel: Z = 1 0 0 −1 n X j =1 f (a j )|a j iha j |. hat folgende Eigenwerte und Eigenvektoren: 1 λ1 = 1, |1i := , 0 0 λ2 = −1, |−1i := . 1 Also gilt für beliebiges θ ∈ : e −i(θ/2)Z −iθ/2 iθ/2 = e |1ih1| + e |−1ih−1| = e −iθ/2 e 0 = = Uz (θ ). 0 eiθ/2 160 −iθ/2 1 0 0 0 iθ/2 · +e · 0 0 0 1 Bemerkung: Für Matrizen bzw. Operatoren A, B gilt im Allgemeinen e A+B 6 = e A · e B , d. h. die üblichen Potenzrechenregeln gelten hier nicht! Spur eines linearen Operators oder einer Matrix Definition: Sei A = (a j,k )1≤ j,k≤n eine n × n-Matrix. Definiere tr( A) := n X j =1 a j, j ∈ , genannt die Spur von A (engl. trace). Die Spur hat folgende wichtige Eigenschaften (Nachrechnen, wo erforderlich, zur Übung). Fakten: (i) Linearität: tr(α A + β B) = α tr( A) + β tr(B). (ii) Zyklizität: Für A, B passender Dimension gilt tr( A B) = tr(B A). (Daraus folgt z. B. auch tr( A BC) = tr(C A B) = tr(BC A).) (iii) Für U unitär ist tr(UAU † ) = tr( A). (Folgt aus (ii). In Worten ausgedrückt bedeutet diese Eigenschaft: Die Spur ist invariant unter unitären Basistransformationen oder ON-Basiswechseln.) (iv) Sei |1i, . . . , |ni eine beliebige ON-Basis und A eine n × n-Matrix oder ein linearer Operator n → n . Dann ist n X tr( A) = hi | A|i i. i=1 (Dies folgt aus der Definition und (iii).) Die Spur von linearen Operatoren ist über deren Matrixdarstellung bezüglich irgendeiner ONBasis definiert gemäß der obigen Formel in (iv). Da der Wert der Spur einer Matrix nicht von der Wahl der ON-Basis abhängt (gemäß (iii)), ist diese Definition in Ordnung. Wir erwähnen eine wichtige Anwendung der Definition. Sei |ψi irgendein Vektor und A eine Matrix passender Dimension oder ein linearer Operator. Dann ist tr A|ψihψ| = tr hψ| A|ψi = hψ| A|ψi. Tensorprodukte Wir erinnern an die Definition des Tensorproduktes für Matrizen und Vektoren. Tensorprodukte von linearen Operatoren sind wieder über die Matrixdarstellungen definiert. Wir fassen hier folgende Eigenschaften zusammen (Nachrechnen wieder zur Übung). 161 (i) Linearität in beiden Argumenten. (α A + β B) ⊗ C = α( A ⊗ C) + β(B ⊗ C), A ⊗ (α B + βC) = α( A ⊗ B) + β( A ⊗ C). (ii) Sei A, B, C, D Matrizen, wobei A, C bzw. B, D von passender Dimension für die Matrixmultiplikation seien. Dann gilt: ( A ⊗ B) · (C ⊗ D) = AC ⊗ B D. Spezialfall: |ai ⊗ |bi · hc| ⊗ hd| = |aihc| ⊗ |bihd|. (iii) ( A ⊗ B)† = A† ⊗ B † . (iv) Seien die Matrizen A und B beide unitär. Dann ist auch A ⊗ B unitär. Wir erinnern außerdem an folgende Abkürzungen: • |vi|wi = |vi ⊗ |wi; • |vi⊗n = |vi ⊗ · · · ⊗ |vi. | {z } n-mal Definition: Seien V und W endlich-dimensionale -Vektorräume. Definiere V ⊗ W als den von allen |vi ⊗ |wi mit |vi ∈ V und |wi ∈ W aufgespannten Vektorraum. Dieser Vektorraum, bezeichnet mit V ⊗ W , heißt das Tensorprodukt von V und W . Bemerkungen: • Für V = m und W = n ist V ⊗ W = mn . • Seien |a1 i, . . . , |am i und |b1 i, . . . , |bn i ON-Basen von V bzw. W . Dann bilden |a j i ⊗ |bk i mit 1 ≤ j ≤ m und 1 ≤ k ≤ n eine ON-Basis von V ⊗ W . • V ⊗ W ist ein Hilbertraum bezüglich des euklidischen Skalarproduktes. • Für unendlich-dimensionale Vektorräume werden Tensorprodukte auf andere Weise definiert (hier unwichtig). 162 Anhang C: Einige weitere Details zu Kapitel 2 Eindeutigkeit des Zustandsvektors für reine Zustände Wir beweisen hier folgende Aussage: Sei ρ ein reiner Zustand über H = n . Dann gibt es einen bis auf Phasenvorfaktoren eindeutig bestimmten Einheitsvektor |ψi ∈ H mit ρ = |ψihψ|. Aus der Definition von reinen Zuständen folgt unmittelbar die Existenz eines geeigneten Vektors. Zu zeigen ist also nur noch die Eindeutigkeit. Wir wählen eine ON-Basis |b1 i, . . . , |bn i des n , bei der |b1 i = |ψi ist (so eine Basis kann man mit Hilfe des Gram-Schmidt-Verfahrens bestimmen). Dann gilt ρ = n X j =1 λ j |b j ihb j | mit λ1 = 1 und λ2 = · · · = λn = 0. Die λ j sind gemäß Anhang B die Eigenwerte von ρ und |b1 i = |ψi ist ein Eigenvektor zum Eigenwert 1. Wir beobachten auch, dass jeder andere Vektor |ψ 0 i mit ρ = |ψ 0 ihψ 0 | ein Eigenvektor zum Eigenwert 1 mit Norm 1 sein muss. Die Menge der Eigenvektoren von ρ zum Eigenwert 1 ist ein Untervektorraum des n (das folgt aus der Definition von Eigenvektoren als Lösungen eines linearen Gleichungssystems). Wie man sofort an der obigen Darstellung abliest, ist die Dimension dieses Raumes 1. Also ist jeder Eigenvektor zum Eigenwert 1 mit Norm 1 in der Form e iα · |ψi mit α ∈ darstellbar. Daraus folgt die Behauptung. Motivation der partiellen Spur Wir betrachten ein System mit Zustandsraum H = H A ⊗ H B und Teilsystemen A und B mit Zustandsräumen H A bzw. H B . Wir nehmen an, dass wir in System A und B beliebige Observablen R bzw. S mit m bzw. n Werten haben. Diese seien beschrieben durch ON-Basen |a1 i, . . . , |am i bzw. |b1 i, . . . , |bm i und verschiedene Werte r 1 , . . . , rm bzw. s1 , . . . , sn . Sei ρ ein allgemeiner Zustand über H . Gemäß unserer Interpretation von R als zu R×S korrespondierende Observable im Teilsystem A fordern wir, dass für den gesuchten Teilzustand ρ A gilt: n X Prρ {R×S = (r j , sk )} = Prρ A {R = r j } für j = 1, . . . , m. k=1 Gemäß Postulat 1(iii) (Abschnitt 2.1) ist dies äquivalent zu n X k=1 hr j |hbk |ρ|r j i|bk i = hr j |ρ A |r j i, 163 j = 1, . . . , m. Da wir gemäß Annahme in System A beliebige Observablen R mit m verschiedenen Werten zur Verfügung haben, erhalten wir für beliebige Einheitsvektoren |vi ∈ H A : n X k=1 hv|hbk |ρ|vi|bk i = hv|ρ A |vi. (∗) Wir benutzen dies zur Definition des gesuchten allgemeinen Zustands ρ A , den wir hier durch seine Matrix beschreiben. Das folgende Lemma sagt uns, dass ρ A durch (∗) bereits vollständig bestimmt ist. Lemma: Sei A eine Matrix mit A = A † über dem Hilbertraum H . Sei Q A (x) := hx| A|xi für alle |xi ∈ H . Dann gilt für alle |ui, |vi ∈ H : 1 (Q A (u + v) − Q A (u − v)), 4 i Im(hu| A|vi) = (Q A (u − i v) − Q A (u + i v)), 4 Re(hu| A|vi) = Der Beweis erfolgt über einfaches Ausrechnen der rechten Seiten. Es bleibt nun noch zu zeigen, dass ρ A für die Werte außerhalb der Diagonalen mit der partiellen Spur tr B (ρ) übereinstimmt, was ebenfalls leicht durch Nachrechnen folgt. Verschränkung Wir haben bereits in Kapitel 1 festgestellt, dass sich einige, aber nicht alle Zustände eines Gesamtsystems als Tensorprodukt von Zuständen der Teilsysteme schreiben lassen. Die Definitionen von Produktzuständen und verschränkten Zuständen aus Kapitel 1 lassen sich wie folgt für allgemeine Zustände erweitern. Definition: Wir nennen einen allgemeinen Zustand ρ des Gesamtsystems, der sich schreiben lässt als ρ = ρ A ⊗ ρ B , wobei ρ A und ρ B Zustände der Teilsysteme sind, Produktzustand aus ρ A , ρ B (wobei ρ A und ρ B dann Faktorzustände heißen) oder separablen Zustand. Alle anderen Zustände heißen verschränkt. Dieser Definition können wir nun eine intuitiv nahe liegende Interpretation geben. Die Produktzustände für das Gesamtsystem sind genau die, für die sich die Wahrscheinlichkeitsverteilungen eines Observablenpaares R×S wie in Postulat 2 (Abschnitt 2.1) als Produktverteilung aus den Verteilungen für R und S ergibt. Genauer gilt für einen Produktzustand ρ = ρ A ⊗ ρ B (wir benutzen wieder die Bezeichnungen aus Postulat 2): Prρ {R×S = (r j , rk )} = Prρ A {R = r j } · Prρ B {S = rk } für alle j, k. Umgekehrt folgt aus der Forderung, dass die obige Formel für beliebige Observablen wie R und S gelten muss, dass ρ = ρ A ⊗ ρ B gilt, also ρ ein Produktzustand ist (hier ohne Beweis). 164 Übungsaufgabe: Beweise die obige Formel für den Fall, dass ρ = ρ A ⊗ ρ B . Wir sollten uns noch überzeugen uns, dass die obige Definition für reine Zustände mit unserer alten Definition aus Kapitel 1 übereinstimmt. Dies besagt gerade der folgende Satz. Satz: Ein reiner Zustand ρ = |ψihψ|, |ψi Einheitsvektor, ist genau dann ein Produktzustand gemäß obiger Definition, wenn es Einheitsvektoren |ψ A i und |ψ B i gibt mit |ψi = |ψ A i ⊗ |ψ B i. Beweis: Dann“: Wir setzen voraus, dass |ϕi = |ϕ A i ⊗ |ϕ B i gilt. Dann ergibt sich für ρ (nutze ” die Rechenregeln für das Tensorprodukt aus): ρ = |ϕihϕ| = |ϕ A i ⊗ |ϕ B i hϕ A | ⊗ hϕ B | = |ϕ A ihϕ A | ⊗ |ϕ B ihϕ B |. Damit ist ρ ein Produktzustand gemäß obiger Definition. Genau dann“: Dies ist die schwierigere Richtung. Wir nehmen hier an, dass ρ = |ψihψ| = ” ρ A ⊗ ρ B für Teilzustände ρ A und ρ B gilt und müssen nachweisen, dass geeignete Einheitsvektoren |ψ A i und |ψ B i existieren, so dass |ψi = |ψ A i ⊗ |ψ B i. Wir überlegen uns zunächst, dass ρ A und ρ B reine Zustände sind. Seien ρA = wobei 0 ≤ p j , qk ≤ 1 und m X j =1 P j p j |a j iha j | p j = 1, P k ρ = ρA ⊗ ρB = und ρ B = n X k=1 q j |b j ihb j |, qk = 1. Dann ist X j,k p j qk |a j i|bk iha j |hbk |. Da ρ rein ist, gibt es ein Indexpaar ( j0 , k0 ), so dass p j0 qk0 = 1. Damit ist p j0 = qk0 = 1 und es folgt aufgrund der Eigenschaften der p j und qk , dass ρ A und ρ B rein sind. Es gibt also Einheitsvektoren |ψ A i und |ψ B i mit ρ A = |ψ A ihψ A |, ρ B = |ψ B ihψ B |, und ρ = ρ A ⊗ ρ B = |ϕ A i ⊗ |ϕ B i hϕ A | ⊗ hϕ B | . Aufgrund der Eindeutigkeit des Zustandsvektors |ψi in der Darstellung ρ = |ψihψ| bis auf Phasenvorfaktoren ist |ψi = eiα |ψ A i ⊗ |ψ B i für ein geeignetes α ∈ . Wir behandeln zur Verdeutlichung der Begriffe ein Beispiel. 165 √ Beispiel: Wir betrachten den Bell-Zustand |ψi = |00i + |11i / 2 aus Kapitel 1, der nach obigen Erkenntnissen auch nach der neuen Definition verschränkt ist. Wir wollen uns hier überlegen, was passiert, wenn wir die einzelnen Qubits dieses Zustandes gemäß dem Formalismus aus Abschnitt 2.1 auseinandernehmen. Die zu |ψi gehörige Dichtematrix bezüglich der Basis |00i, |01i, |10i, |11i sieht so aus: 1/2 0 1 ρ = |ψihψ| = |00i + |11i h00| + h11| = 0 2 1/2 0 0 0 0 0 1/2 0 0 . 0 0 0 1/2 Zur Verdeutlichung schreiben wir die Basis des Gesamtraumes als |0 A 0 B i, |0 A 1 B i, |1 A 0 B i, |1 A 1 B i. Wir berechnen nun die beiden partiellen Spuren von ρ zu den einzelnen Qubits. tr B (ρ) = = Analog ergibt sich 1 tr B (|0 A 0 B ih0 A 0 B |) + tr B (|0 A 0 B ih1 A 1 B |)+ 2 tr B (|1 A 1 B ih0 A 0 B |) + tr B (|1 A 1 B ih1 A 1 B |) 1 1 |0 A ih0 A | + |1 A ih1 A | = I. 2 2 tr A (ρ) = 1 1 |0 B ih0 B | + |1 B ih1 B | = I. 2 2 Erstaunlicherweise sind dies gemischte Zustände, wie wir uns bereits in Abschnitt 2.1 ( Allge” meine Zustände“) überlegt hatten. Wenn wir im Zustand ρ A oder ρ B eine Observable messen, die |0i, |1i als ON-Basis besitzt und die Werte 0 und 1 annehmen kann, dann erhalten wir jedes der beiden möglichen Ergebnisse mit Wahrscheinlichkeit 1/2. Wir lernen also aus diesem Beispiel, dass für einen reinen, verschränkten Gesamtzustand eines zusammengesetzten Systems beide Teilzustände gemischte Zustände sein können. Motivation des Zustands nach Filtermessungen Wir betrachten die Situation, die im Abschnitt über Filtermessungen in Kapitel 2 beschrieben wurde. Wir haben eine Observable R mit ON-Basis |r 1 i, . . . , |rn i und Werten r1 , . . . , rn . Sei ρ ein allgemeiner Zustand, o. B. d. A. ρ = n X j =1 mit 0 ≤ p j ≤ 1 für j = 1, . . . , n und Prρ {R ∈ A} > 0 ist. p j |r j ihr j | P 166 j p j = 1. Sei A ⊆ {r1 , . . . , rn } so, dass Wir behaupten, dass sich der in Kapitel 2 angegebene Zustand ρ 0 nach der Filtermessung bezüglich A eindeutig aus der Forderung ergibt, dass die Wahrscheinlichkeitsverteilung von R nach der Messung konsistent ist zur Definition der bedingten Wahrscheinlichkeit, d. h. es soll für j = 1, . . . , n gelten: Prρ 0 {R = r j } = Prρ {R = r j | R ∈ A} Prρ {R = r j ∧ R ∈ A} = Prρ {R ∈ A} ( Prρ {R = r j }/ Prρ {R ∈ A}, falls r j ∈ A; = 0 sonst. (∗) P Zur Abkürzung setze q := Prρ {R ∈ A} = r j ∈A p j . Dann folgt aus (∗) durch Ersetzen der Wahrscheinlichkeiten gemäß bornscher Formel und der Definition von ρ oben: ( p j /q falls r j ∈ A; hr j |ρ 0 |r j i = 0 sonst. Damit ist ρ bereits auf der Diagonalen festgelegt. Analog zum Abschnitt über die Motivation der partiellen Spur lassen sich alle anderen Einträge mit Hilfe der Formeln 1 Q A (|r j i + |rk i) − Q A (|r j i − |rk i) , 4 i Im(hr j |ρ 0 |rk i) = Q A (|r j i − i |rk i) − Q A (|r j i + i |rk i) , 4 Re(hr j |ρ 0 |rk i) = berechnen, wobei Q A (|vi) := hv|ρ|vi für alle |vi ∈ wir für j 6 = k: n. Da ρ eine Diagonalmatrix ist, erhalten 1 ( p j /q + pk /q − ( p j /q + pk /q)) = 0 und 4 i Im(hr j |ρ 0 |rk i = ( p j /q − pk /q − ( p j /q − pk /q)) = 0. 4 Re(hr j |ρ 0 |rk i = Also haben wir gezeigt, dass ρ0 = X r j ∈A ( p j /q)|r j ihr j |. Es ist nun leicht zu sehen, dass dies mit der Formel in Kapitel 2 übereinstimmt. 167 168 Anhang D: Drehungen auf der Blochsphäre Wir beweisen hier, dass die in Abschnitt 3.1 definierten unitären Matrizen U x , U y , Uz durch Drehungen um die entsprechenden Koordinatenachsen auf der Blochsphäre realisiert werden. Wir wollen zunächst beliebige Vektoren x ∈ 3 mit Hilfe der Pauli-Matrizen (siehe Abschnitt 3.1) durch komplexe 2 × 2-Matrizen darstellen. Wir ordnen dazu x = [x 1 , x 2 , x 3 ]> die Matrix M(x) = x 1 X + x 2 Y + x 3 Z zu. Folgendes Lemma impliziert, dass diese Darstellung eindeutig ist. Lemma: 3. (i) Sei x ∈ Dann hat M(x) folgende Eigenschaften: M(x) = M(x)† und tr(M(x)) = 0. (ii) Sei A eine komplexe 2 × 2-Matrix mit A = A † und tr( A) = 0. Dann gibt es genau ein x ∈ 3 mit M(x) = A. Beweis: Der erste Teil ergibt sich leicht durch Nachrechnen aus den Eigenschaften der PauliMatrizen. Für den zweiten Teil sei A wie angegeben. Aufgrund der Eigenschaften von A folgt a11 a12 , A = ∗ a12 −a11 wobei a11 ∈ und a12 ∈ . Damit ergibt sich A = Re(a12 ) · X − Im(a12 ) · Y + a11 · Z . Für x = [Re(a12 ), − Im(a12 ), a11 ]> gilt also M(x) = A und dieser Vektor ist offensichtlich durch A eindeutig bestimmt. Es scheint zunächst so, als wenn wir unsere Lage eher verschlimmern würden durch Betrachten einer Matrix über 2 an Stelle der einfachen Vektoren über 3 . Der Nutzen der obigen Darstellung ergibt sich aus folgendem Satz, der es erlaubt, unitäre Operatoren auf dem 2 als lineare Operatoren im 3 zu interpretieren. Satz: Sei U eine unitäre 2 × 2-Matrix. (i) Sei x ∈ 3. Dann gibt es genau ein x 0 ∈ 3 mit U M(x) U † = M(x 0 ). (ii) Die durch x 7 → x 0 festgelegte Abbildung f U : 3 → 3 ist linear. Beweis: Zu (i): Gemäß dem obigen Lemma gilt M(x) = M(x)† und tr(M(x)) = 0. Damit folgt U M(x) U † † = U M(x)† U † = U M(x) U † und tr U M(x) U † = tr(M(x)) = 0. Also gibt es ebenfalls aufgrund des obigen Lemmas genau ein x 0 ∈ 169 3 mit M(x 0 ) = U M(x) U † . Zu (ii): Seien x, y ∈ dung x 7 → M(x): 3 und µ, ν ∈ . Dann folgt unter Ausnutzung der Linearität der Abbil M fU (µx + νy) = U M(µx + νy) U † = µ UM(x)U † + ν UM(y)U † = µ M( fU (x)) + ν M( fU (y)) = M µ fU (x) + ν fU (y) . Da die Darstellung mit Hilfe der Pauli-Matrizen eindeutig ist, folgt f U (µx + νy) = µ fU (x) + ν fU (y), also ist fU linear. Wir zeigen nun noch, dass für Einheitsvektoren x ∈ 3 , also Vektoren auf der Blochsphäre, die Darstellung M(x) mit Hilfe der Pauli-Matrizen den zur Blochdarstellung x gehörenden Vektor im 2 bis auf Phasenvorfaktoren eindeutig charakterisiert. Lemma: Sei x = [sin θ cos ϕ, sin θ sin ϕ, cos θ ]> ∈ 3 mit 0 ≤ ϕ < 2π , 0 ≤ θ ≤ π . Dann hat die Matrix cos θ e−iϕ sin θ M(x) = eiϕ sin θ − cos θ die Eigenwerte 1 und −1 und cos(θ/2) sin(θ/2) v1 = iϕ und v−1 = . e sin(θ/2) −eiϕ cos(θ/2) sind normierte Eigenvektoren zu diesen Eigenwerten. Der Eigenvektor zum Eigenwert 1 von M(x) ist also ein Vektor aus 2 , dessen Blochdarstellung gerade x ist. Bis auf den Phasenvorfaktor ist dieser Vektor eindeutig bestimmt. Beweis: Es ist cos θ − λ e−iϕ sin θ det iϕ e sin θ − cos θ − λ = λ2 − cos2 θ − sin2 θ = λ2 − 1, die Eigenwerte von M(x) sind also tatsächlich 1 und −1. Wir bestimmen nun eine Basis des aus Eigenvektoren. 2 Falls cos θ = 1 und damit sin θ = 0, sind e1 = [1, 0]>, e2 = [0, 1]> offensichtlich Eigenvektoren zu 1 bzw. −1 (die Matrix M(x) hat dann bereits Diagonalgestalt). Ansonsten bestimmen wir die Eigenvektoren durch Lösen des Gleichungssystems (M(x) − λI )u = 0 nach u ∈ 2 : cos θ − λ eiϕ sin θ 1 0 e−iϕ sin θ − cos θ − λ e−iϕ sin θ cos θ − λ 0 170 Der 0-Eintrag rechts in der zweiten Zeile im zweiten Tableau ergibt sich gemäß − cos θ − λ − λ2 − 1 eiϕ sin θ · e−iϕ sin θ = = 0. cos θ − λ cos θ − λ Damit haben wir als Lösungen alle u = [u 1 , u 2 ]> ∈ u1 = − Es bilden z. B. ṽ1 = 2 mit e−iϕ sin θ · u2. cos θ − λ sin θ , eiϕ (1 − cos θ ) ṽ−1 = sin θ −eiϕ (1 + cos θ ) eine Eigenbasis. Wir definieren nun vλ := ṽλ /kṽλ k, für λ ∈ {−1, 1}. Mit etwas Rechnerei bekommt man heraus, dass diese Vektoren v−1 , v1 die in der Behauptung angegebene Form haben. Wir führen das hier nur v1 durch. Es ist kṽ1 k2 = sin2 θ + (1 − cos θ )2 = sin2 θ + 1 − 2 cos θ + cos2 θ = 2(1 − cos θ ). Damit erhalten wir für die zweite Komponente von v1 : v1,2 = eiϕ √ p 1 − cos θ = eiϕ (1 − cos θ )/2 = eiϕ sin(θ/2). 2(1 − cos θ ) Für die letzte Gleichung haben wir die Halbwinkel-Formel“ für sin benutzt, die man mit Hilfe ” der Additionstheoreme beweisen kann (oder im Bronstein nachschlägt). Für die erste Komponente gilt (wieder mit der Halbwinkel-Formel und zusätzlich mit dem Additionstheorem für sin): sin θ 2 sin(θ/2) cos(θ/2) v1,1 = √ = cos(θ/2). = 2 sin(θ/2) 2(1 − cos θ ) Mit den obigen Ergebnissen können wir nun die folgende, in Kapitel 3.1 zitierte Tatsache beweisen: Satz: Sei |ui ∈ 2 und sei v ∈ 3 die Blochdarstellung von |ui. Dann ergibt sich die Blochdarstellung von |u 0 i = Ux (θ )|ui durch Drehung von v bezüglich der x-Achse um den Winkel θ . Analoge Aussagen gelten für die y- und die z-Achse. Beweis: Wir führen den Beweis zur Demonstration nur für U x (θ ) durch. Es ist cos(θ/2) −i sin(θ/2) Ux (θ ) = . −i sin(θ/2) cos(θ/2) Wir wissen bereits aufgrund der bewiesenen Ergebnisse, dass U x (θ ) durch eine lineare Abbildung R(θ ) := fUx (θ) im 3 dargestellt wird. Wir müssen nur noch herausfinden, welche lineare 171 Abbildung das ist. Dazu reicht es aus, die Abbildung R(θ ) auf der Standardbasis auszuwerten. Wir berechnen für v = [1, 0, 0]>, v = [0, 1, 0]> und v = [0, 0, 1]> den Ausdruck Ux (θ )M(v)Ux (θ )† = Ux (θ )M(v)Ux (−θ ) und stellen das Ergebnis dann wieder mit den Pauli-Matrizen dar. v = [1, 0, 0]>, M(v) = X: Ux (θ )XUx (−θ ) = v = [0, 1, 0]>, M(v) = Y : Ux (θ )Y Ux (−θ ) = = cos(θ/2) i sin(θ/2) −i sin(θ/2) cos(θ/2) = X. · i sin(θ/2) cos(θ/2) cos(θ/2) −i sin(θ/2) cos(θ/2) i sin(θ/2) sin(θ/2) −i cos(θ/2) · i sin(θ/2) cos(θ/2) i cos(θ/2) − sin(θ/2) 2 sin(θ/2) cos(θ/2) −i cos2 (θ/2) − sin2 (θ/2) i cos2 (θ/2) − sin2 (θ/2) −2 sin(θ/2) cos(θ/2) . Mit Hilfe der Additionstheoreme für sin und cos und der Halbwinkel-Formel für cos folgt 2 sin(θ/2) cos(θ/2) = sin θ und cos2 (θ/2) − sin2 (θ/2) = cos θ. Also ist die Matrix auf der rechten Seite oben cos(θ )Y + sin(θ )Z . v = [0, 0, 1]>, M(v) = Z : cos(θ/2) i sin(θ/2) cos(θ/2) i sin(θ/2) Ux (θ )ZUx (−θ ) = · −i sin(θ/2) − cos(θ/2) i sin(θ/2) cos(θ/2) cos2 (θ/2) − sin2 (θ/2) i · 2 sin(θ/2) cos(θ/2) = −i · 2 sin(θ/2) cos(θ/2) sin2 (θ/2) − cos2 (θ/2) = − sin(θ )Y + cos(θ )Z . Insgesamt haben wir damit folgende Matrixdarstellung für R(θ ): 1 0 0 R(θ ) = 0 cos θ − sin θ . 0 sin θ cos θ Dies ist gerade die Matrix der Drehung im 3 bezüglich der x-Achse um den Winkel θ . 172 Anhang E: Zahlentheoretische Algorithmen Der euklidische Algorithmus Für zwei Zahlen a, b ∈ heißt die eindeutig bestimmte Zahl d ∈ , die sowohl Teiler von a als auch von b ist und außerdem von jeder anderen Zahl mit dieser Eigenschaft geteilt wird, gr ößter gemeinsamer Teiler von a und b und wird mit ggT(a, b) bezeichnet. Diese Zahl kann mit dem euklidischen Algorithmus auf effiziente Weise berechnet werden, der aus den Grundvorlesungen bekannt sein sollte. Wir wiederholen hier die wichtigsten Details. Wir geben den Algorithmus in der einfachsten Form für natürliche Zahlen an (die Vorzeichenbehandlung für beliebige ganze Zahlen kann auf einfache Weise ergänzt werden, wird aber hier nicht benötigt). Algorithmus: Euklidischer Algorithmus. Eingabe: Zahlen a, b ∈ mit a ≥ b. Ausgabe: ggT(a, b). 1 c := a mod b; 2 if c = 0 then output b; stop; fi; 3 a := b; b := c; goto 1. Man kann zeigen, dass der euklidische Algorithmus für L-Bit-Zahlen als Eingabe O(L) Iterationen benötigt. Wenn wir die Rechenzeit für die Berechnung eines Divisionsrestes mit O(L 2 ) veranschlagen (Schulmethode für die Division), dann ist die Gesamtrechenzeit O(L 3 ). Analoges gilt für die Größe von klassischen Schaltkreisen zur Berechnung des größten gemeinsamen Teilers. Der Kettenbruchalgorithmus Wir betrachten hier das Problem, für eine rationale Zahl a/b mit a, b ∈ ihre zugehörige Kettenbruchdarstellung zu berechnen. Ohne Einschränkung können wir davon ausgehen, dass a ≥ b gilt (ansonsten berechne die Kettenbruchdarstellung [a1 , . . . , am ] für 1/(a/b), dann ist [0, a1 , . . . , am ] die Kettenbruchdarstellung für a/b). Wir benutzen den euklidischen Algorithmus aus dem letzten Abschnitt. Dieser Algorithmus ist eine iterierte Anwendung der Division mit Rest“. Um dies zu sehen, schreiben wir die ” Zwischenergebnisse, die beim Aufruf für a, b auftreten, detailiert auf. 173 Sei r−1 := a und r0 := b. Dann gibt es Zahlen d j ∈ und r j ∈ {0, . . . , r j −1 }, so dass a = r−1 = d1r0 + r1 , b = r 0 = d2 r 1 + r 2 , r 1 = d3 r 2 + r 3 , .. . r j −2 = d j r j −1 + r j , .. . rm−3 = dm−1 rm−2 + rm−1 , rm−2 = dm rm−1 . Die j -te Zeile stellt dabei eine Division von r j −2 durch r j −1 dar, wobei sich d j = r j −2 /r j −1 und der Rest r j = r j −2 mod r j −1 ergibt. Der euklidische Algorithmus stoppt in Zeile m mit Divisionsrest 0. Für j = 1, . . . , m teilen wir die beiden Seiten der Gleichung in der j -ten Zeile durch r j −1 . Dies ergibt das folgende Schema: r−1 r1 a = = d1 + , b r0 r0 r0 r2 = d2 + , r1 r1 r1 r3 = d3 + , r2 r2 .. . rm−3 rm−1 = dm−1 + , rm−2 rm−2 rm−2 = dm . rm−1 Jede Zeile stellt damit das multiplikative Inverse des Bruches am Ende der vorhergehenden Zeile dar. Daraus ergibt sich direkt, dass a = d1 + b d2 + 1 . 1 d3 + . . . 1 dm−1 + d1m Also ist [d1 , . . . , dm ] die Kettenbruchdarstellung von a/b. Es bleibt nur noch, den euklidischen Algorithmus gemäß der obigen Idee zu modizifieren. Aufgrund der bekannten Analyse folgt auch sofort, dass der so erhaltene Algorithmus für L-BitZahlen a, b als Eingabe O(L) Iterationen zu benötigt und damit Gesamtlaufzeit O(L 3 ). 174 Algorithmus: Kettenbruchberechnung. Eingabe: a, b ∈ mit a ≥ b. Ausgabe: Kettenbruchdarstellung [a0 , a1 , . . .] von a/b. 1 2 3 4 5 i := 0; ai := ba/bc; i := i + 1; c := a mod b; if c = 0 then stop; fi; a := b; b := c; goto 2. 175 176