Quantencomputer - Institut für Theoretische Physik · die unsere heutigen Computer ebenfalls...

25
Quantencomputer Murat Sivis Marvin Walter 03. Februar 2006 Inhaltsverzeichnis 1 Einleitung 2 1.1 Bedeutung der bisherigen Computerentwicklung .......... 2 1.2 Quantenmechanische Grundlagen .................. 3 2 Klassische Computer vs. Quantencomputer 3 2.1 Klassische Turingmaschine vs. Quantenturingmaschine ...... 3 2.1.1 Aufbau und Funktionsweise der Turingmaschine ..... 3 2.1.2 Die universelle Turingmaschine ............... 5 2.1.3 Church-Turing-These und Berechenbarkeit ......... 6 2.1.4 Unentscheidbarkeit des Halteproblems ........... 6 2.1.5 Quantenturingmaschine ................... 6 2.1.6 Die universelle Quantenturingmaschine ........... 8 2.2 Klassische Parallelrechner vs. Quantenparallelrechner ....... 9 2.2.1 Die von Neumann Maschine ................. 9 2.2.2 Klassischer Parallelismus .................. 10 2.2.3 Quantenparallelismus .................... 10 2.3 Klassische Gatter vs. Quantengatter ................ 10 2.3.1 Klassische Gatter und Schaltkreise ............. 11 2.3.2 Logische Quantengatter ................... 11 2.3.3 Universelle Quantengatter und Quantenschaltkreise .... 13 3 Quantenalgorithmen 13 3.1 Der Deutsch-Jozsa Algorithmus ................... 13 3.2 Der Simon Algorithmus ....................... 14 3.3 Der Shorsche Faktorisierungsalgorithmus .............. 14 3.3.1 Definitionen und S¨ atze .................... 14 3.3.2 Faktorisierung einer Zahl .................. 16 3.3.3 Ablauf des Shor Algorithmus ................ 16 3.3.4 Laufzeitanalyse ........................ 19 3.4 Der Grover Algorithmus ....................... 20 3.5 Dekoh¨ arenz und Stabilit¨ at von Quantenalgorithmen ....... 22 1

Transcript of Quantencomputer - Institut für Theoretische Physik · die unsere heutigen Computer ebenfalls...

Quantencomputer

Murat Sivis Marvin Walter

03. Februar 2006

Inhaltsverzeichnis

1 Einleitung 21.1 Bedeutung der bisherigen Computerentwicklung . . . . . . . . . . 21.2 Quantenmechanische Grundlagen . . . . . . . . . . . . . . . . . . 3

2 Klassische Computer vs. Quantencomputer 32.1 Klassische Turingmaschine vs. Quantenturingmaschine . . . . . . 3

2.1.1 Aufbau und Funktionsweise der Turingmaschine . . . . . 32.1.2 Die universelle Turingmaschine . . . . . . . . . . . . . . . 52.1.3 Church-Turing-These und Berechenbarkeit . . . . . . . . . 62.1.4 Unentscheidbarkeit des Halteproblems . . . . . . . . . . . 62.1.5 Quantenturingmaschine . . . . . . . . . . . . . . . . . . . 62.1.6 Die universelle Quantenturingmaschine . . . . . . . . . . . 8

2.2 Klassische Parallelrechner vs. Quantenparallelrechner . . . . . . . 92.2.1 Die von Neumann Maschine . . . . . . . . . . . . . . . . . 92.2.2 Klassischer Parallelismus . . . . . . . . . . . . . . . . . . 102.2.3 Quantenparallelismus . . . . . . . . . . . . . . . . . . . . 10

2.3 Klassische Gatter vs. Quantengatter . . . . . . . . . . . . . . . . 102.3.1 Klassische Gatter und Schaltkreise . . . . . . . . . . . . . 112.3.2 Logische Quantengatter . . . . . . . . . . . . . . . . . . . 112.3.3 Universelle Quantengatter und Quantenschaltkreise . . . . 13

3 Quantenalgorithmen 133.1 Der Deutsch-Jozsa Algorithmus . . . . . . . . . . . . . . . . . . . 133.2 Der Simon Algorithmus . . . . . . . . . . . . . . . . . . . . . . . 143.3 Der Shorsche Faktorisierungsalgorithmus . . . . . . . . . . . . . . 14

3.3.1 Definitionen und Satze . . . . . . . . . . . . . . . . . . . . 143.3.2 Faktorisierung einer Zahl . . . . . . . . . . . . . . . . . . 163.3.3 Ablauf des Shor Algorithmus . . . . . . . . . . . . . . . . 163.3.4 Laufzeitanalyse . . . . . . . . . . . . . . . . . . . . . . . . 19

3.4 Der Grover Algorithmus . . . . . . . . . . . . . . . . . . . . . . . 203.5 Dekoharenz und Stabilitat von Quantenalgorithmen . . . . . . . 22

1

4 Experimentelle Realisierungsmoglichkeiten 234.1 NMR Quantencomputer . . . . . . . . . . . . . . . . . . . . . . . 234.2 Ansatze in der Festkorperphysik . . . . . . . . . . . . . . . . . . 24

4.2.1 CNOT Gatter aus Quantenpunkten . . . . . . . . . . . . 244.3 Ionen-Fallen Quantencomputer . . . . . . . . . . . . . . . . . . . 24

1 Einleitung

1.1 Bedeutung der bisherigen Computerentwicklung

Die rasanten Entwicklungen in der Computerindustrie und die neuen, immerleistungsfahigeren Chiparchitekturen machen es heutzutage moglich Computerfur anspruchsvolle und weniger anspruchsvolle Aufgaben einzusetzen. Compu-ter sind in unserer Gesellschaft allgegenwartig und erleichtern unseren Alltag,auch wenn nicht jeder dieser Auffassung ist. Abgesehen von diesen alltaglichenAufgaben, bei denen uns Computer unterstutzen, wollen wir uns hier damitbeschaftigen, wofur die aktuelle Computerentwicklung eigentlich benotigt wird.In den Naturwissenschaften ist es heutzutage unerlasslich mit Hilfe von leis-tungsstarken Rechnern in der Natur vorkommende Systeme zu simulieren undsomit ein tieferes Verstandnis uber deren physikalischen Gesetzmaßigkeiten undEigenschaften zu erlangen. Mit den derzeitigen klassischen Technologien ist diesanscheinend nicht immer effizient zu bewerkstelligen, so Richard Feynman. Ausdiesem Grund schlug Feynman das Konzept des Quantencomputers vor. Einweiterer Grund, warum wir uns in nachster Zukunft zwangslaufig mit der Ent-wicklung des Quantencomputers beschaftigen mussen, ist darin zu sehen, dassdie Dichte der Transistoren auf den derzeitigen Computerchips und somit derGrad der Miniaturisierung immer weiter zunimmt. Diese Entwicklung wird ste-tig fortlaufen, solange es moglich ist immer mehr Transistoren auf immer weni-ger Raum unterzubringen. Gordon Moore, Mitbegrunder des weltweit großtenChipherstellers Intel, beobachtete 1965, dass sich die Anzahl der Transistorenpro Quadratzoll auf einem Microchip jedes Jahr, seit der Erfindung des inte-grierten Schaltkreises (1962), verdoppelte. Dieser Sachverhalt ist heute als dasMooresche Gesetz bekannt.

”Ware die Entwicklung in der Automobilindustrie so schnell wie in

der Halbleiterindustrie vorangeschritten, wurde ein Rolls Royce mitfunf Litern Benzin eine Million Kilometer weit fahren. Und es warebilliger ihn wegzuwerfen, als ihn zu parken.“

(Gordon Moore, Intel-Mitbegrunder)

Das Verdopplungsintervall hat sich mittlerweile geandert und betragt in deraktuellen Chipindustrie 18 - 24 Monate. Die Grenzen dieser Entwicklung sinddurch die quantenmechanischen Effekte gegeben, welche auftreten, wenn manin immer kleiner Maßstabe vordringt. So wird ca. 2020 die atomare Skala er-reicht sein, um ein Bit zu speichern. Die Storungen, welche dann durch diequantenmechanischen Effekte verursacht wurden, kann man heute schon vor-hersagen. Deswegen ist es unumganglich, das Konzept des Quantencomputersweiterzuentwickeln und geeignete Realisierungsmoglichkeiten zu finden.

2

1.2 Quantenmechanische Grundlagen

Um das Konzept des Quantencomputers in allen Einzelheiten zu verstehen, istes unbedingt notwendig sich mit den Grundlagen der Quantenmechanik ein-gehend zu beschaftigen und alle Teilgebiete und Phanomene der angewandtenQuantenphysik zu begreifen. Dazu zahlen die quantenmechanische Formulie-rung der Informationstheorie, das Konzept der Verschrankung von Zustanden(EPR), die Quantenteleportation und die Quantenkryptographie. Wir gehenhier davon aus, dass sich der Leser dieses Vortragsmanuskripts mit den ent-sprechenden Themen im Voraus befasst hat.

2 Klassische Computer vs. Quantencomputer

In diesem Kapitel werden wir die Funktionsweise des Quantencomputers er-klaren und diese der eines klassischen Rechners gegenuberstellen. Hierzu wirdzunachst das Prinzip der klassischen Turingmaschine vorgestellt und mit demKonzept der Quantenturingmaschine verglichen. Des Weiteren wird der Unter-schied zwischen klassischen Parallelrechnern und Gattern und deren quanten-mechanischen Pendants aufgezeigt.

2.1 Klassische Turingmaschine vs. Quantenturingmaschine

Die Turingmaschine ist eine theoretisches Konstrukt, welches 1936 von AlanMathison Turing erdacht wurde; selbst heutige Rechner arbeiten noch nachdiesem Prinzip. Die Turingmaschine ebnete den Weg fur die Theorie uber dasRechnen mit Maschinen. Sie war die Antwort Alan Turings auf eine der FragenDavid Hilberts, dem sog. Entscheidungsproblem:

”Does there exist, at least in

principle, a definite method or process by which all mathematical questions canbe decided ?“[1]. Auf diese Frage hin analysierte Turing die Art und Weise, wieMenschen Probleme mit methodischen Mitteln angehen und verarbeitete dies inseinem Konzept. Er wollte die methodischen Prozesse in seiner Theorie mecha-nisieren und in einer theoretischen Maschine implementieren. Diese erdachteMaschine sollte nun, mit elementaren Regeln auskommend, all die Problemelosen, welche einer definierten Methode entsprachen. Die definierten Methodenwerden heute Algorithmen genannt.

2.1.1 Aufbau und Funktionsweise der Turingmaschine

Die Turingmaschine ist eine Maschine, die jeweils aus einer endlichen Menge vonZustanden S = {s1, s2, ..., sS ; sS+1 = shalt}, Symbolen A = {a1, a2, ..., aA; aA+1 =blank} und Anweisungen I = {i1, i2, ..., iI} besteht. Ausserdem besitzt sie nochein unendlich langes Speicherband, auf dem die Symbole gespeichert werdenkonnen. Unendlich lang bedeutet hier, dass auf dem Band fur die jeweiligeAufgabe, die mit der Turingmaschine bearbeitet werden soll, genugend Spei-cherplatz zur Verfugung gestellt wird. Die hypothetische Realisierung sieht nunso aus, dass die Turingmaschine aus drei Komponenten besteht:

3

1. Ein Speicherband, das lang genug und in Felder aufgeteilt ist. Jedes Feldkann maximal ein Symbol aus Mange A beinhalten oder es ist einfach leer(blank).

2. Ein RW-Kopf (RW steht hier fur read/write), welcher die Symbole in denFeldern auslesen und die Felder neu beschreiben oder den Inhalt loschenkann.

3. Eine Steuereinheit, die die Bewegungen des RW-Kopfes steuert.

Die Moglichkeiten, welche der RW-Kopf hat sind durch folgende Punkt be-schrankt:

• Auslesen der Symbole in einem Feld.

• Beschreiben oder Loschen eines Feldes.

• Je nach ausgelesenem Symbol den Zustand si ∈ S, in dem er sich befindet,in den Zustand sj ∈ S zu andern. Dabei ist i = j, wenn die Anweisung”Zustand beibehalten” lautet.

• Ein Feld nach links bzw. rechts bewegen. Dies wird durch γ ∈ {L,R}beschrieben.

Die Reihenfolge der durchzufuhrenden Operationen wird nun durch die An-weisung i ∈ I bestimmt. I ist die Menge der Regeln, welche den Ubergang einesAnfangszustandes (si, ai) in einen Endzustand (sf , af ) plus die Bewegung γ desRW-Kopfes festlegen. Somit ist die folgende Funktion i ∈ I diejenige, welche(si, ai) in (sf , af , γ) uberfuhrt.

i : (si, ai) 7→ (sf , af , γ)

Um die somit festgelegte Funktionsweise der Turingmaschine zu verdeutli-chen, betrachten wir nun ein einfaches Beispiel: Die Addition von zwei Zahlenn1 und n2. Wir benutzten dazu eine Turingmaschine mit zwei Zustanden undeinem Symbol (kurz: TM mit zwei Zustanden), welche gegeben ist durch:

1. A = {1, 0} = {1}, da ’0’ durch ein leeres (blank) Feld realisiert wird.

2. S = {s1, s2}

Die Ein- und Ausgabe wird auf das Band geschrieben bzw. vom Band aus-gelesen. In unserem Fall ist die Eingabe: n1 = 2 (gekennzeichnet durch dieSymbolfolge ’11’) und n2 = 2 (ebenfalls gekennzeichnet durch ’11’). Beide Zah-len sind auf dem Band durch ein leeres Feld, also durch eine ’0’, voneinandergetrennt. Die gewunschte Ausgabe nach erfolgreicher Addition soll n1 +n2 = 4lauten, was durch die Symbolfolge ’1111’ gekennzeichnet ist. Uberdies sind alleanderen Felder auf dem Band leer. In Abb. (1) wird die benutzte Turingma-schine nun in vier Schritten erklart.

4

stop stophalt

ausgelesenes Symbol

1 0standZu−

RW−Kopf

0 0 1 1 0 1 1 0

a)

0 0

stop stophalt

0 0 0 0

b)RW−Kopf

1 0 1 1 0 0

ausgelesenes Symbol

01standZu−

stop stophalt

d)

0 0

RW−Kopf

1 1 1 1 0 0 0 0

standZu−

ausgelesenes Symbol

1 0

stop stophalt

ausgelesenes Symbol

standZu−

1 0

RW−Kopfc)

0 0 0 1 0 11 0 0 0

(s2,0;R)

(s2,1;R) (halt,1;R)s2

s1 (s2,0;R) (s1,0;R)

(halt,1;R)

s1

s2 (s2,1;R)

(s2,0;R) (s1,0;R)

(s2,1;R) (halt,1;R)

s1

s2

(s1,0;R)(s2,0;R)

(s2,1;R) (halt,1;R)

s1

s2

(s1,0;R)

Abbildung 1: Addition von zwei Zahlen mittels einer TM mit zwei Zustanden

a) Der RW-Kopf befindet sich im Zustand s1 und beginnt, die Symbole in denFeldern des Bandes von links nach rechts auszulesen. Solange der Kopfnur das Symbol ’0’ liest, lautet die Anweisung von der Steuereinheit denZustand sowie den Feldeintrag unverandert zu lassen und ein Feld weiternach rechts zu wandern. Sobald allerdings eine ’1’ ausgelesen wird, lautetdie Anweisung den Feldeintrag mit ’0’ zu uberschreiben (also zu loschen),den Zustand von s1 in s2 zu andern und ein Feld weiter nach rechts zugehen.

b) Im Zustand s2 lautet die Anweisung an den RW-Kopf bei einer ausgelesenen’1’ nichts zu andern und weiter nach rechts zu wandern.

c) Wird nun eine ’0’ ausgelesen, genau die ’0’ welche die zwei zu addierendenZahlen voneinander separiert hat, lautet die Anweisung an den RW-Kopfim Zustand s2 den Feldeintrag in ein ’1’ zu andern und selber in denZustand halt zu wechseln.

d) In dem Zustand halt wird der RW-Kopf beim Auslesen des nachsten Fel-des angehalten, ganz gleich ob der Eintrag ’0’ oder ’1’ lautet. Die Tu-ringmaschine hat ihre Aufgabe erfullt und die Symbolfolge ’1111’ kannstellvertretend fur die Zahl 4 vom Band ausgelesen werden.

2.1.2 Die universelle Turingmaschine

Die im letzten Abschnitt vorgestellten Turingmaschinen sind so konzipiert, dasssie einzig und allein den Algorithmus ausfuhren konnen, fur den sie konstruiertwurden. Turing hat dieses Problem erkannt und entwickelte bereits 1936 eineuniverselle Turingmaschine, welche es erlaubt alle moglichen Turingmaschinenauf ihr laufen zu lassen und somit jeden erdenklichen Algorithmus auszufuhren.

5

Eine universelle Turingmaschine ist durch die universellen Mengen (SU ,AU ,IU )und die Funktionen jU gegeben. Die Anweisungen, die durch die FunktionenjU beschrieben werden, mussen so allgemein gefasst sein, dass es moglich ist,alle vorstellbaren einfachen Turingmaschinen zu realisieren. Dies wird dadurchbewerkstelligt, dass der universellen Turingmaschine sowohl die Funktionsweiseder einfachen Turingmaschinen (Algorithmus) als auch die zu verarbeitendenDaten ubergeben werden.

2.1.3 Church-Turing-These und Berechenbarkeit

Die Turingmaschine ist im Prinzip in der Lage, alle Berechnungen durchzufuhren,die unsere heutigen Computer ebenfalls beherrschen. Es gibt aber anscheinendeine Grenze der Berechenbarkeit. Turingmaschinen sind trotz ihrer Moglichkei-ten Probleme effizient zu losen, nicht in der Lage, alles zu berechnen, was es zuberechnen gibt. Fur manche Probleme (Funktionen), so scheint es, brauchte manirgendwelche ’Supermaschinen’, die unendlich viele Rechenschritte in endlicherZeit durchfuhren oder man musste die Losung einfach aus dem Blauen herausraten. Diese These formulierten Church und Turing 1936 unabhangig voneinan-der. Die Church-Turing-These lautet nach Turing:

”Every function that would

naturally be regarded as computable can be computed by some Turing machine.“[2]. Das bedeutet, dass jedes intuitiv berechenbare Problem mit einer Turing-maschine gelost werden kann. Als Konsequenz der Church-Turing-These wirdjede Funktion, die mit einer Turingmaschine gelost werden kann,

”naturlich

berechenbar“ genannt. Anderenfalls nennt man sie unberechenbar.

2.1.4 Unentscheidbarkeit des Halteproblems

Das Entscheidungsproblem lautet in den Begriffen der Turingmaschine folgen-dermaßen:

”Ist es mit einer geeigneten Turingmaschine moglich jede mogliche

Funktion zu berechnen?“. Turing zeigte, dass dies nicht der Fall ist, denn esgibt mehr Funktionen als Turingmaschinen zu deren Berechnung. Diese Aus-sage beinhaltet auch, dass es unberechenbare Funktionen geben muss. Turingselbst stellt das erste konkrete Beispiel fur diese Annahme vor, das sog. Halte-problem. Die damit verbundene Fragestellung lautet, ob es eine TuringmaschineH gibt, die uns mitteilt, ob eine andere Turingmaschine G anhalt oder endlosweiterlauft, wenn sie ihre Aufgabe fur eine bestimmten Eingabe erfullt hat.Turing zeigte, dass solch eine Turingmaschine H nicht existiert. Mit anderenWorten, das Halteproblem ist unentscheidbar.

2.1.5 Quantenturingmaschine

Ausgehend von der Church-Turing-These, dass jede naturliche Funktion bere-chenbar sei, formulierte Deutsch das Church-Turing-Prinzip. Nach diesem Prin-zip sind

”naturlich berechenbare“ Funktionen diejenigen, welche durch ein reales

physikalisches System berechnet werden konnen. Das Prinzip besagt, dass jedesendliche und reversible physikalische System durch eine universelle, mit end-lichen Zustanden operierende Maschine perfekt simuliert werden kann und istsomit physikalischer als die vorangegangene Church-Turing-These. Das Prinzip

6

ist ein guter Ausgangspunkt fur weitere Uberlegungen bezuglich des Quanten-computers. Um eine Quantenturingmaschine (QTM) zu konstruieren, kann manalle Aspekte einer klassischen Turingmaschine ubernehmen. Es bedarf dabei le-diglich einer Anpassung der Bestandteile an die quantenmechanischen Gegeben-heiten. Genau wie die Turingmaschine besteht diese von Deutsch entwickelteQTM aus drei Komponenten:

1. Ein endlicher Prozessor, welcher die Ein- und Ausgabe steuert, ahnlich wiedie Steuereinheit bei der Turingmaschine. Jedoch besteht der Prozessor inder QTM aus einer endlichen Anzahl P von Qubits. Sei der Hilbertraumder Prozessorzustande gegeben durch

HP := span{⊗i|pi〉 : pi = 0, 1}P−1i=0 . (1)

2. Ein Speicherband, das denselben Zweck erfullt wie jenes in der Turingma-schine, aber durch eine unendliche Anzahl von Qubits beschrieben wird.Sei der Hilbertraum der Speicherzustande gegeben durch

HM := span{⊗|mi〉 : mi = 0, 1}+∞i=−∞. (2)

3. Ein Cursor, der zwischen dem Prozessor und dem Speicherband vermit-telt. Die Position, an der sich der Cursor befindet, wird durch die Variablex ∈ HC = Z ausgelesen und der damit verbundene Hilbertraum ist gege-ben durch

HC := span{|x〉 : x ∈ Z}. (3)

Alles in allem ergibt sich somit ein Hilbertraum HQC , in dem sich alleZustande der QTM befinden. Er ist von der Form

HQC := HP ⊗HM ⊗HC. (4)

Die Basisvektoren im Hilbertraum HQC der QTM, welche auch Basiszustandegenannt werden, sind gegeben durch

|x;p;m〉 := |x; p0, p1, ..., pP ; ...,m−1,m0,m1, ...〉. (5)

Vergleichen wir nun die Komponenten der Turingmaschine mit denen ei-ner QTM, so erkennen wir, dass die Menge S der Zustande im Klassischendem Hilbertraum HP der Zustande in der QTM entspricht und die Menge Ader Symbole in der QTM durch den Qubitraum C2 gegeben ist. Allein bei derMenge der Anweisung I, mussen wir uns uberlegen, wie eine QTM Prozesseausfuhrt.Im Folgenden werden wir darauf eingehen, durch welche quantenmechanischenOperatoren Prozesse in einer QTM ausgefuhrt werden, um spater die Funkti-onsweise der Quantengatter besser verstehen zu konnen.

Eine QTM operiert in festen Zeitschritten T und wahrend jedes Schrittesinteragiert der Prozessor lediglich mit einem endlichen Teil der Speichereinheit.Die Menge der Anweisungen I einer Turingmaschine wird in einer QTM durch

7

die unitare Zeitentwicklung eines quantenmechanischen Zustands |ψ〉 ∈ HQC

ersetzt. Nach einer bestimmten Anzahl n ∈ N von Rechenschritten der DauerT wird der Zustand in folgender Form transformiert

|ψ(nT )〉 = Un|ψ(0)〉, (6)

wobei U der unitare Entwicklungsoperator ist, mit UU † = U †U = 1. JedeQTM benutzt solch einen unitaren Operator U, um die ihr gestellte Aufgabe zuerledigen. Der in Gleichung (6) aufgefuhrte Anfangszustand |ψ(0)〉, ist dadurchgegeben, dass die Position des Cursors x = 0 und der Zustand des Prozessorsp = 0 ist. Die Speicherzustande m sind durch die eingegebenen Daten undProgramminstruktionen prapariert und werden durch eine endliche Zahl vonQubitfolgen dargestellt. Alle restlichen Qubits im Speicher befinden sich imZustand |0〉. Der Anfangszustand ist

|ψ(0)〉 =∑

m

cm|0;0;m〉, mit∑

m

|cm|2 = 1. (7)

Erinnern wir uns nun an das Church-Turing-Prinzip von oben, so konnenwir uber die QTM die Aussage treffen, dass sie ebenso wenig in der Lage ist, un-endlich viele Rechenschritte in einer begrenzten Zeit durchzufuhren, da sie auchmit endlichen Zustanden operiert. Durch diese Tatsache ergeben sich folgendeBedingungen an die Matrixelemente des Entwicklungsoperators U :

〈x′;p′,m′|U |x;p;m〉 = [δx′,x+1U+(p′,m′

x′ |p,mx)

+ δx′,x−1U−(p′,m′

x′ |p,mx)]∏

x′ 6=x±1

δmx′ ,mx

Das unendliche Produkt in der Formel fur die Matrixelementen garantiert,dass nur eine endliche Anzahl von Qubits in einen Rechenschritt involviert sind.Sobald das Qubit an der x-ten Cursorposition ausgelesen ist, kann dieser nurnoch um eine Speichereinheit nach vorne oder hinten geandert werden. Dieswird durch die Kronecker-Deltas in den Braketklammer bewerkstelligt.

Wie bei einer herkommlichen Turingmaschine ist es auch bei einer QTMnotwendig zu wissen, wann eine Rechenoperation vollstandig durchlaufen ist.Aufgrund der quantenmechanischen Prinzipien ist es aber nicht moglich, dieVorgange im Inneren einer QTM zu beobachten oder zu messen, solange dieRechenoperation noch im Gange ist. Zur Losung dieses Problems separierenwir eines der Qubits |q0〉 des Prozessors und benutzen es als Signalgeber furdas Ende der Berechnung. |q0〉 erhalt den Wert 1, sobald die Rechenoperationabgeschlossen wurde und ist wahrend des Vorgangs ’0’. Somit besteht keinerleiWechselwirkung zwischen dem Programm und |q0〉 und man kann |q0〉 ausser-halb der QTM beobachten, ohne die Ablaufe im Inneren zu storen.

2.1.6 Die universelle Quantenturingmaschine

Ebenso wie bei der universellen Turingmaschine kann man auch eine universelleQTM konstruieren, die in der Lage ist alle moglichen Rechenoperation durch-zufuhren. In der einfachen QTM sind der unitare Operator U{U+, U−} und

8

der Speicherzustand |m〉 so prapariert, dass die QTM lediglich eine spezielleAufgabe erledigen kann. Die universelle QTM kann nun ahnlich wie bei deruniversellen Turingmaschine auch programmiert werden.

Die somit definierte QTM ist nun das quantenmechanische Aquivalent zurklassischen Turingmaschine und bildet das theoretische Fundament des Quan-tencomputers.

2.2 Klassische Parallelrechner vs. Quantenparallelrechner

Da durch die deterministische Turingmaschine vorgegeben ist, dass in einemeinfachen Computer nur ein Rechenschritt nach dem anderen ausgefuhrt wer-den kann, ist es mit diesem nicht moglich komplexere Probleme in endlicherRechenzeit zu losen. Im folgenden Abschnitt erlautern wir die Aspekte des Par-allelismus sowohl im klassischen als auch im quantenmechanischen Sinne undvergleichen sie miteinander.

2.2.1 Die von Neumann Maschine

Zunachst wollen wir auf die genauere Funktionsweise von aktuellen Computerneingehen und kurz die von John von Neumann 1945 entwickelte von NeumannMaschine (VNM) erklaren, welche die heute vorhandene Computerarchitekturbestimmt hat. Die VNM besteht aus folgenden Bestandteilen:

• Prozessor : Der zentrale Teil eines jeden Computers, in welchem die Re-chenschritte eines Programms Schritt fur Schritt ausgefuhrt werden. Erist in drei Teile gegliedert:

1. Steuereinheit : Steuert alle Teile des Computers und sorgt dafur, dassalle Operationen wie z.B. Daten aus dem Speicher zu lesen oder An-weisungen zu interpretieren bzw. auszufuhren, abgewickelt werden.

2. Register : Schnelle Speichereinheit, die alle gerade in Bearbeitung be-findlichen Daten beinhaltet.

3. Arithmetische und logische Einheit : Ist zustandig fur die Grundre-chenregeln wie Addition und Multiplikation sowie fur die logischenOperationen, etc., und fuhrt diese mit den vom Register oder demSpeicher bereitgestellten Daten durch, soweit es von der Steuerein-heit gefordert wird.

• Speicher : Speichert die Daten und Anweisungen, welche vom Prozessorausgefuhrt werden sollen. Der Speicher ist in individuelle Blocke aufgeteilt,die mittels Nummern (Adressen genannt) angesprochen werden konnen.

Die VNM ist eine periodisch arbeitende Maschine, deren Ablauf wie folgtverstanden werden kann: Die Steuereinheit liest eine Programmanweisung ausdem Speicher, welche dann decodiert und ausgefuhrt wird. Je nach Anweisungwerden nun Daten aus dem Speicher ausgelesen, in den Speicher geschrieben,oder es wird noch eine Anweisung ausgefuhrt. Im darauf folgenden Zyklus liestdie Steuereinheit die nachste im Speicher befindliche Programmanweisung aus.Somit wird in einer VNM eine Anweisung nach der anderen ausgefuhrt.

9

2.2.2 Klassischer Parallelismus

Um komplexe Probleme mit vielen Rechenschritten in einer endlichen Zeit effizi-ent losen zu konnen, ist es notwendig mehrere Rechner parallel an einer Aufgabearbeiten zu lassen. Der damit verbundene Parallelismus wird am einfachsten sobeschrieben, dass man viele Rechenschritte gleichzeitig durchfuhren kann. So-mit scheint eine Losung fur viele Probleme gefunden zu sein. Auf den erstenBlick konnte man meinen, allein die Anzahl der Prozessoren sei ausschlagge-bend fur die Realisierung eines effizienten Parallelrechners. Aber in Wirklich-keit hangt die Realisierbarkeit davon ab, wie gut die verschiedenen Prozessorenmiteinander vernetzt und untereinander organisiert sind. Durch das damit ver-bundene Synchronisieren mussen die einzelnen Prozessoren jedoch aufeinanderwarten und somit verlangsamt sich die Rechengeschwindigkeit eines Parallel-rechners mit steigender Prozessorzahl. Ein weiteres Problem ist die Anordnungder Prozessoren in einem Parallelrechner, denn je nach Art der Vernetzung,kann es vorkommen, dass die Ubertragungswege der Informationen von einemProzessor zum anderen zu lang sind. Dadurch kommt es zum Datenstau im Par-allelrechner und die Leistung wurde stark gedrosselt werden. In der aktuellenForschung werden zwar Parallelrechner eingesetzt; deren Betrieb bringt jedochenormen Aufwand mit sich.

2.2.3 Quantenparallelismus

Der Umstand, dass sich eine QTM zu ein und derselben Zeit in verschiedenenZustanden befinden kann (Superpositionsprinzip) wird Quantenparallelismusgenannt. Quantenparallelismus ist das quantenmechanische Aquivalent zumklassischen Parallelismus. Vergleichen wir nun einen klassischen Parallelrech-ner mit einem Quantencomputer, so sind viele Rechenschritte im Parallelrech-ner gleichbedeutend mit vielen Zustanden, in denen sich der Quantencomputerzu einer Zeit befindet. Der Quantenparallelismus allein ist jedoch nicht ausrei-chend um einen guten Quantencomputer zu realisieren, denn man kann keinehundertprozentige Aussage daruber treffen, ob der nach der Rechnung gemes-sene Endzustand das richtige Ergebnis widerspiegelt. Die Messung muss manso oft wiederholen, bis das gesuchte Ergebnis gefunden ist. Programmiert manden Quantencomputer bezuglich dieser Suche unachtsam, so kann es passieren,dass dies eine exponentielle Anzahl von Messungen zur Folge hatte und somitwaren alle erhofften Vorzuge eines Quantencomputers hinfallig.

2.3 Klassische Gatter vs. Quantengatter

Im letzen Abschnitt dieses Kapitels werden wir nun klassische Gatter Quanten-gattern gegenuberstellen. Vorweg kann man sagen, dass sowohl die Turingma-schine als auch die Quantenturingmaschine zwar effiziente theoretische Maschi-nen, aber eben keine praktikablen Computer sind. In funktionsfahigen Rechnernarbeiten heutzutage elektronischen Schaltkreise, welche aus sog. logischen Gat-tern bestehen. Logische Schaltkreise sind aquivalent zu Turingmaschinen undsomit in der gleichen Komplexizitatsklasse. Es ist also legitim, diese Schaltkreisebeim Bau von realen Computern zu verwenden.

10

2.3.1 Klassische Gatter und Schaltkreise

Logische Gatter funktionieren mittels logischer Operation wie AND. Ein logi-scher Operator oder Funktion f : {0, 1}n 7→ {0, 1}m bildet einen n-Bit Einga-beoperanden auf eine m-Bit Ausgabe ab. Man spricht von einem BooleschenOperator, falls die Abbildungsmenge von f gleich {0, 1} ist. Boolesche Operato-ren dienen dazu Wahrheitsaussagen zu treffen und somit Computerprogrammezu realisieren. Um die Funktionsweise von logischen Gattern und spater vonlogischen Quantengattern besser verstehen zu konnen, betrachten wir nun dieGrundlagen der Booleschen Logik.Ein Operator mit einem Eingabeoperanden heißt unar. NOT ist solch ein unarerOperator und bildet x auf ¬x ab. NOT : x 7→ NOTx := x := 1−x. Ein binarerOperator hat zwei Eingabeoperanden. AND und OR sind binare Operatoren.AND bildet zwei Operanden mit der Uberprufung und (∧) auf die Ausgabe ab.AND : (x, y) 7→ x∧ y := xy. OR bildet zwei Eingaben mit der Bedingung oder(∨) auf die Ausgabe ab. OR : (x, y) 7→ x∨y := x+y−xy. Boolesche Arithmetikwird in der Menge der ganzen Zahlen Z2 : 1 + 1 = 0 durchgefuhrt. Zu jedemBooleschen Operator konnen wir ein logisches Gatter konstruieren, aus welchenwiederum die logischen Schaltkreise aufgebaut sind. Jetzt ist es moglich alleBooleschen Ausdrucke mit Hilfe von diesen Schaltkreisen im Computer zu im-plementieren. Ein logischer Schaltkreis arbeitet nicht zyklisch, sondern wandeltgenau wie ein logisches Gatter die Eingabe linear in die Ausgabe um. Mit demsog. universellen Basissatz logischer Gatter {NOT, AND, OR} ist es moglich,alle erdenklichen logischen Funktionen zu konstruieren, solange man ein zusatz-liches Gatter (z.B. FANOUT-Gatter) hat, das die Eingabe kopieren kann. Umdiesen Basissatz noch zu minimieren, betrachten wir nun das de Morgan- Ge-setz, welches aus folgenden Booleschen Identitaten besteht:

(x ∨ y) = x ∧ y, (8)

(x ∧ y) = x ∨ y. (9)

Betrachten wir die Negation der Gleichung (8) (x ∨ y) = x ∧ y, so erkennenwir leicht, dass das OR Gatter aus AND und NOT zusammengefugt werdenkann. Ebenso gilt aufgrund von Gleichung (9) (x ∧ y) = x ∨ y, dass das ANDGatter durch OR und NOT realisiert werden kann. Somit bilden {AND,NOT}und {OR,NOT} noch kleinere Basissatze als {NOT, AND, OR}. Die Anzahl derElemente kann auf ein Element gesenkt werden. Das NAND (bzw. NOR) Gatterist in der Lage alleine jeden Schaltkreis zu bilden, denn mit ihm kann man NOTund AND (bzw. NOT und OR) Gatter konstruieren. Also ist {NAND} (bzw.{NOR}) der kleinstmogliche universelle Basissatz logischer Gatter.

x = 1 NANDx, (10)

x ∧ y = (x NAND y) = 1 NAND (x NAND y). (11)

2.3.2 Logische Quantengatter

In einem logischen Quantengatter stellen unitare Operatoren die logischen Ope-rationen dar, welche auf Qubits aus dem Speicher- oder Quantenregister wirken.

11

Dabei ist ein Quantenregister eine Kette aus n Qubits, deren mogliche Zustandeden Hilbertraum des Quantencomputers aufspannen. Sei H der Hilbertraum je-des Qubits |ψi〉, mit i = 1, ..., n in der Basis {|0〉, |1〉}, so ist ein Basisvektor |Φ〉des Quantenregisters durch das Tensorprodukt |Φ〉 = |ψ1〉 ⊗ |ψ2〉 ⊗ ...⊗ |ψn〉 ∈H⊗n gegeben. In dem damit gegebenen Register werden die Qubits in ihrenuberlagerten Zustanden gespeichert und durch Quantengatter bearbeitet. Logi-sche Quantengatter konnen dabei beliebig viele EingabeQubits transformieren.Es sind aber nur diejenigen von Bedeutung, die mit einer minimalen Anzahl vonQubits auskommen. Bildlich kann man sich ein Quantengatter folgendermaßenvorstellen: Von links nach rechts fuhren Linien, die die Eingabequbits darstellen,in eine sog. ”Black Box”, in der die Transformation stattfindet. Die transfor-mierten Ausgabequbits fuhren dann von links nach rechts aus der ”Black Box”heraus. Als nachstes betrachten wir einige der wichtigen Quantengatter.

Die einfachsten Beispiele fur unare Quantengatter sind das NOT-, das√

NOT-und das Hadamard-Quantengatter. Dabei haben die letzten beiden haben keinklassisches Aquivalent. Das NOT-Quantengatter entspricht dem klassischenNOT und wird durch UNOT realisiert, wobei UNOT = σx eine der Pauli-Spinmatrizenist:

UNOT = σx =

(0 11 0

)

. (12)

Der Unterschied zwischen klassischen und Quantengattern liegt darin, dassklassische Gatter mit Bits und Quantengatter mit Qubits arbeitet. Aus diesemGrund kann man Quantengatter realisieren, die im klassischen Gatter nichtmoglich waren.

√NOT ist solch ein Quantengatter, mit dem Entwicklungsope-

rator

U√NOT :=

1√2e

iπ4 (1 − iσx). (13)

Des Weiteren gibt es noch das Hadamard-Quantengatter H mit dem Entwick-lungsoperator

UHad =1√2

(1 11 −1

)

. (14)

Es sorgt dafur, dass die moglichen Zustande der Qubits in einem Registeraufaddiert werden, wenn sich diese vorher alle im Zustand |0〉 befunden haben.

Unter den binaren Quantengattern ist das CNOT-Quantengatter das Wich-tigste. Es entspricht dem XOR-Gatter im Klassischen und besitzt dem Ent-wicklungsoperator UCNOT, der den Zustand des zweiten Qubits andert, fallsdas erste sich im Zustand |1〉 befindet:

UCNOT|00〉 = |00〉, UCNOT|10〉 = |11〉, (15)

UCNOT|01〉 = |01〉, UCNOT|11〉 = |10〉. (16)

Das CNOT-Quantengatter spielt sowohl in der theoretischen als auch in derexperimentellen Realisation einen fundamentale Rolle. Weitere wichtige binareQuantengatter sind das CPHASE- und das SWAP-Quantengatter. Das CPHASE-Gatter bewirkt eine Phasenverschiebung des zweiten Qubits und der Entwick-

12

lungsoperator ist gegeben durch:

UCPh(Φ) =

1 0 0 00 1 0 00 0 1 00 0 0 eiφ

. (17)

Das SWAP-Gatter tauscht die Zustande zweier Qubits aus und besitzt denEntwicklungsoperator:

USWAP :=

1 0 0 00 0 1 00 1 0 00 0 0 1

. (18)

2.3.3 Universelle Quantengatter und Quantenschaltkreise

Ahnlich wie bei den klassischen Gattern ist es auch bei den Quantengatternsinnvoll, mit einem kleinstmoglichen Basissatz auszukommen und damit al-le moglichen Quantenoperationen durchzufuhren. Barenco und Bennett haben1995 gezeigt, dass lediglich Ein-Qubit-Gatter (z.B. das Hadamard-Quantengatter)kombiniert mit einem CNOT-Gatter notig sind, um einen Quantencomputer zurealisieren. Also ist GII

ex := {U1,CNOT : U1 ∈ U(2)} ein moglicher Basissatz uni-verseller Quantengatter. Aus diesen Basissatzen lassen sich jetzt Quantenschalt-kreise konstruieren, die beliebig komplizierte Quantenoperationen durchfuhrenkonnen.

Hiermit sind nun alle wichtigen Grundlage des Quantencomputers erklartund wir konnen uns im weiteren Text mit der mathematischen und experimen-tellen Realisierung beschaftigen.

3 Quantenalgorithmen

Um von den neuen Moglichkeiten des Quantencomputers Gebrauch zu machen,braucht man neuartige Algorithmen, welche die quantenmechanischen Effek-te zu nutzen wissen. Im Folgenden sollen hier der Deutsch-Jozsa Algorithmusund der Simon Algorithmus ganz kurz beschrieben und der Grover Algorith-mus sowie der Shor Algorithmus naher erlautert werden. Zum Abschluß diesesAbschnittes wird außerdem die Stabilitat von Quantenalgorithmen und De-koharenz diskutiert werden.

3.1 Der Deutsch-Jozsa Algorithmus

Bei dem Deutsch-Jozsa Algorithmus handelt es sich um eines der ersten Bei-spiele, in denen ein Quantencomputer ein Problem schneller losen kann, als einklassischer.

Der 1985 von Deutsch entwickelte Algorithmus pruft eine gegebene Funktionf : {0, 1}n → {0, 1}, ob sie

• konstant, d.h. ∀a, b ∈ {0, 1}n gilt f(a) = f(b)

13

• oder aber ausgeglichen, d.h. die Anzahl der Elemente a aus {0, 1}n mitf(a) = 0 ist gleich der Anzahl der Elemente b aus {0, 1}n mit f(b) = 1,

ist. Wahrend klassische Algorithmen in der worst-case Abschatzung die Funk-tion 2n−1 + 1 mal aufrufen mussen, um diese Eigenschaften zu uberprufen,benotigt ein Quantencomputer mit dem Deutsch-Jozsa Algorithmus nur eineneinzigen Aufruf dieser Funktion.

3.2 Der Simon Algorithmus

Sei f : {0, 1}n → {0, 1}n eine periodische Funktion mit der Periode p, d.h.f(x) = f(x+p). Die Aufgabe des Simon-Algorithmus’ ist nun, diese Periode ei-ner gegebenen Funktion f zu finden. Klassische Algorithmen zur Losung diesesProblems sind im Durchschnitt in O(2

n2 ), wahrend es durch Ausnutzung der

Superposition von Qubits hier wieder gelingt, das Problem auf einem Quan-tencomputer in O(n2 + nKf (n)), wobei Kf (n) die Kosten der Ausfuhrung derFunktion selbst bezeichnet, zu losen. Bei diesem, wie auch bei dem vorherigenAlgorithmus, wird die Superposition der Qubits uber Hadamard-Gatter reali-siert.

3.3 Der Shorsche Faktorisierungsalgorithmus

Im Gegensatz zu den bislang vorgestellten Algorithmen, welche nicht von sehrgroßer praktischer Relevanz sind und eigentlich mehr die Vorzuge und Moglicht-keiten eines Quantencomputers zeigen sollen, ist der von Shor 1994 vorgestellteFaktorisierungsalgorithmus von großer Wichtigkeit fur die Kryptographie unddie Zahlentheorie. Mit ihm gelingt es erstmals, die Faktorisierung von Zahlen inpolynomieller Laufzeit durchzufuhren. Die Sicherheit der auf diesem bisherigenNP Problem aufbauenden Rivest-Shamir-Adleman Verschlusselung ist somitnicht mehr gewahrleistet, sobald es gelungen ist Quantencomputer experimen-tell zu realisieren.

3.3.1 Definitionen und Satze

Um das Prinzip des Shor Algorithmus zu verstehen, ist die Kenntnis einigerzahlentheoretischer und algebraischer Begriffe und Satze von Nutzen:

Definition 3.1 (Kongruenz) In der Zahlentheorie heißen zwei Zahlen a, b ∈Z kongruent modulo m wenn gilt: m | (a − b). Die Schreibweise ist: a ≡b modm. Wichtige Eigenschaften sind:

• Potenzregel: Ist a ≡ b modm, so auch an ≡ bn modm

• Gilt a ≡ b modm, so ist auch a ≡ b modk ∀k : k | m erfullt.

Satz 3.1 (Chinesischer Restsatz) Gegeben sei ein System simultaner Kon-gruenzen:

x ≡ a1 modm1

x ≡ a2 modm2

14

...

x ≡ ak modmk

Gilt nun ggT(mi,mj) = 1 ∀i 6= j, sind also alle mi paarweise teilerfremd,

dann hat das System eine Losung 1 ≤ x ≤k∏

i=1mi =: M . Alle Losungen sind

kongruent zu M . Eine Losung ist gegeben durch x =k∑

i=1ai · si ·Mi wobei rimi +

siMi = 1 mit ri, si ∈ Z nach dem erweiterten Euklidischen Algorithmus undMi = M/mi.

Definition 3.2 (Eulersche Phi-Funktion) Die Eulersche Phi-Funktion istwie folgt definiert:Sei N ∈ N, dann ist

φ(N) = Anzahl der naturlichen Zahlen < N, teilerfremd zu N (19)

Satz 3.2 (Satz von Euler) Sei a ∈ Z. Es gilt

ggT(a,N) = 1 ⇒ aφ(N) ≡ 1 modN (20)

Definition 3.3 (Restklasse) Die Restklasse von a modN bezeichnet die Men-ge aller Zahlen, die kongruent modulo N zu a sind: {x ∈ Z|a ≡ x modN}.

Definition 3.4 (Ordnung) Ist x Element einer Gruppe und es gelte fur n ∈N: xn = 1, so wird das kleinste Element nmin, welches diese Gleichung erfullt,die Ordnung von x in der Gruppe genannt.

Definition 3.5 (Kettenbruch) Ein endlicher Kettenbruch hat die folgendeForm:

a0 +1

a1 + 1a2+ 1

... 1aN

und die folgenden wichtigen Eigenschaften:

• Jede rationale Zahl lasst sich als endlicher Kettenbruch darstellen, dieDarstellung ist eindeutig.

• Irrationale Zahlen lassen sich als unendliche Kettenbruche darstellen

Satz 3.3 Sei p/q eine rationale Zahl und es gelte

∣∣∣∣

p

q− x

∣∣∣∣<

1

2q2

Dann ist p/q ein endlicher Kettenbruch aus der (unendlichen) Kettenbruchdar-stellung von x.

15

3.3.2 Faktorisierung einer Zahl

Sei N = n1 · n2 und ggT(n1, n2) = 1. Betrachte das System

x ≡ 1 modn1

x ≡ 1 modn2

Nach Definition 3.1 gilt somit auch x2 ≡ 1 modN . Dieses System hat dietrivialen Losungen x = ±1, weil N | 0 gilt. Ist dagegen die Losung x = ±b 6= ±1so schreibt man:

b2 ≡ 1 modN⇔ b2 − 1 ≡ 0 modN⇔ (b+ 1)(b− 1) ≡ 0 modN

Wie man sieht, ist N ein Teiler von (b+ 1)(b− 1). Andererseits bekommt manb uber die Anwendung des chinesischen Restsatzes (Satz 3.1) auf das obigeSystem und weiß daher, dass 1 ≤ b ≤ N gilt und somit N i.A. nicht Teiler von(b± 1) ist. Uber ggT(b± 1, N) kommt man nun an einen Faktor von N .

Gegeben sei wieder eine zu faktorisierende Zahl N . Um einen Faktor dieserZahl zu finden, geht man nun wie folgt vor:

1. Wahle zufallig ein y < N

2. Prufe ob ggT(y,N) = 1 ist, denn in diesem Fall gilt nach dem Satz vonEuler yφ(N) ≡ 1 modN und die Existenz einer Ordnung von y in derRestklasse y modN ist gesichert.

3. Sei r diese Ordnung, es gelte also yr ≡ 1 modN . Zu beachten ist, dassman mit x := y

r2 die obige Gleichung erhalt, uber die man an einen Faktor

von N gekommen ist. Nun gibt es allerdings drei Moglichkeiten

(a) r ist ungerade: Prozess funktioniert nicht

(b) r ist gerade und yr2 = ±1: Die triviale Losung hilft auch nicht beim

Finden eines Faktors von N

(c) r ist gerade und yr2 6= ±1: In diesem Fall kann man wie oben beschrie-

ben einen Faktor von N bekommen. Die Wahrscheinlichkeit, dassdieser Fall eintritt (zusammen mit der Anforderung ggT(y,N) = 1)ist

P ≥ 1

2 log(N)(21)

Fur einen Beweis der Wahrscheinlichkeit, siehe [3] Appendix A.3, B.

4. Berechne ggT(yr2 ± 1, N).

3.3.3 Ablauf des Shor Algorithmus

Das Problem bei dem in Abschnitt 3.3.2 beschriebenen Weg, einen Faktor voneiner gegebenen Zahl N zu finden, liegt im Auffinden der Ordnung r. Mit demShor Algorithmus ist dieses Problem allerdings in polynomieller Zeit zu losen.Der Algorithmus sieht wie folgt aus (siehe auch Abbildung 2):

16

Schritt 1: Sei N , die zu faktorisierende Zahl, gegeben. Wahle ein Quell-register (QR) mit K Qubits so, dass Q = 2K ∈ (N2, 2N2). Außerdem istnoch ein Zielregister (ZR) mit mindestens ⌈log2(N)⌉ Qubits notwendig. Wahlezufallig ein y < N . Von jetzt an wird folgende Notation zur Darstellung derZahl a =

∑K−1i=0 ai2

i, ai ∈ {0, 1} uber Qubits verwendet:

|a〉 = |aK−1 . . . a0〉 = |aK−1〉 ⊗ . . .⊗ |a0〉

Im Anfangszustand |ψ1〉 seien alle Qubits der beiden Register im Zustand |0〉:

|ψ1〉 = |0〉︸︷︷︸

QR

⊗ |0〉︸︷︷︸

ZR

Uexp

QFT

diskrete

Mes

sung

......

...

...

UHad

UHad

UHad

|0〉

|0〉

|0〉

|0〉K

|0〉2

|0〉1

Zie

lreg

iste

rQ

uel

lreg

iste

r

...

...

Mes

sung

Abbildung 2: Schaltkreis des Shor Algorithmus’

Schritt 2: Auf das Quellregister wendet man die diskrete Quantenfourier-transformation UFT(Q) an, die wie folgt definiert ist:

UFT(Q)|a〉 =1√Q

Q−1∑

b=0

exp

(

2πiab

Q

)

|b〉 (22)

Fur den Ausgangszustand |ψ1〉 bekommt man also:

|ψ2〉 = UFT(Q)|ψ1〉QR ⊗ |ψ1〉ZR

=1√Q

Q−1∑

b=0

exp

(

2πi0 · bQ

)

︸ ︷︷ ︸

=1

|b〉 ⊗ |0〉 =1√Q

Q−1∑

b=0

|b〉 ⊗ |0〉

Da im Anfanszustand alle Qubits im Zustand |0〉 sind, wirkt die Quantenfou-riertransformation wie eine Anwendung des Hadamard-Gatters auf jedes Qubitdes Registers:

|ψ2〉QR = (UHad|0〉) ⊗ . . .⊗ (UHad|0〉)︸ ︷︷ ︸

K−mal

17

Dieser Schritt stellt eine Superposition der Qubits des Quellregisters dar.Schritt 3: Auf Quell- und Zielregister wendet man nun einen unitaren

Operator Uexp an, welcher fur die jeweilige Zahl b im Quellregister den Wertyb modN berechnet und in das Zielregister

”schreibt“:

|ψ3〉 = Uexp|ψ2〉 =1√Q

Q−1∑

b=0

|b〉 ⊗ |yb modN〉

Wie man an der Formel sieht, wurde hier aufgrund der Superposition der Qubitsim Quellregister in einem Schritt diese Berechnung fur alle Zahlen von 0 bis2K−1 durchgefuhrt.

Schritt 4: Als nachstes misst man das Zielregister. Sei z := yx modN dasErgebnis. x sei die kleinste naturliche Zahl, fur die die Gleichung mit dem Mes-sergebnis z gilt. In diesem Ausdruck kann man nun die Ordnung r anbringen:Da gilt yr ≡ 1 modN , folgt z ≡ yjr+x modN ∀j. Daruber hinaus hat man uberdie Messung auch die Zustande im Quellregister verandert: Das Register kannnur noch Zustande b = x, x+ r, . . . , x+ jmaxr annehmen, wobei jmax = Q−1−x

r.

Das Quellregister befindet sich nach der Messung somit im Zustand

|ψ4〉QR =1√

jmax + 1

jmax∑

j=0

|jr + x〉

Die Ordnung ist also ab jetzt in Form von der Periodizitat der Quellregister-zustande im System

”enthalten“.

Schritt 5: Um nun die Ordnung aus dem System zu erhalten, fuhrt man eineweitere diskrete Quantenfouriertransformation (welche aus SWAP, ControlledPhase und CNOT Gattern aufgebaut werden kann [3],[4]) auf dem Quellregisteraus und nahert jmax + 1 mit jmax + 1 ≈ Q

rda Q von der Ordnung O(N2) ist

wahrend x < N :

|ψ5〉 = UFT(Q)|ψ4〉QR =

√r

Q

Q−1∑

c=0

Q

r−1∑

j=0

exp

(

2πi(jr + x)c

Q

)

|c〉

=

√r

Q

Q−1∑

c=0

exp

(

2πixc

Q

)

Q

r−1∑

j=0

exp

(

2πijrc

Q

)

|c〉 (23)

Als nachstes schaut man sich den Term in eckigen Klammern an. Man unter-scheidet zwei Falle

1. r | Q: Wie man in der komplexen Ebene schnell nachvollzieht (indemman einmal Anfangswert und Endwert der Summe einsetzt), ist der Termmaximal wenn c ein Vielfaches von Q/r ist, also rc modQ = 0 gilt. Inallen anderen Fallen hat man destruktive Interferenz.

2. r ∤ Q: In diesem Fall ist rc modQ = 0 nicht unbedingt moglich (weil i.A.Q/r ∈ R) und konstruktive Interferenz findet man nur, wenn der Termmoglichst klein ist.

18

In (23) kann man also den Term in eckigen Klammern umschreiben, indemman rc durch rc modQ ersetzt, da die anderen Summanden insgesamt nichtbeitragen. Die Wahrscheinlichkeit bei einer Messung den Zustand |c〉 zu messenist nach (23):

P (c) =r

Q2

∣∣∣∣∣∣∣

exp

(

2πixc

Q

)

Q

r−1∑

j=0

exp

(

2πij(rc modQ)

Q

)

∣∣∣∣∣∣∣

2

=r

Q2

∣∣∣∣∣∣∣

Q

r−1∑

j=0

exp

(

2πij(rc modQ)

Q

)

∣∣∣∣∣∣∣

2

(24)

In der komplexen Ebene kann man sich klarmachen, dass fur rc modQ folgendeGrenzen gelten mussen, damit es nicht zu destruktiver Interferenz kommt:

|rc modQ| ≤ r

2⇔

∣∣∣∣

c

Q− c′

r

∣∣∣∣≤ 1

2Q(25)

wobei 0 ≤ c′ ≤ r − 1, c′ = c′(c). Setzt man rc modQ = r2 bewegt man sich in

der Summe in (24) ungefahr auf einem Halbkreis in der komplexen Ebene. Aufdiese Weise kann man erkennen, dass die Summe und damit auch die Wahr-scheinlichkeit P (c) am großten ist, wenn rc modQ minimal wird. Also lasstsich die Wahrscheinlichkeit mit der oberen Grenze rc modQ = r/2 nach untenabschatzen. Setzt man diesen Wert in (24) ein, so erhalt man:

P (c) ≥ r

Q2

∣∣∣∣∣∣∣

Q

r−1∑

j=0

exp

(

πijr

Q

)

∣∣∣∣∣∣∣

2

=r

Q2

∣∣∣∣∣∣∣

Q

r−1∑

j=0

(

exp

(

πir

Q

))j

∣∣∣∣∣∣∣

2

=r

Q

∣∣∣∣∣∣

1 − exp(

iπrQ

Qr

)

1 − exp(

iπrQ

)

∣∣∣∣∣∣

2

=r

Q2

1

sin2(

πr2Q

)

≈ r

Q2

4Q2

π2r2=

4

rπ2(26)

Die Naherung des Sinus lasst sich ohne Weiteres machen, da r < N und Q ≥ N2

ist. Nachdem man jetzt weiß wie die Wahrscheinlichkeit den Wert |c〉 zu messenvon r abhangt, welches fur die Laufzeitabschatzung wichtig ist, geht es nundarum, wie man r aus den Messwerten bestimmt: Dazu schaut man sich denrechten Ausdruck in (25) an, bei dem man alle Werte bis auf c′ und r kennt. Mankann zeigen, dass aufgrund der Wahl Q ≥ N2 und dem Wissen, dass r < N nachdem Satz von Euler, es genau einen Bruch c′/r gibt, der die Gleichung erfullt.Gleichzeitig gilt nach Satz 3.3, dass sich c′/r uber den Kettenbruch von c/Qbestimmen lasst. Gilt außerdem noch ggT(c′, r) = 1, so hat man r bestimmt.

3.3.4 Laufzeitanalyse

Bisher wurde die Wahrscheinlichkeit angegeben, mit der irgendein Wert c ge-messen wird. Nun kommt allerdings die Anforderung hinzu, dass der Wert c

19

dazu fuhren soll, dass ggT (c′, r) = 1 gilt. Bei gegebenen r gibt es φ(r) Zah-len c′ die teilerfremd zu r sind, sodass man fur die Wahrscheinlichkeit mit derAnforderung an c′ Folgendes bekommt:

P (c, ggT (c′, r) = 1) = P (c) · φ(r) ≥ 4φ(r)

rπ2

Mit dem Primzahlsatz kann man fur große r den Ausdruck φ(r)/r abschatzen:

φ(r)

r>

1

log(r)

r<N>

1

log(N),

sodass letztendlich die Wahrscheinlichkeit die Ordnung r berechnen zu konnen

P (c, ggT (c′, r) = 1) =4

π2 log(N)(27)

betragt. Die gemachte Abschatzung fur φ(r)/r ist relativ großzugig, es kanngezeigt werden (in Buchern uber Zahlentheorie), dass die untere Grenze sogargroßer als die hier angegebene ist.

Nach (27) braucht man eine Anzahl von Durchlaufen in O(log(N)) um mithoher Wahrscheinlichkeit ein r berechnen zu konnen. Die Laufzeiten der anderenGatter betragen (ohne Beweis):

• Hadamard-Gatter: O(log(N))

• Berechnung von yb modN : O(log2(N) log(log(N)) log(log(log(N))))

• Quantenfouriertransformation: O(log2(N))

• Berechnung des ggT mit Euklidischem Algorithmus: O(log3(N))

Insgesamt hat man also eine Laufzeit in O(log3(N)).

3.4 Der Grover Algorithmus

Bei dem Grover Algorithmus handelt es sich um einen Quantenalgorithmus, derein Element in einer ungeordneten Liste von N Elementen sucht. KlassischeAlgorithmen zur Losung dieses Problems haben eine Laufzeit in der OrdnungO(N). Auch hier lasst sich die Laufzeit wieder reduzieren: Die Laufzeit desQuantensuchalgorithmus’ ist nur noch in O(

√N).

Sei nun N die Anzahl der Elemente der ungeordneten Liste, welche mandurchnummeriert, und m die Nummer des gesuchten Elementes. Fur den Algo-rithmus braucht man ein Quantenregister mit n Qubits, so dass N = 2n gilt,als Quellregister und ein Qubit als Zielregister. Außerdem definiert man eineFunktion mit der gepruft wird, ob ein Qubit das gesuchte Element ist, odernicht:

fm(x) =

{0 fur x 6= m1 fur x = m

20

Mes

sung

|1〉

Ufm

D

UHad

UHad

UHad

UHad UHad

UHad

UHad UHad

UHad

UHad|0〉1

|0〉2

|0〉n

Uf0

.

.....

.

..

lmin mal

Abbildung 3: Schaltkreis des Grover-Algorithmus’

Im Quantencomputer wird die-se Funktion wieder durch einenunitaren Operator Ufm

umge-setzt, der auf einen Ket im Hil-bertraum Hn+1 wirkt:

Ufm|x〉|y〉 = |x〉|y⊕fm(x)〉 (28)

Hierbei bedeutet ⊕ Addition mo-dulo 2.

Schritt 1: Man prapariertdie Qubits des Quellregisters imZustand |0〉 und das Zielqubit imZustand |1〉. Der Gesamtzustandsieht somit wie folgt aus:

|ψ1〉 = |0〉|1〉Schritt 2: Auf beide Register wird nun qubitweise das Hadamard-Gatter

angewandt. Wie auch schon beim Shor Algorithmus gesehen, bedeutet das furdas Quellregister im Zustand |0〉, eine Aufsummierung aller vom Register (klas-sisch gesehen) darstellbaren Zahlen mit entsprechender Normierung:

|ψ2〉 = (UHad|0〉) ⊗ . . . ⊗ (UHad|0〉) ⊗ (UHad|1〉)

= 2−n+1

2

2n−1∑

x=0

[|x〉 ⊗ (|0〉 − |1〉)]

Schritt 3: Auf die nun superponierten Zustande wendet man den OperatorUfm

an:

|ψ3〉 = Ufm

(

2−n+1

2

2n−1∑

x=0

|x〉 ⊗ (|0〉 − |1〉))

= 2−n+1

2

2n−1∑

x=0

[Ufm|x〉|0〉 − Ufm

|x〉|1〉]

Ausgehend von der letzten Gleichung betrachtet man nun zwei Falle:

1. x = m: In diesem Fall gilt mit der Definition von dem Operator:

Ufm|x〉|0〉 − Ufm

|x〉|1〉 = −|x〉 ⊗ (|0〉 − |1〉)

2. x 6= m: Hier bekommt man:

Ufm|x〉|0〉 − Ufm

|x〉|1〉 = |x〉 ⊗ (|0〉 − |1〉)

Der Zustand |ψ3〉 lasst sich also schreiben als

|ψ3〉 = 2−n−1

2

2n−1∑

x=0

(−1)fm(x)|x〉 ⊗ (|0〉 − |1〉)

21

|X〉

· · · · · ·1

-1

〈c〉1

-1

|0〉 |1〉 |m〉 |X〉 |0〉 |1〉|m〉

1

-1

|0〉 |1〉 |m〉 |X〉3 4

· · · · · · · · · · · ·

Abbildung 4: Wirkung des Grover Algorithmus’ auf die Amplituden. Uber denPfeilen steht der jeweilige Schritt im Algorithmus. Außerdem ist X = 2n − 1.

Wie man sieht, wurde durch die Anwendung des Operators das Vorzeichen derAmplitude vom gesuchten Zustand umgedreht. Siehe auch Abbildung 4.

Schritt 4: Als nachstes wendet man den von Grover eingefuhrten D Ope-rator auf die Register an, der die sogenannte

”inversion about the average“

durchfuhrt. Der Operator ist wie folgt definiert:

D := −(U⊗nHad ⊗ 1)Uf0

(U⊗nHad ⊗ 1)

Hierbei ist 1 der Identitatsoperator, U⊗nHad bedeutet qubitweise Anwendung des

Hadamard-Gatters auf das Quellregister und Uf0ist der in (28) definierte Ope-

rator fur m = 0. Diese Sequenz von Operatoren fuhrt zu folgender Abbildung:

D

(2n−1∑

x=0

cx|x〉)

=2n−1∑

x=0

(−cx + 2〈c〉)|x〉

mit der mittleren Amplitude 〈c〉. Der Operator wechselt also bei jedem Qubitdas Vorzeichen der Amplitude und addiert das Doppelte des Mittelwertes derAmplituden hinzu. In unserem Fall, dem Zustand |ψ3〉, sorgt das umgekehrteVorzeichen von |m〉 dafur, dass der Mittelwert der Amplituden kleiner ist alsder bisherige Wert. Durch Anwendung von D werden die Amplituden der ande-ren Elemente folglich kleiner, wahrend die Amplitude von |m〉 das Vorzeichenwechselt und zudem noch um 2〈c〉 großer wird. Das Ganze ist in Abbildung 4veranschaulicht.

Mit dem letzten Schritt hat man die Amplitude von dem gesuchten Elementvergroßert, sodass die Wahrscheinlichkeit, dieses Element zu messen, erhohtwird. Durch l Wiederholungen der Schritte 3 und 4 wird nun diese Wahrschein-lichkeit auf einen gewunschten Wert gebracht. Man kann zeigen (siehe dazu [4]),dass eine Anzahl

lmin ∝ k ·√N, k = const.

von Wiederholungen, zu einer sehr hohen Wahrscheinlichkeit fuhren, den ge-suchten Zustand zu messen, bzw. das gesuchte Element zu finden.

3.5 Dekoharenz und Stabilitat von Quantenalgorithmen

Bei den betrachteten Algorithmen wurde noch nicht auf die Probleme einge-gangen, welche sich bei der Realisierung von Quantencomputern durch Wech-

22

selwirkungen mit der Umgebung ergeben. Nimmt die Wahrscheinlichkeit P (N),dass der Algorithmus korrekt durchlaufen wird, aufgrund von Fehlern, die ausdiesen Wechselwirkungen hervorgehen, in der folgenden Form ab, so gilt dasSystem nicht mehr als effizient:

P (N) = αe−β log(N), α, β > 0

Wie bereits erwahnt, ziehen Quantenalgorithmen ihre Vorteile aus der Super-position von Zustanden und/oder aus der Verschrankung dieser. Schreibt manden Zustand eines Quantenregisters der Lange N als Dichteoperator

ρ(t) =2N−1∑

x=0

2N−1∑

y=0

ρxy(t)|x〉〈y|,

so stellen diese Zustande die Koharenzen der Dichtematrix dar. Bei einem Sys-tem, welches thermodynamischen Wechselwirkungen unterliegt, wird sich derDichteoperator mit der Zeit allerdings verandern, bis er die folgende Form er-reicht hat (wenn man davon ausgeht, dass die Registerzustande Energieeigen-vektoren sind):

ρTGGW =

2N−1∑

x=0

e− Ex

kBT

ZN|x〉〈x|

In diesem Zustand sind nur noch die Besetzungen des Dichteoperators verschie-den von Null, weshalb diese Storung des Systems als Dekoharenz bezeichnetwird.

Es gibt allgemeine Modelle zur Dekoharenz, die zu ahnlichen Ergebnissenfuhren, siehe dazu [3]. Wahrend diese Fehlerquellen in klassischen Systemendurch Methoden zur Fehlerkorrektur ausgeschaltet werden konnen, sind solcheVerfahren fur Quantensysteme noch nicht bekannt.

4 Experimentelle Realisierungsmoglichkeiten

Um auch in Zukunft immer leistungsfahigere Computer bauen und die in denvorherigen Abschnitten theoretisch aufgezeigten Vorteile eines Quantencompu-ters nutzen zu konnen, versucht man momentan mit verschiedenen AnsatzenQuantencomputer experimentell zu realisieren. Die Realisierung eines Quan-tencomputers stellt sich dabei als gar nicht so einfach heraus, dennoch ist esinzwischen gelungen, schon einfache Berechnungen von einem Quantensystemdurchfuhren zu lassen.

4.1 NMR Quantencomputer

Bei dieser Methode nimmt man großere Molekule und nutzt den Kernspin voneinzelnen Atomen zur Speicherung von Information. Der Vorteil von diesemSystem ist, dass der Kernspin in den großen Molekulen von der Umgebungabgeschirmt ist und dementsprechend wenigen Storungen unterliegt. Zustandedes Systems werden mit NMR Methoden gemessen. In [5] wird sogar schonvon einer Implementierung des Grover Algorithmus’ bei einem aus zwei Qubitsbestehenden System berichtet.

23

4.2 Ansatze in der Festkorperphysik

Auf dem Gebiet der Festkorperphysik wird versucht, Quantenregister und Quan-tengatter anhand von Josephson-Kontakten und Quantenpunkten zu realisie-ren. Als Beispiel soll hier das CNOT Gatter dienen, welches aus zwei Quan-tenpunkten aufgebaut ist; fur weitere Informationen zu Josephson-Kontakten,siehe [6].

4.2.1 CNOT Gatter aus Quantenpunkten

Energie

ω2 + ∆ω

ω1

ω2

|1〉|1〉|1〉|0〉

|0〉|1〉|0〉|1〉

ω2 − ∆ω

Eext = 0 Eext > 0

Abbildung 5: Energiestu-fen der Quantenpunkte, mitund ohne externem E-Feld

Zur Realisierung eines CNOT Gatters benotigtman zwei Ein-Elektron Quantenpunkte, welche ineinem Halbleiter eingebettet sind. Der Grundzu-stand eines Quantenpunktes werde mit |0〉, derangeregte Zustand mit |1〉 bezeichnet. Der ersteQuantenpunkt, welcher als Kontrollbit dient, ha-be die Anregungsfrequenz ω1, der zweite Quan-tenpunkt, das Ziel-Qubit habe die Anregungsfre-quenz ω2. Aufgrund des Stark-Effektes und vonDipol-Dipol Wechselwirkungen sind die Energie-zustande wie in Abb. 5 zu sehen verteilt. Of-fensichtlich kann der zweite Quantenpunkt ubereinen π-Puls der Frequenz ω2 + ∆ω nur dann an-geregt werden, wenn der erste Quantenpunkt imangeregten Zustand |1〉 ist.

Probleme dieses Systems sind die Herstellung der benotigten Laserpulse undeine sehr kurze Dekoharenzzeit td ≈ 10−8s. In dieser Zeit lassen sich bei denheutigen Pulsintervallen der Laser maximal 10 Schritte durchfuhren.

4.3 Ionen-Fallen Quantencomputer

Ein System mit langeren Koharenzzeiten als bei dem obigen Beispiel ist dieIonenfalle: In einer Paulfalle werden Ionen gefangen, zu einer linearen Ketteaufgereiht und uber Laserkuhlung auf eine Temperatur gebracht, bei der kaumnoch Schwingungen vorhanden sind. Die Informationen werden in metastabi-len Energiezustanden der Ionen und in Phononzustanden der Ionenkette ge-speichert. Uber Laserpulse werden die Zustande der Ionen oder der Ionenkettegeandert.

Mit geeigneten Abfolgen von Laserpulsen auf verschiedene Ionen lassen sichso Quantengatter realisieren. Z.B. basiert das CNOT Gatter darauf, dass sichein Phonon durch einen gewissen Laserpuls auf ein Ion, das Kontrollbit, nurdann anregen lasst, wenn das Ion selbst im angeregten Zustand ist. Davonabhangend kann dann ein anderes Ion nur den Zustand wechseln, wenn einPhonon im System vorhanden ist.

Die Messung von Zustanden basiert auf Beobachtung von Quantensprungen:So zeigen z.B. angeregte Ionen bei einem Laserpuls einer gewissen WellenlangeFluoreszenz, wahrend diese bei Ionen im Grundzustand nicht zu beobachtenware.

24

Mit dieser Art von Quantencomputern wurde bereits der Deutsch-JozsaAlgorithmus umgesetzt [7].

Literatur

[1] A. Hodges. Alan Turing: The Enigma. Vintage Random House, London,1992.

[2] Alan Turing. Proc. London Math. Soc., 42,43, 1936.

[3] Artur Ekert and Richard Jozsa. Quantum computation and Shor’s factoringalgorithm. Reviews of Modern Physics, 68(3):733–753, 1996.

[4] A. Galindo and M.A. Martın-Delgado. Information and computation: Clas-sical and quantum aspects. Reviews of Modern Physics, 74(2):347–423, 2002.

[5] Jonathan A. Jones, Michele Mosca, and Rasmus H. Hanses. Implementationof a quantum search algorithm on a quantum computer. Nature, 393:344–346, 1998.

[6] Gerd Schon and Alexander Shnirman. Qubits (fast) zum Anfassen. PhysikJournal, (11):51–56, 2005.

[7] Rainer Blatt. Ionen in Reih und Glied. Physik Journal, (11):37–42, 2005.

[8] www.wikipedia.org.

25