Dienstag, 29. August 2023

Einen Quantencomputer programmieren

Im Januar 2017 hat IBM eine Vorrichtung, bestehend aus vier Transmon Qubits vier Quantenbussystemen und vier Ausleseresonatoren veröffentlicht.

Heute, 6 Jahre später, existieren mit dem IBM Oprey Quantenprozessor bereits Systeme mit 433 Qubits, und jeder kann kostenlos über die Website quantum-computing.ibm.com auf verschiedene Quantencomputer von IBM mit bis zu 7 Qubits zugreifen. Nach erfolgreicher Registrierung stehen folgende Systeme und Simulationstools zur Verfügung:

Per Drag and Drop lassen sich im Webinterface Quantengatter aneinanderreihen, und anschließend können logische Operationen ausgeführt werden.


Unten sind z.B. die zur Verfügung stehenden Phaseshift Gates gezeigt.

Durch einen Rechtsklick auf die Symbole im Composer lassen sich Erklärungen zu allen zur Verfügung stehenden Gattern und Operationen aufrufen. 

Um einen universellen Quantencomputer zu bauen, muss jede Kombination von Quantenzuständen durch geschickte Kombination von Quantengittern auf jede beliebige Kombination von Zuständen abgebildet werden können. Eine Menge von Gattern wird universell genannt, wenn sich jede unitäre Transformation als Produkt von Gattern aus der betrachteten Menge darstellen lässt. Für klassische Computer bildet das NAND Gatter eine solche universelle Menge. Durch geschickte Kombination von NAND Gattern lassen sich alle klassischen logischen Verknüpfungen realisieren. Für Quantencomputer kann gezeigt werden, dass die Menge aller 1-Qubit-Gatter zusammen mit dem CNOT-Gatter eine universelle Menge bilden.

Ein willkürliches unitäres 1-Qubit-Gatter lässt sich allgemein durch die Matrix

darstellen, wobei |a|^2+|b|^2=1 gilt. Das CNOT Gatter ist eine Verknüpfung zweier Qubits.

Der reele Wert des zweiten Qubits (B) wird in Abhängigkeit des ersten Qubits (A) entweder beibehalten (A=0) oder negiert (A=1).

Um zu verstehen wie Quantengatter funktionieren, müssen wir zunächst im Prinzip verstehen was ein Qubit ist.

Beim supraleitenden Quantencomputing wird ein Ladungs-Qubit durch eine winzige supraleitende Insel gebildet, die durch einen sogenannten Josephson-Kontakt an ein Reservoir von Cooper-Paaren gekoppelt ist. Die Cooper Paare, je zwei durch Gitterschwingungen aneinander gekoppelte Elektronen, tragen im supraleitenden Zustand den Strom, und der Josephson-Kontakt stellt einen Tunnelübergang für die Cooper-Paare durch einen dünne normal leitende Schicht dar. 

Im Bild unten ist ein einzelnes Ladungs-Qubit in Form einer supraleitenden Insel, die auch 'Cooper-Pair-Box' genannt wird, schematisch und in der Realität gezeigt.

Der Zustand des Qubits wird durch die Anzahl der Cooper-Paare bestimmt, die über den Übergang auf die Insel getunnelt sind. Durch Anlegen einer Gatespannung zwischen der Insel und dem Reservoir läßt sich die effektive Höhe der Tunnelbarriere beinflussen, und damit die Zahl der Cooperpaare die auf die Innsel tunneln können. Für die Ladungsenergie eines Kondensators gilt allgemein.

Für ein Cooper Paar bestehend aus zwei aneinander gekoppelten Elektronen und der Gatekapazität C_g sowie der Kapazität C_j der Josephson Tunnelbarriere gilt daher

Diese Energie muss also klassischerweise aufgewandt werden, um ein zusätzliches Cooper Paar auf die Insel zu bringen.

Da die Insel sehr klein ist, kommen quantenmechanische Effekte ins Spiel, und nur bestimmte Energiezustände können besetzt werden. Für die möglichen Energiezustände der Insel d.h. der Cooper-Pair-Box gilt:

Dabei beschreibt der Ausdruck H den sogenannten Hamiltonoperator dessen Eigenwerte die möglichen Energiezustände des Systems darstellen. Der Ausdruck ist neben der bereits erwähnten Ladeenergie E_c und der Höhe der Tunnelbarriere E_j von einen Steuerparameter n_g abhängig, der durch

gegeben ist. C_g ist dabei die Gatekapazität und V_g die Gatespannung. Die Lösung der Eigenwertgleichung

liefert für den Fall dass die Ladeenergie ungefähr so groß ist wie die Höhe der Tunnelbarriere, folgende auf die Energie des Grundzustandes normierte Energiebänder

Die einzelnen Bänder sind jedoch nicht klar voneinander getrennt, und stark vom Steuerparameter n_g bzw. der Gatespannung abhängig. Erhöht man das Verhältnis E_j/E_c, schaltet man also z.B. eine weitere Kapazität parallel zu C_g um E_c zu erniedrigen, ergibt sich folgendes Bild:

Die Energiezustände sind nun klar voneinander getrennt, und recht stabil hinsichtlich Variation von V_g. Ein solches Qubit nennt man Transmon Qubit. Eine mögliche Realisierung mit zusätzlichen parallelen Kondensatorstrukturen ist im Bild unten zu sehen.

Ein Qubit muss über zwei voneinander getrennte Energieniveaus verfügen. Die quantenmechanischen Zustände eines solchen Zweiniveausystems lassen sich als Punkte auf der Oberfläche der sogenannten Blochkugel darstellen.

Ein überlagerter Zustand lässt sich allgemein als

schreiben. Der Eigenvektor |1> zeigt dabei entlang der positiven, und der Eigenvektor |0> entlang der negativen z-Achse.

Um nun den energetischen Zustand der 'Cooper-Paar-Box' zum Beispiel durch ein NOT Gate zu  verändern, muss Energie zu geführt werden um die Besetzungswahrscheinlichkeiten der Energieniveaus zu beeinflussen. Für die Frequenz einer resonanten Störung von E_1 und E_2 gilt:

Laut IBM liegt diese Anregungsfrequenz für ihr System in der Größenordnung von 5 GHz also im Bereich der Mikrowellenstrahlung. Dann oszillieren die Besetzungswahrscheinlichkeiten mit der sogenannten Rabifrequenz Omega gemäß:

Die Rabi Frequenz ist im wesentlichen von der Größe der Cooperbox und der Stärke des eingestrahlten elektromagnetischen Feldes abhängig. Im Bild der Blochkugel rotiert der Zustand dann abhängig von der Ausgangsphase für Phi=0 z.B. um die x-Ache oder für Phi=pi/s um die y-Achse. Es gilt:

Das bedeutet z.B. dass die Mikrowellenstrahlung für einen bitflip, d.h. für eine Rotation um 180°, nur eine bestimmte Zeit einkoppeln darf.  

Das Auslesen des Ladungs-Qubits, d.h. die eigentliche Messung des quantenmechanischen Zustands, erfolgt typischerweise durch elektrostatische Kopplung der Insel mit einem äußerst empfindlichen Elektrometer wie dem Hochfrequenz-Einzelelektronentransistor.

Um nun den beschriebenen Vorgang eines Bitflips zu realisieren habe ich folgende 'Schaltung' im IBM 'Composer' zusammengestellt. 

Der Grundzustand |0> soll durch ein NOT Qugate invertiert, und anschließend gemessen werden. Dazu habe ich eine 'job' auf dem 'belem' System abgesetzt, 

und nach ca. einer Stunde in der Warteschlange sind meine 1024 'runs' innerhalb einer Sekunde erledigt.

Das Ergebnis der Messungen ist unten gezeigt.

974 Messungen zeigen das System nach der Operation im Zustand |1>, und lediglich 50 Messungen zeigen noch den Zustand |0>. Das entspricht einer Fehlerquote von ca. 4,8%. IBM selbst spricht von einer Fehlerquote von 2-3%. 

Entscheidend für zukünftige Quantenrechner wird es sicher sein, das Quantenrauschen weiter zu reduzieren, denn das sorgt beim Rechnen für Fehler.


Viel Spaß beim selber experimentieren...


Keine Kommentare:

Kommentar veröffentlichen