PDF-File - TU Dortmund, Informatik 2

Werbung
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
Herunterladen