Dekohärenz und die Entstehung klassischer Eigenschaften aus der Quantenmechanik G. Mahler Spezialvorlesung SS 2006 27. 4. 2006 Einführung und Übersicht Warum und in welchem Sinn ist Kohärenz »untypisch«? 04. 5. 2006 Zur Begründung der Thermostatistik aus der Quantenmechanik 11. 5. 2006 Dekohärenz: Dynamik offener Systeme 18. 5. 2006 Coarse graining und der Zeitpfeil 1. 6. 2006 Quantenthermodynamische Maschinen 22. 6. 2006 Nichtgleichgewicht: Zum Problem der Wärmeleitung 29. 6. 2006 Fluktuationstheoreme 6. 7. 2006 Messprozesse und stochastische Entfaltung 13. 7. 2006 Nanomechanik 20. 7. 2006 Physik und Information: Maxwells Dämon u. a. 27. 7. 2006 Quantencomputing versus klassische Rechner Literatur D. Giulini et. al: J. Gemmer et. al: H. P. Breuer et. al: Decoherence and the appearence of a classical world in quantum theory, Springer Quantum Thermodynamics, Springer The theory of open quantum systems, Oxford Quantencomputing versus klassische Rechner Harry Schmidt, 27. Juli 2006 1 Anwendungen für Quantencomputer 1.1 Der Deutsch-Josza-Algorithmus Es gibt nur vier binäre Funktionen einer einbittigen Variablen, siehe Tabelle 1. Eine solche Funktion wird constant genannt, wenn beide Ausgaben gleich sind, ansonsten heißt sie balanced. Um bei einer gegebenen, aber unbekannten Funktion herauszufinden, ob sie constant oder balanced ist, muss ein klassischer Computer die Funktion zwei Mal aufrufen. Ein Quantencomputer mit dem Deutsch-Algorithmus benötigt hingegen nur einen Funktionsaufruf. Eine Verallgemeinerung dessen stellt eine binäre Funktion einer Eingabevariaben mit n Bits dar, von der man nur weiß, dass sie entweder constant oder balanced ist. Ein klassischer Algorithmus braucht im schlechtesten Fall 2n /2+1 Aufrufe der Funktion, während ein Quantencomputer mit dem Deutsch-JoszaAlgorithmus nur genau einen Aufruf benötigt. 1.2 Der Grover-Algorithmus Der Grover-Algorithmus ist eine Methode, um Einträge in unsortierten Datenbanken effizient zu suchen. Ein klassischer Algorithmus benötigt im Mittel n/2 Abfragen der Datenbank um einen Eintrag zu finden (bei n√Einträgen). Der Quanten-Suchalgorithmus nach Grover braucht dafür nur O( n) Schritte. Der Geschwindigkeitsvorteil ist hier lediglich polynomial. Tabelle 1: Binäre Funktionen einer einbittigen Variablen. f (0) f (1) f1 f2 f3 f4 0 1 0 1 0 0 1 1 1 constant balanced balanced constant 1.3 Der Shor-Algorithmus Der Shor-Algorithmus verwendet die Fouriertransformation, um Zahlen in ihre Primfaktoren zu zerlegen. Die Zahl der Operationen zur Faktorisierung einer Zahl n mit dem besten bekannten klassischen Algorithmus steigt exponentiell mit n an. Ein Quantencomputer hingegen benötigt nur O(n2 ) Schritte, was einen exponentiellen Geschwindigkeitsvorteil bedeutet. 1.4 Simulation von Quantensystemen Bei der Simulation quantenmechanischer Systeme auf einem klassischen Rechner steigt allein schon der Speicherbedarf für alle Amplituden exponentiell mit der Teilchenzahl an. Der Zustand von n Zweiniveauatomen wird durch 2n Amplituden beschrieben. Ein Quantencomputer dagegen bräuchte nur n Qubits um dieses System zu modellieren. Allerdings geht bei einer Messung der größte Teil dieser Information verloren, da man nur n Bits an Information erhält. Dieses Problem muss noch gelöst werden, bevor Quantencomputer wichtige Werkzeuge bei der Quantensimulation werden können. 2 Komplexitätsklassen Algorithmisch lösbare Probleme werden danach klassifiziert, wie der Algorithmus zu ihrer Lösung mit der Größe des Problems skaliert (beispielsweise mit der Größe der Eingabe). Die klassische Suche in unsortierten Datenbanken skaliert beispielsweise polynomial (linear) mit der Größe der Datenbank. Diese Einführung wird sich auf Probleme beschränken, bei denen der Speicherbedarf höchstens polynomial mit der Eingabegröße wächst. Die Komplexitätsklasse dieser Probleme heißt PSPACE. Der Speicherbedarf von PSPACEProblemen ist »gering«. Im Folgenden werden einige ausgewählte Untermengen von PSPACE vorgestellt. Die Klasse der Probleme, bei denen die Zeit zur Lösung höchstens polynomial mit der Problemgröße wächst, heißt P wie polynomial time. Probleme dieser Klasse können von einem klassischen Rechner effizient gelöst werden. Die Klasse der Probleme, bei denen man eine gegebene mögliche Lösung effizient (d. h. in Polynomialzeit) überprüfen kann, heißt NP wie nondeterministic polynomial time. Mit einem nichtdeterministischen Algorithmus kann man mögliche Lösungen zufällig raten und überprüfen. Offensichtlich ist P eine Untermenge von NP. Es ist allerdings noch nicht klar, ob NP tatsächlich 2 Probleme enthält, die nicht auch in P sind. Eine der wichtigsten Fragen der modernen Mathematik bzw. der theoretischen Informatik ist, ob ? P 6= NP. Es gibt eine wichtige Untermenge von Problemen in NP, auf die alle anderen Probleme in NP effizient (also über Polynomialzeitalgorithmen) abgebildet werden können. Die Probleme in dieser Untermenge heißen NP-vollständig. Wenn P 6= NP sein sollte, dann können NP-vollständige Probleme nicht effizient auf klassischen Rechnern gelöst werden. Die Klasse der Probleme, die auf einem Quantencomputer effizient (d. h. in Polynomialzeit) gelöst werden können, heißt BQP (bounded error quantum polynomial, auf die Bedeutung von bounded error soll hier nicht eingegangen werden). PSPACE NP BQP? P PSfrag replacements Abbildung 1: Vermuteter Zusammenhang der Komplexitätsklassen P, NP, BQP und PSPACE. Quantencomputer können sicher alle Probleme in P effizient lösen, weiterhin ist bekannt, dass sie keine Probleme außerhalb von PSPACE effizient lösen können. Wie genau BQP zwischen P und PSPACE passt, ist noch nicht klar, zum Teil schon deshalb, weil noch nicht erwiesen ist, ob PSPACE tatsächlich größer ist als P [1]. 3 Tabelle 2: Einige physikalische Realisierungen von Qubits [2]. Quantensystem physikalische Eigenschaft Photon Atomkern Elektron Zweiniveausystem Josephson-Kontakt Supraleitender Ring Polarisierung Spin Spin Anregungszustand Elektrische Ladung (Zahl der Cooperpaare) Magnetischer Fluss (hoch/runter) 3 Grundlegende Konzepte des Quantencomputers 3.1 Qubits Klassische Computer speichern in binären Einheiten (Bits), die die logischen Werte 0 und 1 annehmen können. In Analogie dazu speichern Quantencomputer Information in Quantenbits, kurz Qubits. Der wesentliche Unterschied zu klassischen Bits ist, dass Qubits nicht nur 0 und 1, sondern beliebige Überlagerungen dieser Zustände speichern können. In Dirac-Notation lautet der allgemeine Zustand eines Qubits also |ψi = c0 |0i + c1 |1i . |0i und |1i müssen orthogonale und normierte Zustände sein. Aus der Normierbarkeit von |ψi folgt |c0 |2 + |c1 |2 = 1. Eine experimentelle Realisierung eines Qubits besteht aus einem Quantensystem mit zwei relevanten Niveaus. Tabelle 2 gibt einige Beispiele. 3.2 Quantenregister Mehrere Qubits zusammen bilden ein Quantenregister. Der Zustand eines Registers von zwei Qubits lautet allgemein |ψi = c00 |00i + c01 |01i + c10 |10i + c11 |11i . (1) Die hier verwendete Produktbasis wird auch computational basis genannt. Zur Beschreibung eines n-Qubit-Registers werden 2n komplexe Amplituden cijk... benötigt. Da die Information in diesen Amplituden gespeichert wird, wächst sie exponentiell mit der Größe des Quantenregisters. Allerdings ist die Information versteckt, und ein großer Teil davon geht bei einer Messung verloren. Solange der Quantencomputer isoliert arbeitet, bleibt die komplette Information erhalten. 4 .. . q10 q20 .. . qn q30 .. . .. . Messung q1 q2 q3 Quantennetzwerk Zustandspräparation PSfrag replacements qn0 Abbildung 2: Schematische Arbeitsweise eines Quantencomputers. 3.3 Grundlegende Arbeitsweise Abbildung 2 zeigt ein schematisches Blockdiagramm zur Arbeitsweise eines Quantencomputers. Das Quantennetzwerk besteht aus einer Reihe von unitären Transformationen (Gattern). Der Quantencomputer arbeitet daher reversibel (klassische Rechner vernichten meist Information während der Arbeit). Jede beliebige unitäre Transformation kann aus Ein- und Zweiqubit-Gattern zusammengesetzt werden. Einen Satz aus Gattern, aus dem jedes andere Gatter zusammengesetzt werden kann, nennt man einen universalen Satz. 3.4 Ein universaler Satz von Gattern Alle Transformationen können aus mehreren Einqubit- und einem ZweiqubitGatter zusammengesetzt werden. Ein möglicher universaler Satz soll hier vorgestellt werden. Einqubit-Gatter Alle Gatter werden in der Basis {|0i , |1i} dargestellt. • NOT: X̂ = 0 1 1 0 = σ̂x Das NOT-Gatter invertiert |0i und |1i. • Phase: Ûϕ = 1 0 0 eiϕ Ein spezielles Phasengatter ist das Z Gatter mit ϕ = π. 5 • Hadamard: 1 1 1 Ĥ = √ 2 1 −1 Das Hadamard-Gatter erzeugt Überlagerungen aus den reinen Zuständen |0i und |1i. Zweiqubit-Gatter Es wird die in (1) vorgestellte Produktbasis verwendet. • CNOT: ÛCNOT 1 0 = 0 0 0 1 0 0 0 0 0 1 0 0 1 0 Bei der Anwendung von CNOT wird das zweite Qubit genau dann invertiert, wenn das erste Qubit im Zustand |1i ist. CNOT heißt controlled not. PSfrag replacements 4 Der Deutsch-Algorithmus Als Beispiel für einen Quantenalgorithmus wird hier der Deutsch-Algorithmus vorgestellt, siehe auch Abschnitt 1.1. Abbildung 3 zeigt das zugehörige Quantennetzwerk. Als Anfangszustand wird |ψ0 i = |0, 1i Ausgabe Eingabe q1 = |0i Ĥ x x Ĥ Ûf q2 = |1i Ĥ ↑ |ψ0 i y y ⊕ f (x) ↑ |ψ1 i ↑ |ψ2 i ↑ |ψ3 i Abbildung 3: Quantennetzwerk für den Deutsch-Algorithmus. 6 verwendet. Nach Anwendung der beiden Hadamard-Gatter erhält man für die transformierten Qubits x und y 1 x = Ĥ · q1 = √ (|0i + |1i), 2 1 y = Ĥ · q2 = √ (|0i − |1i) 2 und somit für den Gesamtzustand 1 1 |ψ1 i = (|0i + |1i) ⊗ (|0i − |1i) = (|0, 0i − |0, 1i + |1, 0i − |1, 1i). 2 2 Der unitäre Operator Ûf belässt das erste Qubit unverändert. Auf das zweite Qubit wird die Operation y ⊕ f (x) ausgeführt, wobei ⊕ die Addition modulo zwei bedeutet (XOR). Nach der Anwendung von Ûf erhält man 1 |ψ2 i = (|0, f (0)i − |0, 1 ⊕ f (0)i + |1, f (1)i − |1, 1 ⊕ f (1)i . 2 Für f (x) constant ist f (0) = f (1) und somit 1 |ψ2const i = (|0, f (0)i − |1, 1 ⊕ f (0)i + |1, f (0)i − |1, 1 ⊕ f (0)i) = 2 1 = (|0i + |1i) ⊗ (|f (0)i − |1 ⊕ f (0)i). 2 Der Ausgabezustand nach dem abschließenden Hadamard-Gatter ist also 1 |ψ3const i = |0i ⊗ √ (|f (0)i − |1 ⊕ f (0)i). 2 Eine Messung am ersten Qubit ergibt dann sicher den Wert 0. Für f (x) balanced ist f (1) = 1 ⊕ f (0) und somit 1 |ψ2bal i = (|0, f (0)i − |0, 1 ⊕ f (0)i + |1, 1 ⊕ f (0)i − |1, f (0)i) = 2 1 = (|0i − |1i) ⊗ (|f (0)i − |1 ⊕ f (0)i). 2 Hier ist der Ausgabezustand nun 1 |ψ2bal i = |1i ⊗ √ (|f (0)i − |1 ⊕ f (0)i). 2 In diesem Fall ergibt eine Messung am ersten Qubit sicher den Wert 1. Hier kann also allein die abschließende Messung des ersten Qubits entscheiden, ob die Funktion constant oder balanced ist. 7 5 Woher kommt die Rechenleistung Klassisch kann ein n-Qubit-Register genau eine von 2n Zahlen speichern. Ein Quantenregister kann dagegen eine beliebige Überlagerung aller dieser Zahlen speichern. Auch klassisch kann man Register herstellen, die Überlagerungen speichern können: Stellt man die Zahl N durch 100 . . . 0} | {z N dar, dann sind Überlagerungen möglich. Dafür benötigt man jedoch ein exponentiell größeres Register. Klassisch sind so Überlagerungen der Zustände von nur einem (linearen) System möglich. In der Quantenmechanik können die Zustände verschiedener Teilchen überlagert werden, man erhält Verschränkung. Zur Simulation eines Quantencomputers auf einem klassischen Rechner müssen im Allgemeinen exponentiell viele Rechenschritte ausgeführt werden, wenn der Zustand des Quantencomputers verschränkt ist. Sei Û eine Transformation auf nur das erste Qubit eines Registers: |αi = X X Û ai1 ...in |i1 i · · · |in i −→ a0i1 ...in |i1 i · · · |in i , X Ui1 ,j1 aj1 ,i2 ...in . a0i1 ...in = j1 Hingegen kann die Transformation klassisch effizient simuliert werden, wenn Produktzustände durch sie wieder in Produktzustände überführt werden. Simulierbarkeit bei beschränkter Verschränkung Wenn bei jedem Arbeitsschritt eines Quantencomputers Blöcke von höchstens p Teilchen verschränkt sind (die Zusammensetzung dieser Blöcke darf sich bei jedem Arbeitsschritt ändern, p muss unabhängig von der Zahl der Qubits n sein), dann kann der Quantencomputer klassisch simuliert werden [3]. Damit ein Quantencomputer einen Geschwindigkeitsvorteil gegenüber einem klassischen Rechner bietet, muss der verwendete Algorithmus also unbeschränkte Verschränkung im Register erzeugen. Dies ist beispielsweise für den Shor-Algorithmus der Fall. Diese Erkenntnis, die hier ohne Beweise angeführt sein soll, zeigt, dass Verschränkung eine wichtige Ressource für den Quantencomputer ist. Es muss jedoch hinzugefügt werden, dass dies nur für Quantencomputer gilt, die ausschließlich mit reinen Zuständen arbeiten. 8 6 Quantencomputing mit gemischten Zuständen Die Präparation des Anfangszustands ist nie perfekt. Tatsächlich liegt kein reiner Zustand vor, sondern ein gemischter.1 Dass auch mit solchen Zuständen gearbeitet werden kann, soll hier gezeigt werden. 6.1 Werner-Zustände Werner-Zustände sind gemischte Zustände der Form 1 ρ̂ = (1 − ε) 1̂ + ε |ψihψ| , d (2) d ist dabei die Dimension des Hilbertraums (bei n Qubits ist d = 2n ), |ψi ein reiner Zustand und 0 ≤ ε ≤ 1 ein Parameter, der angibt, wie gemischt ρ̂ ist. Ein Zweiniveausystem bei hohen Temperaturen ist automatisch in guter Näherung in einem Werner-Zustand: e−βE1 β∆E 1 −βE0 e |0ih0| + e−βE1 |1ih1| = e |0ih0| + |1ih1| Z Z −βE1 e ≈ (1 + β∆E) |0ih0| + |1ih1| Z = const |0ih0| + |1ih1| +β∆E |1ih1| . | {z } ρ̂th = 1̂ 6.2 Quantencomputing mit Werner-Zuständen Wende eine beliebige unitäre Transformation Û auf ρ̂ aus (2) aus: ρ̂ −→ ρ̂0 = Û ρ̂Û † = (1 − ε) 1 1̂ + εÛ |ψihψ| Û † . 2n Es können also alle Gatter wie von reinen Zuständen gewohnt ausgeführt werden. Das Ergebnis ist allerdings ein gemischter Zustand, daher sind i. d. R. mehrere Durchläufe des Algorithmus mit anschließender Messung nötig, um das gewünschte Ergebnis zu erhalten. 1 Dekohärenz kann dazu führen, dass der Zustand während der Arbeit des Quantencomputers noch weiter gemischt wird. Das soll hier nicht betrachtet werden. 9 6.3 Separable Zustände Separable Zustände sind eine Verallgemeinerung der Produktzustände. Sie sind nicht verschränkt, können allerdings klassische Korrelationen zwischen den Teilsystemen beinhalten. Ein Zustand zweier Teilchen (Hilbertraum H = H1 ⊗H2 ) heißt separabel, wenn er in der Form ρ̂sep = k X i=1 (1) (2) pi ρ̂1 ⊗ ρ̂1 mit beliebigem k schreibbar ist. Entsprechend heißt ein Zustand vieler Teilchen N (Hilbertraum H = ν Hν ) separabel, wenn er als X O (ν) pi ρ̂sep = ρ̂i ν i geschrieben werden kann. Der Werner-Zustand (2) von n Zweiniveausystems (d = 2n ) ist unabhängig von |ψi sicher separabel, wenn ε< 1 , 4n also insbesondere auch bei verschränktem |ψi. Hier scheint Verschränkung also keine notwendige Ressource für Quantencomputing mehr zu sein. 6.4 Quantencomputer mit separablen Zuständen klassisch effizient simulierbar? Ein separabler Zustand ist immer darstellbar als Gemisch von Produktzuständen |φi i: X ρ̂sep = pi |φi ihφi | . i Quantencomputing mit Produktzuständen ist klassisch effizient simulierbar (siehe Abschnitt 5). Nach der Anwendung eines Gatters Û mit |ηi i = Û |φi i erhält man einen neuen Gesamtzustand, X ρ̂0 = pi |ηi ihηi | . i Für ε klein genug ist nun auch ρ̂0 sicher separabel. Die Zustände |ηi i sind dies allerdings nicht mehr notwendigerweise. Um klassisch effizient simulieren zu 10 können, müssen zunächst wieder Produktzustände gefunden werden, aus denen ρ̂0 aufgebaut werden kann. Das ist im Allgemeinen nicht effizient möglich. Es scheint also so, als ob Verschränkung nicht zwangsläufig nötig ist für einen exponentiellen Geschwindigskeitsvorteil beim Quantencomputer. Der Beweis dafür steht jedoch noch aus. Literatur [1] Nielsen, Chuang: Quantum Computation and Quantum Information (Cambridge University Press, 2000) [2] Fox: Quantum Optics (Oxford University Press, 2006) [3] Jozsa, Linden, e-print: quant-ph/0201143, 2002 11