quantencomputer - TU Graz - Institut für Theoretische Physik

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