Quantencomputer mit Quantenpunkten Spintronik-Seminar Wintersemester 2008/2009 Skript zum Vortrag 12. Februar 2009 Mathias Hayn Inhaltsverzeichnis 1 Quantenpunkte 1.1 Was sind Quantenpunkte . . . . . . . . . . . . . . . . . . . . 1.2 Eigenschaften und Anwendungen . . . . . . . . . . . . . . . . 1.3 Herstellungsverfahren . . . . . . . . . . . . . . . . . . . . . . 2 Quantencomputer 2.1 Einführung . . . . . . . . . . . . . . . . 2.2 Quantengatter . . . . . . . . . . . . . . 2.3 Quantenalgorithmen . . . . . . . . . . . 2.4 Implementierungen . . . . . . . . . . . . 2.5 Quantencomputer mit Quantenpunkten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 2 3 5 5 8 10 13 16 3 Ausblick 18 4 Literaturempfehlung 19 1 1.1 Quantenpunkte Was sind Quantenpunkte Beschränkt man die Bewegung der Ladungsträger in einem Festkörper in einer Raumrichtung, so führt dies zu deutlichen Veränderungen der elektronischen Eigenschaften des Systems. Eine Einschränkung in einer Raumdimension hat ein zweidimensionales System zur Folge, was als Quantenfilm bezeichnet wird. Entsprechend führt eine Einschränkung in zwei Dimensionen zu einem eindimensionalen System: dem Quantendraht. Denkt man noch einen Schritt weiter, so kann man die Bewegungsfreiheit der Elektronen in allen drei Raumdimensionen einschränken. Man hat es dann mit einem nulldimensionalen quantenmechanischen System zu tun, einem sogenannten Quantenpunkt (siehe Abbildung 1). In der Praxis ist ein Quantenpunkt aber kein Punkt im mathematischen Sinne, sondern hat Abmessungen von einigen 10 - 100 nm. 1 3D 2D 1D 0D Abbildung 1: Veranschaulichung der dimensionsreduzierten Festkörpersysteme. Von links: Volumenfestkörper, Quantenfilm, Quantendraht, Quantenpunkt. 1.2 Eigenschaften und Anwendungen Was unterscheidet Quantenpunkte von normalen (Volumen-) Festkörpern? Erweitern wir die Fragestellung auf alle drei niederdimensionalen Festkörpersysteme Quantenpunkt, Quantendraht und Quantenfilm. Es gibt eine Größe in der Festkörperphysik, welche eine große Bedeutung für die EigenschafP ten des Festkörpers hat: die Zustandsdichte ρ(E) = n,k,σ δ (E − nσ (k)), mit der Energierelation nσ (k) der Elektronen im n-ten Band, der Spineinstellung σ und dem Kristallimpuls k. δ(E) ist die Deltafunktion. Für ein dreidimensionales freies Elektronengas verhält sich die Zustandsdichte wie √ ρ(E) ∝ E (3D). Im Gegensatz dazu sind die Zustandsdichten der entsprechenden niederdimensionalen Systeme (2D) ρ(E) ∝ konst., (1D) ρ(E) ∝ (E − Ei )−1/2 , (0D) ρ(E) ∝ δ (E − Ei ) , wobei Ei quantisierte Energieniveaus sind, welche aus den zusätzlichen Quantisierungen in den Raumrichtungen resultieren. Eine grafische Darstellung befindet sind in Abbildung 2. Dass die Zustandsdichte eines Quantenpunktes sich wie eine Deltafunktion verhält bedeutet, dass es diskrete Energieniveaus gibt. Man bezeichnet Quantenpunkte daher auch als künstliche Atome. Die Energieniveaus Ei des Quantenpunkts haben ihren Ursprung aus der gleichen Quantisierungsbedingung wie beim quantenmechanischen Potentialtopf. Dies bedeutet, dass die Lage der Energieniveaus durch die Größe des Quantenpunktes eingestellt werden kann. Diese Freiheit drückt man gern in der Bezeichnung Designer-Atom“ aus. Dies lässt sich besonders bei ” Elektroden-Quantenpunkten verwirklichen (siehe unten). Oft kann der Einschluss von Elektronen in einem Quantenpunkt in xyRichtung gut durch ein parabolisches Potential und damit mit dem quantenmechanischen Harmonischen Oszillator modelliert werden. Wenn man 2 annimmt, dass q die Ausdehnung des Quantenpunktes ungefähr der Oszillah̄ ≈ 10 nm entspricht, dann haben die Energieniveaus einen torlänge ` = mω Abstand von h̄2 ∆E = = 11 meV = 132 K kB . m`2 Hier haben wir die effektive Masse eines Elektrons in GaAs eingesetzt: m = 0, 067me , mit me der Elektronenmasse. Dies bedeutet, dass Quantenpunkte auf entsprechend tiefen Temperaturen gehalten werden müssen. Denn ist die thermische Energie größer, als der Abstand der Energieniveaus, so sind die vormals diskreten Energieniveaus bedeutungslos. Des Weiteren dürfen auch die einzelnen Quantenpunkte eines Ensembles von Quantenpunkten nicht allzusehr in ihrer Größe variieren, da sich sonst die Energieniveaus der einzelnen Quantenpunkte unterscheiden und es insgesamt zu einer inhomogenen Verbreiterung der Zustandsdichte kommt. Anwendung finden Quantenpunkte z. B. als aktives Medium in DiodenLasern. Diese Laser weisen eine sehr kleine Schwellenstromdichte und eine geringe Temperaturabhängigkeit des Schwellenstroms auf [Ardenne et al., 2005]. Eine weitere Anwendung beruht auf dem Coulombblockade-Effekt. Wenn man die Größe des Quantenpunktes mit einer passenden Gate-Spannung anpasst, so hat immer nur ein Elektron Platz“ in einem Quantenpunkt. ” Dies modifiziert wesentlich den Stromtransport und bildet die Grundlage für einen Einzelelektronentransistor, welcher das Herzstück einer miniaturisierten Elektronik sein könnte [Ardenne et al., 2005]. Neben weiteren Anwendungen sollen für uns vor allem Quantenpunkte als Qubit in einem Quantencomputer von Interesse sein. Dazu im zweiten Abschnitt mehr. Zunächst noch ein paar Worte zur Herstellung von Quantenpunkten. 1.3 Herstellungsverfahren Es gibt eine ganze Reihe von Herstellungsverfahren. Drei sollen hier kurz vorgestellt werden. Siehe auch [Jacak et al., 1998]. Die erste Methode [Reed, 1993], mit welcher 1987 das erste Mal Quantenpunkte hergestellt wurden, beruht auf einer Kombination von Maskierungs- und Ätzschritten. Man beginnt mit einer Probe, welche einen parallel zur Oberfläche liegenden Quantenfilm (also ein auf zwei Dimensionen eingeschränktes Quantensystem, s. o.) enthält. Die Oberfläche der Probe selber ist mit einer Polymer-Maske überzogen. Der erste Schritt besteht darin, die Oberfläche an der Stelle, wo sich der noch herzustellende Quantenpunkt befinden soll, mit einem Elektronen- oder Ionenstrahl zu bestrahlen. Die Polymer-Maske wird an der vom Elektronenstrahl markierten Stelle entfernt. Danach wird die gesamte Oberfläche mit einem dünnen Metallfilm überzogen. Mit einer speziellen Lösung wird nun überall die Polymer-Maske 3 ρ E Abbildung 2: Zustandsdichte von Volumenfestkörper (orange), Quantenfilm (blau), Quantendraht (grün) und Quantenpunkt (rot). Abbildung 3: Realisierung eines Quantenpunktes mittels lithographisch aufgebrachter Elektroden. Aus [Reed, 1993]. und der Metallfilm entfernt, außer in dem Bereich, der durch den Elektronenstrahl markiert wurde. Wir haben nun eine Halbleiteroberfläche, auf der sich an einer Stelle ein Metallpunkt befindet. Im letzten Schritt werden einige Lagen der Probe durch reaktive Ionen weggeätzt. Und zwar bis unterhalb der Tiefe, in der sich der Quantenfilm befindet. Das Metall schützt die Oberfläche unter sich vor diesem Ätzvorgang. Am Ende haben wir einen einige Nanometer ausgedehnten Turm, in welchem der Quantenfilm auf einen Quantenpunkt reduziert wurde. Eine sehr gute Veranschaulichung befindet sich in [Reed, 1993]. Mit diesem Verfahren erhält man Quantenunkte in xy-Richtung von ca. 10 - 100 nm, in z-Richtung von ca. 10 nm Größe. Die zweite Methode besteht darin, dass man mittels lithographischer Technik miniaturisierte Elektroden über einen Quantenfilm platziert [Jacak et al., 1998]. Das Anlegen einer Spannung erzeugt dann ein räumlich variierendes elektrisches Feld, dass die Elektronen in einen kleinen Raumbereich konzentriert (siehe Abbilung 3). Mit diesem Verfahren lassen sich einzelne als auch ganze Matrizen von Quantenpunkten herstellen (es sind Proben mit mehr als 1 Mio. Quantenpunkten herstellbar). Der große Vorteil dieser Methode ist, dass sich über die Elektrodenspannung die Parameter des Quantenpunktes, wie seine Größe und die Anzahl der in ihm gefangenen Elektronen einstellen lässt. Für Quantencomputer werden diese Art von Quantenpunkten verwendet. Das dritte Verfahren nennt sich selbstorganisiertes Wachstum [Jacak et al., 1998]. Man hat einen Kristall, auf welchen man ein Substrat aufbringt. Wenn sich die Gitterkonstante des Substrates von der des Kristalls unterscheidet, so wachsen die ersten Monolagen orientiert jedoch unter Spannung mit der Gitterkonstanten des darunterliegenden Kristalls auf. Bei den 4 häufig Verwendung findenden InAs auf GaAs Systemen beträgt der Unterschied in der Gitterkonstanten 7%. Ab einer bestimmten kritischen Dicke sorgt die Spannung in den Lagen für einen Zusammenbruch des geordneten Wachstums. Eine andere Formulierung ist, dass die Oberflächenergie minimiert werden muss und es irgendwann zu einem Phasenübergang kommt. Dieser wird als Stranski-Krastanow Phasenübergang bezeichnet. Es kommt zur Herausbildung von zufällig angeordneten Inseln - den Quantenpunkten - von gleicher Größe und ähnlicher Form. Diese beiden Eigenschaften sind durch den Unterschied in den Gitterkonstanten von Substrat und Kristall, der Temperatur und der Wachstumsrate bestimmt. Die Formen der Quantenpunkte reichen von Linsen bis Pyramiden. Die Größe liegt im Bereich von wenigen nm in z-Richtung und wenigen 10 nm in xy-Richtung. Diese kleinen Ausdehnungen sind ein Vorteil des Verfahren neben der homogenen Größe und Form der Quantenpunkte auf einer makroskopischen Probe. 2 Quantencomputer 2.1 Einführung Quanten Computing ist die bekannte (klassische) Informationsverarbeitung auf Grundlage der Quantenmechanik. Die kleinste Grundeinheit ist nicht mehr das Bit, welches durch Spannung aus oder ein (0 oder 1) charakterisiert wird, sondern der Zustand eines quantenmechanischen zwei-Niveau Systems. Doch wieso verlegt man die Informationstechnik in die Quantenwelt? Hierfür gibt es drei verschiedene Gründe 1. Zum einem werden die Komponenten auf einem Computerchip immer kleiner, so dass diese im Jahr 2020 Ausmaße von der Größe einzelner Atome haben werden [Homeister, 2008]. Hier gelten die Gesetze der klassischen Elektrodynamik nicht mehr. Dadurch ist man gezwungen die Quantenmechanik bei der Konstruktion solcher Bauelemente mit einzubeziehen. Siehe auch [Stolze und Suter, 2004]. 2. Zum anderen kann man mittels Quantenalgorithmen klassisch nur schwer lösbare Probleme effizienter lösen. Dies bedeutet, das für bestimmte Problemstellungen die Laufzeiten von Quantenalgorithmen sehr viel kürzer sind, als ihre klassischen Gegenstücke. 3. Zuletzt erhofft man sich die effiziente Simulation von VielteilchenQuantensystemen. Dies geht auf zwei Paper von Feynman zurück [Feynman, 1982]. So kann man beispielsweise mit Hilfe eines BoseEinstein-Kondensates in einem optischen Gitter Festkörpersysteme simulieren. Wie bereits gesagt, wird die kleinste Informationseinheit beim Quanten Computing durch ein quantenmechanisches zwei-Niveau System dargestellt. 5 Einem Niveau wird der klassischen Bit-Wert 0 zugeordnet, dem anderem der klassische Bit-Wert 1. In Analogie zum klassischen Bit spricht man dann von einem Qubit 1 . Für die Darstellung eines Qubits benutzt man die Dirac-Notation. Ein Qubit kann damit die klassischen Bit-Werte |0i und |1i aufweisen. Beispiele für quantenmechanische Zwei-Niveau Systeme, mit denen sich ein Qubit realisieren lässt, sind: • Der Polarisationszustand eines Photons liefert zwei zueinander orthogonale Zustände. Hier kann man entweder vertikal und horizontal oder links-zirkular und rechts-zirkular polarisiertes Licht als Basiszustände des Zwei-Niveau Systems wählen. Die Messung des Qubits erfolgt mittels eines polarisierenden Strahlteilers (siehe Abbildung 4). • Ein Beispiel aus der Atomphysik sind die Zustände eines Atoms. Da ein Atom mehr als nur zwei Niveaus besitzt, wählt man z. B. zwei Zustände aus der Hyperfeinaufspaltung des Grundzustandes aus (siehe Abbildung 5). |gi und |ei bilden dann die zwei Zustände des Qubits. • Das einfachste Zwei-Niveau-System das man sich vorstellen kann, ist ein Spin 1/2 Teilchen in einem Magnetfeld. Die Zustände |0i und |1i des Qubits werden dann in die zwei möglichen Ausrichtungen des Spins relativ zum Magnetfeld codiert. Hyperfeinzustände -2 -1 0 1 -1 0 1 2 F=2 F=1 Abbildung 5: Auswahl zweier NiAbbildung 4: Messung der Polarisa- veaus aus der Hyperfeinaufspaltung des Grundzustandes eines Atoms. tion eines Photons. Im Gegensatz zu einem klassischen Bit kann sich ein Qubit ganz allgemein in einer Superposition der beiden Zustände |0i und |1i befinden: |ψi = α |0i + β |1i , 1 Man findet in der Literatur auch die Bezeichnung Qbit, also ohne das u“ hinter dem ” Q“. Gemeint ist aber in beiden Fällen das gleiche. Konsequenter ist vielleicht Qbit, da ” man für das klassische Bit auch die Bezeichnung Cbit benutzt; siehe z. Bsp. [Mermin, 2002]. 6 mit der Normierungsbedingung |α|2 + |β|2 = 1. Dabei ist α |0i + β |1i ein gleichwertiger Zustand neben |0i und |1i. Der Unterschied besteht nur in der verwendeten Basis (siehe Beispiel zur Polarisation des Photons oben). Diese Superposition ist eine grundlegende Neuerung im Quanten Computing und hat keinerlei Analogon bei klassischen Computern. Wir werden noch weiter unten sehen, dass die Superposition ein entscheidender Eckpfeiler ist, der die Stärke des Quanten Computing ausmacht. Da man in den seltensten Fällen mit nur einem einzigen Qubit auskommt führt man sogenannte Quantenregister ein. Diese sind einfach eine Vereinigung aus mehreren Qubits. Mathematisch handelt es sich bei einem Quantenregister um ein Tensorprodukt einzelner Qubits. Haben wir ein Quantenregister bestehend aus zwei Qubits, die beide im Zustand |0i sind, so schreibt man |0i ⊗ |0i . Abkürzend schreibt man auch |0i ⊗ |0i ≡ |0i |0i ≡ |00i ≡ |0i , wobei in der letzten Darstellung der Dezimalwert der beiden Qubits steht. Seien also x0 bis xN −1 die Werte 0 oder 1 der einzelnen Qubits, dann ist |xN −1 i ⊗ . . . ⊗ |x1 i ⊗ |x0 i = |xN −1 i . . . |x1 i |x0 i = |xN −1 . . . x1 x0 i (1) E = xN −1 · 2N −1 + . . . + x1 · 21 + x0 · 20 . Ein konkretes Beispiel soll dies verdeutlichen: E |011i = 0 · 22 + 1 · 21 + 1 · 20 = |3i . Auch bei Quantenregistern ist eine Superposition möglich: α |010i + β |101i. Mit Hilfe der Superposition können wir z. B. die C-Zahlen von null bis sieben auf einmal in einem 3-Qubit Quantenregister speichern |0i + |1i + |2i + |3i + |4i + |5i + |6i + |7i = 7 X x=0 |xi . Bei den Quantenregistern tritt auf Grund der Superposition eine weitere rein quantenmechanische Eigenschaft zu Tage: die Verschränkung. Nehmen wir den Zustand |00i+|01i. Dieser lässt sich auch schreiben als |0i⊗(|0i + |1i) = |ψi ⊗ |φi, d. h. als Tensorprodukt zweier einzelner Qubits. Bei verschränkten Quantenregistern ist diese Aufspaltung in ein Tensorprodukt einzelner Qubits nicht möglich. Ein Beispiel ist einer der sogenannten Bell-Zustände q 1 2 (|00i + |11i) 6= |ψi ⊗ |φi. Speziell die Bellzustände sind in der Quantenkommunikation von großer Bedeutung. Allgemein sind verschränkte Zustände für das gesamte Quanten Computing sehr wichtig. Es sei noch angemerkt, dass nahezu alle Zustände im Produkthilbertraum verschränkte Zustände sind. 7 2.2 Quantengatter Kommen wir nun sozusagen zur Dynamik der Quantencomputer: Den Quantengattern. Dies sind unitäre Transformationen, welche auf den Quantenregistern arbeiten. Beispielsweise Uf |01i = |11i (siehe Abbildung 6). Abbildung 6: Unitäre Transformation Uf eines Quantenregisters. In diesem Beispiel gilt Uf |01i = |11i . Unitäre Transformationen sind invertierbar und erhalten die Norm. Ersteres garantiert ein reversibles Rechnen und setzt gleichzeitig eine Bedingung an die Quantengatter: es müssen genausoviele Qubits in das Gatter hineinführen wie herauskommen. Betrachten wir zunächst ein paar Beispiele für Quantengatter. Angegeben sind immer Symbol im Schaltkreis, Wahrheitstabelle und Matrixdarstellung. Schaltkreise werden (analog wie bei klassischen Computern) oft für die Darstellung von Quantenalgorithmen verwendet. Fangen wir mit 1-Qubit Gattern an • NOT-Gatter: Das NOT-Gatter negiert das Eingabe-Qubit. X σx ist eine der Pauli-Matrizen. in |0i |1i out |1i |0i X= 0 1 1 0 • Hadamard-Gatter: ! = σx Zum Hadamard-Gatter gibt es kein klassisches Analogon. Es ist eines der wichtigsten Quantengatter, da man mittels des Hadamard-Gatters eine Superposition der Zustände |0i und |1i erreichen kann. Eine spezielle Anwendung ist die Generierung von echten Zufallszahlen. Dazu schickt man ein Qubit im Zustand |0i in das Hadamard-Gatter und bekommt die Superpostion |0i + |1i heraus. Misst man nun den Zustand, so bekommt zu 50% Wahrscheinlichkeit |0i und zu 50% Wahrscheinlichkeit |1i als Ergebnis. in |0i |1i H 8 out p p1/2 (|0i + |1i) 1/2 (|0i − |1i) H= q 1 2 1 1 1 −1 ! = q 1 2 (σx + σz ) σx und σz sind Pauli-Matrizen. • Allgemeine Rotation U-Gatter: Eine allgemeine unitäre Transformation, welche einer Drehung“ im ” 1 zweidimensionalen Hilbertraum entspricht, lautet Uα = exp −i 2 α · σ . Hier ist α = |α| n, mit der Drehachse n und dem Winkel α. U Nun noch zwei Beispiele für 2-Qubit Quantengatter. • kontrolliertes NOT-Gatter — CNOT-Gatter: Je nachdem ob das erste Eingabe-Qubit gesetzt ist oder nicht, wird das zweite Eingabe-Qubit negiert. Das CNOT-Gatter wird oft auch als (reversibles) XOR-Gatter bezeichnet. in |00i |01i |10i |11i X CNOT = |0i h0| ⊗ 1 + |1i h1| ⊗ σx out |00i |01i |11i |10i Mit Hilfe des CNOT-Gatters lassen sich verschränkte Zustände erzeugen r r 1 1 (|00i + |10i) = (|00i + |11i) . CNOT 2 2 • kontrolliertes U-Gatter — CU-Gatter: Analog zum CNOT-Gatter wird hier das zweite Eingabe-Qubit der unitären Transformation U unterworfen falls das erste Qubit gesetzt ist. U CU = |0i h0| ⊗ 1 + |1i h1| ⊗ U 9 Die Frage ist nun, welche Quanten-Gatter benötigt man, um eine beliebige unitäre Transformation U mit beliebig vielen Eingabe-Qubits darzustellen. Ein Teil der Antwort ist, dass sich jede unitäre Transformation U zerlegen lässt in eine Sequenz von elementaren 1-Qubit und 2-Qubit Quantengattern. Speziell braucht man nur eine bestimmte Anzahl verschiedener Quanten-Gatter. Diese werden universelle Sätze von Quantengattern genannt. Da gibt es zunächst exakt universelle Sätze, z. B. n o CNOT, Uα α ∈ R3 . Da jedoch Uα in der Praxis nicht so einfach realisiert werden kann, ist man auf einen Satz approximativ universeller Quantengatter wie z. B. n CNOT, H, Uπ/4 o (2) angewiesen. Approximativ bedeutet hier, dass sich jedes U beliebig genau durch diesen Satz von drei Quantengattern darstellen lässt. Das heißt, dass man mit einem approximativ universellen Satz unter Umständen eine Abweichung von dem gewünschten Ergebnis erhält. Möchte man diese Abweichung kleiner machen, so muss man nur mehr Quantengatter aus dem obigen Satz (2) verwenden. 2.3 Quantenalgorithmen Quantencomputer lassen sich als universelle Computer realisieren, d. h., dass man mit ihnen dieselben Berechnungen ausführen kann, wie mit einem klassischen Computer. Des Weiteren benötigen Quantencomputer die gleiche Laufzeit, wenn man auf ihnen klassische Algorithmen ausführt. Nutzt man jedoch die Eigenschaften der Quantenmechanik aus, die es bei klassischen Computern nicht gibt wie Superposition und Verschränkung, so kann man klassische Algorithmen in ihrer Laufzeit unterbieten. Man verwendet also Quantenalgorithmen. Im Quanten Computing gibt es zwei wichtige Prinzipien: 1. Reversible Implementierung Sei f : {0, 1}n → {0, 1}m , x 7→ f (x) eine beliebige Funktion. Dann soll für die unitäre Transformation Uf , welche f in einem Quantenalgorithmus implementiert, gelten: Uf |xi |0i −→ |xi |f (x)i . (3) Hier ist |xi das sogenannte Zahlenregister mit n Qubits und |0i das Hilfsregister mit m Qubits. Dadurch das die Eingabe |xi mitgenommen wird ist die Funktion f durch die unitäre Transformation Uf reversibel implementiert. 10 2. Quantenparallelismus Zunächst bringt man alle n auf Null gesetzten Eingabe-Qubits mittels einer auf jedes einzelne Qubit wirkenden Hadamard-Transformation H in Superposition von |0i und |1i r 1 |00 . . . 0i −→ (|0i + |1i) ⊗ 2 n/2 1 X 1 = 2 x ,x ,...x H ⊗n 0 = n/2 1 2 1 (|0i + |1i) ⊗ . . . ⊗ 2 n−1 =0 1 n −1 2X x=0 r r 1 (|0i + |1i) 2 |x0 i |x1 i . . . |xn−1 i |xi , wobei wir im zweiten Schritt die Tensorprodukte ausmultipliziert“ ” haben und im letzten Schritt die Dezimaldarstellung aus Formel (2) verwendet haben. Nun nehmen wir die m Hilfs-Quantenregister hinzu H ⊗n |0i |0i −→ Uf −→ n/2 1 2 n/2 1 2 n −1 2X x=0 n −1 2X x=0 |xi |0i |xi |f (x)i . Die unitäre Transformation (3) ist so gebaut, dass die Werte der Funktion f in die Hilfs-Qubits wandern. Damit haben wir am Ausgang sowohl alle möglichen Eingabezahlen als auch alle möglichen Funktionswerte in unserem Quantenregister gespeichert. Die Herausforderung ist das Lesen bzw. Messen der gewünschten Größen aus dem Register. Das prinzipielle Hindernis ist tief in der Quantenmechanik verwurzelt: man kann nicht so einfach ein beliebiges |f (x)i aus seinem Quantenregister herauslesen, sondern man misst dieses nur mit einer bestimmten Wahrscheinlichkeit. Der Trick bei allen Quantenalgorithmen ist nun, die Amplitude des gesuchten Wertes zu maximieren und entsprechend die Amplituden aller anderen Werte auf Null zu bringen. Eine anschließende Messung liefert dann das gesuchte Ergebnis. Als konkretes Beispiel eines Quantenalgorithmus wollen wir den Deutsch2 -Algorithmus betrachten. Die Aufgabenstellung ist die folgende. Wir sollen herausfinden, ob eine gegebene Funktion f : {0, 1} → {0, 1} konstant, d. h. f (0) = f (1), oder balanciert, d. h. f (0) 6= f (1) ist. Das Problem von Deutsch ist zwar recht simpel, doch der Algorithmus lässt bereits die Stärke des Quanten Computing erahnen. Ein klassischer Computer muss 2 nach David Deutsch 11 f an beiden Stellen 0 und 1 abfragen. Wie wir sehen werden, benötigt ein Quantencomputer nur eine einzige Anfrage an f . Für den Algorithmus benötigen wir zwei Qubits. In das erste werden die Eingabewerte x hineingeschrieben, in das zweite die Funktionswerte f (x). Die Anfrage an die Funktion f realisieren wir durch ein kontrolliertes UGatter Uf : |x, yi 7→ |x, y ⊕ f (x)i, wobei ⊕ die Addition modulus zwei ist, d.h. 0 ⊕ 1 = 1 und 1 ⊕ 1 = 0. Der Algorithmus geht wie folgt: 1. Initialisiere das Register: |ψi := |x, yi = |01i 2. Superponiere die Eingabe: |ψi = H ⊗2 |ψi 3. Werte f aus: |ψi = Uf |ψi 4. Wende nochmals H an: |ψi = H ⊗2 |ψi 5. Miss das erste Qubit: h0 | ψi Ist das Ergebnis 1, so ist f konstant, andernfalls ist f balanciert. Schauen wir uns den Algorithmus genauer an. Nach dem ersten Schritt ist unser Quantenregister in dem Zustand |ψi = |01i. Im zweiten Schritt wenden wir auf beide Qubits eine Hadamard-Transformation an: H ⊗2 r r 1 (|0i + |1i) ⊗ |ψi = } | 2 {z 1 (|0i − |1i) . 2 =:|xi Im nächsten Schritt fragen wir einmal die Funktion f ab. Dies geschieht über Uf . Wie oben definiert, beeinflusst Uf nur das zweite Qubit. Dies jedoch in Abhängigkeit des ersten Qubits. |xi r r Uf 1 1 (|0i − |1i) −→ |xi (|0 ⊕ f (x)i − |1 ⊕ f (x)i) 2 r2 1 = |xi (|f (x)i − |1 ⊕ f (x)i) 2 r f (x) 1 (|0i − |1i) . = |xi (−1) 2 Man sieht, dass die Information über die Funktion f in den Vorfaktor wandert (Man überprüft den letzten Schritt leicht, indem man einmal f (x) = 0 q und einmal f (x) = 1 einsetzt). Da |xi = r h 1 1 2 (|0i + |1i) haben wir: r 1 (|0i − |1i) (−1) |0i + (−1) |1i ⊗ 2 2 r r h i 1 1 (−1)f (0) |0i + (−1)−f (0)+f (1) |1i ⊗ (|0i − |1i) . = 2 2 |ψi = f (0) f (1) 12 i Unser ganzes Wissen über die Funktion f steckt nun in der Phase des ersten Qubits. Im nächsten Schritt wenden wir abermals die HadamardTransformation auf beide Qubits an: H ⊗2 f (0) |ψi = (−1) ( |01i : f (0) = f (1) |11i : f (0) 6= f (1) Messen wir nun das erste Qubit des Quantenregisters bzgl. der Basis {|0i , |1i}, so wissen wir mit Sicherheit ob die Funktion f konstant oder balanciert ist. Geht man den Algorithmus nocheinmal durch, dann sieht man, dass die Funktion f tatsächlich nur ein einziges mal abgefragt wurde. Das Problem lässt sich erweitern auf Funktionen beliebig großer Eingabe. Der Deutsch-Algorithmus liefert einen ersten kleinen Eindruck, wie mächtig Quanten Computing sein kann. Weitere wichtige Quantenalgorithmen lassen sich grob in zwei Klassen einteilen [Stolze und Suter, 2004]. Da sind zum einen Quanten-Such-Algorithmen wie beispielsweise der Grover3 -Algorithmus. Dieser Algorithmus hat als Aufgabe das Suchen in unsortierten Datenbanken (z. B. Suchen einer Telefonnummer im Telefonbuch). Speziell der Grover-Algorithmus liefert dafür die bestmögliche Laufzeit [Homeister, 2008]. Die zweite Klasse von Quanten-Algorithmen basieren auf der Quantenfouriertransformation (kurz QFT). Wie der Name sagt, ist die QFT eine Quantenversion der diskreten Fouriertransformation. Als Beispielalgorithmus sei hier der Shor4 -Algorithmus zum Faktorisieren von Zahlen genannt. Bei diesem handelt es sich um einen effizienten Quantenalgorithmus, zu welchem kein effizientes klassisches Analogon existiert. Dies ist insofern von besonderer Bedeutung, als dass vielgenutzte KryptographieMethoden darauf beruhen, dass man große Zahlen nicht effektiv in ihre Primfaktoren zerlegen kann. 2.4 Implementierungen Es gibt eine ganze Reihe von Implementierungen von Qubits, wobei man diese grob in zwei Arten aufteilen kann. Zum einen lassen sich Qubits durch atomare Systeme und zum anderen durch Festkörpersysteme darstellen. Das erste physikalische System, mit welchem Quantencomputer realisiert wurden, waren Kernspins in einer Flüssigkeit (NMR-Systeme). Das Qubit wird hier allerdings nicht in einem einzigen Kernspin codiert, sondern in einigen 1020 Kernspins eines bestimmten Kerns in einem Molekül der Flüssigkeit [Stolze und Suter, 2004]. Ein anderes atomares System, was für die Zukunft vielversprechend erscheint, sind Ionen in einer Falle. Das Qubit wird in elektronische Freiheitsgrade des Ions gesteckt. Damit das Qubit stabil ist und nicht in einen anderen Zustand zerfällt, kann man dies entweder in Hyperfeinniveaus (siehe 3 4 nach Lov Grover nach Peter Shor 13 Abbildung 5) des Grundzustandes codieren oder man wählt zwei Niveaus aus, die nur durch verbotene Übergänge zerfallen können und somit langlebig sind. Die 1-Qubit Gatter werden hier durch optische Übergänge mittels Laser oder durch Mikrowellenfelder realisiert. Für 2-Qubit Gatter benötigen wir irgendeine Kopplung zwischen den Qubits. Dies übernimmt bei den Ionen die Coulombwechselwirkung. Diese sorgt für eine Schwingungsbewegung der Ionen in der Falle. Die Idee für ein zwei-Qubit Gatter besteht darin, die internen Freiheitsgrade der Ionen an die externen Freiheitsgrade (den Schwingungen) zu koppeln. Mit Hilfe der Coulombwechselwirkung kann so der Zustand eines Qubits auf ein anderes Qubit übertragen werden [Blatt et al., 2005]. Eine mögliche Realisierung durch Festkörpersysteme ist, dass man Supraleitende Systeme benutzt (Josephson Kontakte). Hier codiert man die Qubits entweder in Ladungsfreiheitsgrade oder in den quantisierten magnetischen Fluss. Ein weiteres System sind Kernspins von Donoratomen in Halbleitern. Dies ist eine direkte Übertragung des atomaren NMR-Systems von oben. Schließlich verwendet man auch Quantenpunkte als Basis für Quantencomputer. Da man Quantenpunkte mit nur bis zu einem Elektron füllen kann, besteht die Möglichkeit das Qubit als Ladungs-Qubit zu codieren. Das heißt ein Zustand des Qubits entspricht einem mit einem Elektron besetzten Quantenpunkt und der zweite Zustand des Qubits entspricht einem leerem Quantenpunkt. Der Nachteil an dieser Methode ist, dass die Ladung relativ gut mit der Umgebung wechselwirkt und damit die Relaxations- und Dekohärenzzeiten mit einigen ns sehr kurz sind. Auf die Bedeutung der Dekohärenzzeiten gehen wir weiter unten ein. Die zweite Möglichkeit bei Quantenpunkten ein Qubit zu realisieren besteht darin, den Spin des einzelnen Elektrons im Quantenpunkt zu benutzen. Da Spin 1/2-Systeme 2-NiveauSysteme sind, ist es klar wie das Qubit codiert wird. Im Gegensatz zu der Ladung ist der Spin relativ gut von der Umgebung isoliert. Dadurch erreicht man Dekohärenzzeiten von nur einigen µs. Bevor wir uns genauer mit den Quantenpunkten als Quantencomputer beschäftigen, möchten wir zunächst auf die DiVincenzo5 -Kriterien eines Quantencomputers eingehen [Burkard, 2004]. Diese sind fünf an der Zahl und stellen Bedingungen an ein physikalisches System, um realistisch als Grundlage für einen Quantencomputer dienen zu können. 1. Ein skalierbares System mit wohldefinierten Qubits Ein System heißt skalierbar, wenn es beliebig viele Qubits enthalten kann. Atomare Systeme sind nicht so einfach skalierbar. Das NMRSystem ist z. B. sehr schlecht skalierbar, da eine Erhöhung der Qubits eine schlechtere Signalqualität zur Folge hat. Bei den Ionen in der Falle ist man zuversichtlicher und erhofft sich einige 10 Qubits zu realisieren. Hier treten Probleme bei immer längeren Ketten von Ionen auf, 5 nach David P. DiVincenzo 14 da die schwerer werdende Kette die Rechenoperationen verlangsamt. Außerdem wird es schwieriger alle Ionen in den Grundzustand zu kühlen (siehe auch Punkt 2 unten). Ein Ausweg soll hier sein, das man mehrere Fallen mit Ionen hat, welche durch einen Quantenkanal (z. B. Photonen) Information austauschen sollen [Blatt et al., 2005]. Festkörpersysteme sind zwar noch weniger erforscht als die atomaren Systeme, jedoch erhofft man sich von ihnen eine einfache Skalierbarkeit, in dem man Qubits wie konventionelle integrierte Schaltkreise in großem Maßstab (105 − 106 Qubits) fertigt. 2. Initialisierbarkeit der Qubits Das System muss es ermöglichen, die Qubits in einen wohldefinierten Zustand zu setzen. Dies kann der Grundzustand sein. Gestört wird die Initialisierung beispielsweise durch thermische Fluktuationen, weswegen man bei entsprechenden tiefen Temperaturen arbeiten muss. 3. Lange Dekohärenzzeiten Durch Wechselwirkung des Quanten-Systems mit der Umgebung, durch thermische oder quantenmechanische Fluktuationen oder durch die freie Zeitentwicklung kommt es zu Dekohärenzen. Geht man von einem reinen Zustand |ψi = α |0i + β |1i aus, so entwickelt dieser sich nach einer Zeit T2 in eine inkohärente Mischung, welche durch die Dichtematrix ρ = |α|2 |0i h0| + |β|2 |1i h1| beschrieben wird. Durch Wechselwirkung mit der Umgebung tritt weitere Dekohärenz ein. Dies drückt man durch die Zeit T1 und die Dichtematrix des thermischen Gleichgewichts ρ = Z1 exp (−βH) aus, mit der Zustandssumme Z, der inversen Temperatur β und dem Hamiltonian H. Damit Quanten Computing möglich ist, müssen die beiden Zeiten T1 und T2 wesentlich größer sein als die Zeiten, die man für typische Gatteroperationen benötigt. Die längsten Kohärenzzeiten erreicht man bei atomaren Systemen, beispielsweise einige ms bei NMR-Systemen. Bei Festkörpersystemen erreicht man je nach Implementierung bis zu einigen µs. 4. Ein universelle Satz von Quantengattern Wie wir oben bereits gesehen haben, benötigt man nur 2-Qubit-Gatter und 1-Qubit-Gatter um einen (approximativ) universellen Satz von Quantengattern zu realisieren (siehe oben). Nun muss es auch möglich sein diese Gatter auf dem physikalischen System zu implementieren. 5. Messen von Qubits Am Ende aller Operationen muss man auch in der Lage sein mit möglichst hoher Effizienz einzelne Qubits auszulesen. Atomare Systemem sind auch hier am weitesten fortgeschritten. Hier gelingt das Auslesen der Qubits sicher. 15 2.5 Quantencomputer mit Quantenpunkten Es gibt eine ganze Reihe von Vorschlägen, wie man Qubits und QuantenGatter bei Quantenpunkten realisieren möchte. Hier soll die Implementierung, die auf einen Vorschlag von Daniel Loss und David P. DiVincenzo zurück geht [Burkard, 2004], vorgestellt werden: • Man hat eine Zeile von Quantenpunkten, die mittels Elektroden aus einem Quantenfilm erzeugt werden (siehe Abbildung (7)), • als Qubit wird der Spin S eines einzelnen Elektrons in einem Quantenpunkt verwendet, • 1-Qubit-Gatter werden durch Magnetfelder B realisiert und • für 2-Qubit-Gatter benutzt man einen Tunnelkontakt zwischen benachbarten Quantenpunkten. Der dazugehörige Hamiltonian hat die Form H(t) = X hi,ji Jij (t)Si · Sj + µB X i gi B (ri ) · Si . (4) Hier ist J das Tunnelmatrixelement zwischen zwei Quantenpunkten, µB das Bohr-Magneton des Elektrons und g der g-Faktor des Elektrons. Abbildung 7: Eine Zeile von Quantenpunkten. Die Quantenpunkte sind durch Kreise mit Elektronen dargestellt. Die spitzen Elektroden auf der Oberseite sind zum Einstellen der Tunnelbarriere. Der Quantenfilm besteht aus Schichten unterschiedlicher Halbleiter. Aus [Burkard, 2004]. P Die 1-Qubit-Gatter sollen durch den Zeeman-Term µB i gi B (ri ) · Si in (4) implementiert werden. Dazu kann entweder das Magnetfeld B oder der g-Faktor g variiert werden. Eine Möglichkeit den g-Faktor zu ändern 16 beruht zunächst einmal darauf, dass der g-Faktor eines Elektrons in einem Halbleiter auf Grund der Spin-Bahn-Wechselwirkung stark von seinem Vakuumwert von 2.0023 abweichen kann. Der g-Faktor nimmt je nach Material sowohl positive als auch negative Werte an. Nun bedient man sich einer besonderen Eigenschaft von geschichteten Quantenfilmen. Deren g-Faktor ist mittels eines elektrischen Feldes durchstimmbar und kann die g-Faktoren der einzelnen Bestandteile des Quantenfilms annehmen. Dies ist in Abbildung (8) dargestellt. Somit können wir mit Hilfe von elektrischen Feldern 1-Qubit-Gatter für Quantenpunkte implementieren. Abbildung 8: Abhängigkeit des gFaktor gef f von der Spannung E Abbildung 9: Abhängigkeit der Ausan den back-gates. Aus [Burkard, tauschenergie J vom Magnetfeld B. Aus [Burkard, 2004]. 2004]. Für 2-Qubit-Gatter benötigt man eine Wechselwirkung zwischen zwei Quantenpunkten. Dazu betrachten wir folgendes Modell. Die beiden Quantenpunkte sind mit jeweils einem Elektron gefüllt und haben einen Abstand von 2a. Des Weiteren bestehe ein Tunnelkontakt zwischen ihnen. Der Hamilton-Operator lässt sich aufteilen in einen orbitalen Horb und einen Zeeman Anteil HZ . Betrachten wir nur Horb . Dieser enthält neben einem kinetischen Anteil und der Coulombenergie noch den Einschluss der Elektronen in den Quantenpunkten und den Tunnelkontakt. Der Einschluss soll jeweils mittels eines harmonischen Oszillator-Potentials modelliert werden, so dass man insgesamt ein Doppelmulden-Potential erhält. Was sind die niedrigsten Orbitale? Da gibt es zunächst ein symmetrisches Orbtital. Die dazugehörige Spinwellenfunktion ist damit ein Singlet (S = 0). Das energetisch nächst höhere Orbital ist antisymmetrisch und die entsprechende Spinwellenfunktion ist ein Triplet (S = 1). Beide Orbitale sind durch eine Autauschenergie J getrennt, welche dem Austausch von Elektronen zwischen den Quantenpunkten entspricht. Dieser Austausch ist auf Grund des Pauliprinzips nur beim Spin-Singlet möglich, was der Ursprung der Aufspaltung J von Singlet und Triplet ist. Der Einfachheit halber wollen wir nur Temperaturen betrachten die kleiner sind, als die Energieabstände der Quantenpunktniveaus. Dann 17 können wir Horb durch einen effektiven Heisenberg-Spin Hamiltonian ersetzen H = J S1 · S2 . Hier ist J die oben eingeführte Austauschenergie. Um J auszurechnen benutzt man die Variationsmethode und den Heitler-London Ansatz aus der Atom-/Molekülphysik. Man betrachtet also die Einteilchenwellenfunktionen und superponiert diese. Als Ergebnis bekommt man die Austauschenergie J als Funktion vom Magnetfeld B. Dies ist in Abbildung (9) dargestellt. Man sieht, dass es möglich ist, J von positiven bis negativen Werten durchzustimmen. Speziell kann man auch J = 0 erreichen. Dies bedeutet, dass man die Wechselwirkung zwischen benachbarten Quantenpunkten ein- und ausschalten kann. So ist es zum Beispiel möglich ein sogenanntes SWAP-Gatter S zu erzeugen. Dafür pulst man das Magnetfeld gerade so, dass 1 h̄ Z J t0 dt0 = π . 2 Das heißt wir haben folgende Zeitentwicklung i exp h̄ Z 0 H t dt 0 π = exp i S1 · S2 =: S 1/2 , 2 da H = J S1 ·S2 . Rechnet man sich die dazugehörige Matrixdarstellung aus, so erhält man 1 0 0 0 0 0 1 0 S= . 0 1 0 0 0 0 0 1 Der Name SWAP-Gatter kommt daher, dass die beiden Qubits eines 2-Qubit Registers gerade vertauscht werden: S |xyi = |yxi . Nun ist es möglich zusammen mit den 1-Qubit-Gattern aus dem SWAPGatter ein CNOT-Gatter zu bauen. Damit haben wir einen universellen Satz von Quantengattern auf den Quantenpunkten etabliert. 3 Ausblick Heutzutage ist noch nicht abzusehen, welches physikalische Konzept eines Quantencomputers sich einmal durchsetzen wird. Des Weiteren ist auch nicht klar, ob es überhaupt einmal Quantencomputer geben wird, die realistische Aufgaben erledigen werden. Was es mit größerer Wahrscheinlichkeit geben wird, sind Simulationen von Vielteilchen-Quantensystemen beispielsweise mittels Bose-Einstein-Kondensaten in optischen Gittern. 18 Das gute ist, dass bei der Erforschung der verschiedenen Quantensysteme auch eine ganze Menge nützliche Nebenprodukte“ abfallen. Bei Quanten” punkten wäre da Magnetometrie einzelner Elektronenspins und die genaue Kontrolle magnetischer Eigenschaften zu nennen. Außerdem erhält man durch die intensive Beschäftigung mit dem Quanten Computing und der Quanteninformation einen tieferen Einblick in die Grundlagen der Quantenmechanik. 4 Literaturempfehlung Als Einstieg in das große Gebiet des Quanten Computing ist das deutschsprachige Buch von Homeister zu empfehlen. Es bietet eine sehr elementare Einführung in das Thema und weist viele Beispiele und Erläuterungen auf. Das englischsprachige Buch von Stolze und Suter ist ein wenig anspruchsvoller, als Einstieg aber auch gut geeignet. Ein umfassendes Nachschlagewerk auf dem Gebiet des Quantum Computing ist das Buch von Nielsen und Chuang. Literatur Ardenne, Manfred von, Musiol, Gerhard und Klemradt, Uwe (Hg.). Effekte der Physik und ihre Anwendungen. Harri Deutsch, 2005, 3., überarbeitete, neu strukturierte, wesentlich erweiterte Aufl. Awschalom, David D., Loss Daniel und Samarth, Nitin. Semiconductor spintronics and quantum computation. Physics and astronomy online library. Springer, Berlin, 2002. ISBN 3-540-42176-9. Bennett, Charles H. und DiVincenzo, David P. Quantum information and computation. Nature, 2000(404); 247–255, 2000. Blatt, Rainer, Zoller, Peter und Cirac, J. Ignacio. Schwerpunkt Quantencomputer. Physik Journal, 2005(11); 25–62, 2005. Burkard, Guido. Theory of solid state quantum information processing, 2004. URL arXiv:cond-mat/0409626v2 Ekert, Artur, Hayden, Patrick und Inamori, Hitoshi. Basic concepts in quantum computation, 2008. URL arXiv:quant-ph/0011013v1 Feynman, Richard P. Simulating Physics with Computers. International Journal of Theoretical Physics, 1982(21); 467–488, 1982. 19 Homeister, Matthias. Quantum Computing verstehen: Grundlagen, Anwendungen, Perspektiven: Mit Online-Service zum Buch. Vieweg & Sohn Verlag, Wiesbaden, 2008, 2. aktualisierte u. durchgesehene Aufl. Jacak, Lucjan, Hawrylak, Pawel und Wójs, Arkodiusz. Quantum Dots. Springer, Berlin, 1998. Mermin, N. David. Teaching Computer Scientists Quantum Mechanics, 2002. URL arXiv:quant-ph/0207118v1 Nielsen, Michel A. und Chuang, Isaac L. Quantum Computation and Quantum Information. Cambridge University Press, Cambridge, 2002, reprint Aufl. Reed, Mark A. Quantum Dots. Scientific American, 1993(268(1)); 118– 123, 1993. Rossi, Mark. Ladungsträger-Relaxations- und Rekombinationsmechanismen in Halbleiterquantenpunkten. Diplomarbeit, Universität Stuttgart, Stuttgart, 2002. Stolze, Joachim und Suter, Dieter. Quantum Computing: A Short Course from Theory to Experiment. Wiley-VCH Verlag GmbH & Co. KGaA, Weinheim, 2004. ISBN 3 527 40438 4. 20