22.3.23
Development
Neuigkeiten

Frontend für Quanten­computer: Wir sind Ent­wicklungs­partner von THE QUANTUM LÄND

(Bildquelle:thequantumlaend.de)

„Quanten­computer und Quanten­simulatoren made in THE LÄND Baden-Württemberg.“ Das ist Slogan und Ziel des Projekts THE QUANTUM LÄND. In den Laboren des 5. physikalischen Instituts und des Instituts für Theoretische Physik III der Universität Stuttgart wird hierzu geforscht, programmiert und entwickelt, was das Zeug hält. Wir steuern einen Drag-and-Drop-Designer für Quanten­schaltkreise bei – entwickelt als intuitiv bedienbare Webanwendung.

Wie funktioniert Quanten­computing eigentlich?  

Im Gegensatz zu klassischen Computern, die auf Bits basieren, verwenden Quanten­computer sogenannte Qubits, deren quanten­mechanische Eigenschaften wie Super­position und Verschränkung in speziellen Algorithmen ausgenutzt werden. Super­position bedeutet, dass ein Qubit – anders als ein Bit – nicht nur den Wert 0 oder 1 haben, sondern sich auch in einer Überlagerung dieser beiden Zustände befinden kann. Verschränkung bezieht sich darauf, dass mehrere Qubits so transformiert werden können, dass ihre Zustände miteinander verknüpft sind. Diese (quanten­mechanischen) Eigenschaften ermöglichen es, Algorithmen zu entwickeln, die klassischen bei Weitem überlegen sind. Ein wichtiges Beispiel hierfür ist der nach seinem Entdecker benannte Shor-Algorithmus zur Zerlegung einer Zahl in ihre Primfaktoren.

Um die Quanten­informationen zu verarbeiten, werden sogenannte Quanten­schaltkreise benötigt. Wie normale Schaltkreise bestehen diese aus einer Abfolge von Gattern – Elementen, die eine Eingabe zulassen und eine Ausgabe erzeugen. Anders als klassische Gatter arbeiten Quanten­gatter jedoch nicht nur mit binären Ein- und Ausgaben, sondern führen eine spezifische Transformation auf den Zuständen der Qubits aus. Beispiels­weise kann ein Quanten­gatter ein Qubit in eine Super­position von 0 und 1 versetzen oder zwei Qubits in eine Verschränkung bringen. Die Abfolge der Quanten­gatter in einem Quanten­schaltkreis wird oft auch als Quanten­algorithmus bezeichnet, da sie eine bestimmte Berechnung durchführt.

Hoher Besuch: Am 15.02.2023 bekamen Ministerpräsident Winfried Kretschmann und Wissenschaftsministerin Petra Olschowski die aktuellen Highlights des QUANTUM LÄNDs präsentiert. (Bildquelle: Universität Stuttgart)

Das QRydDemo-Projekt: Qubit-Manipulation mit Lasern

QRydDemo ist eines der Projekte des QUANTUM LÄNDs. Ziel des Projekts ist es, einen Quanten­prozessor zu bauen, der mit Qubits arbeitet, die von einzelnen Atomen repräsentiert werden. Die Idee dahinter: ähnlich wie ein Bit durch „Strom an“ oder „Strom aus“ codiert wird, sollen auch Qubits codierbar werden. Das Mittel zum Zweck sind Strontium-Atome, die über gezielte Laser­manipulation in den sogenannten Rydberg-Zustand gebracht werden können. Dies ermöglicht es, Wechsel­wirkungen zwischen den Atomen schnell ein- und auszuschalten, wodurch Quanten­gatter mit geringen Fehler­raten implementiert werden können.

Rydberg-Atome reagieren empfindlich auf äußere elektromagnetische Felder und interagieren stark und kontrollierbar mit benachbarten Rydberg-Atomen. (Bildquelle: thequantumlaend.de)

Um sich das besser vorstellen zu können, eignet sich ein kleiner Exkurs in die Mathematik: Während man die (Bit-)Basis-Zustände mit den Zahlen 0 oder 1 kenn­zeichnen kann, benötigt man für Qubits zwei (orthogonale) Basis-Vektoren \( \vec{e_0}= \ket{0} \) und \( \vec{e_1}= \ket{1} \), mit Hilfe derer sich durch Linear­kombination und Normierung unendlich viele weitere Zustände konstruieren lassen. Vereinfacht ausgedrückt – und lediglich bezogen auf reelle Zahlen – ist es also möglich, den Zustand eines Qubits durch einen normierten, zwei­dimensionalen Vektor, also einen Punkt auf dem Einheits­kreis, zu beschreiben.

Die orthogonalen Vektoren \( \vec{e_0} \) und \( \vec{e_1} \) codieren die beiden Zustände „0“ und „1“ eines klassischen Bits (Abb. links). Aus den normierten Vektoren \( \vec{e_0} \) und \( \vec{e_1} \) kann die Linearkombination \( \vec{v} \) mit den Koeffizienzen \( \alpha \) und \( \beta \) geformt werden, die als Superposition der beiden Zustände \( \vec{e_0} \) und \( \vec{e_1} \) interpretiert werden kann. (Abb. mitte). Der Quantenzustand eines Qubits kann durch einen Punkt auf dem Einheitskreis beschrieben werden. (Abb. rechts). (Bildquelle: thequantumlaend.de)

Zurück zu unseren Qubits: Wie erwähnt können diese mittels Laser­manipulation in einen neuen Zustand versetzt werden. Im Vergleich zu Bits ist dieser jedoch nicht binär – also nicht 0 oder 1. Zumindest, solange er nicht gemessen wird (Stichwort: Heisenbergsche Unschärfe­relation). Nach der Messung erhält man zwar den Zustand 0 oder 1, je nach vorangegangener Manipulation allerdings mit unter­schiedlichen Wahr­scheinlich­keiten. Aus diesem Grund sind Quanten­algorithmen nicht deterministisch, sondern probabilistisch, liefern also ein Resultat mit einer gewissen Wahr­scheinlichkeit.

Wenn man n nummerierte Qubits hat, die nach Durch­laufen des Algorithmus bzw. des Schalt­kreises gemessen werden, erhält man einen Gesamtzustand, der in der Form \(c_1c_2\cdots c_n\) mit \(c_i\in\left\{0,1\right\}\) geschrieben werden kann. Um die relative Häufigkeit und damit die Wahrscheinlichkeit für einen Zustand zu ermitteln, muss der Algorithmus mehrmals ausgeführt und die gewonnenen Ergebnisse akkumuliert werden. Je eindeutiger das Ergebnis ist – also je eher die Wahrscheinlichkeit eines Zustands bei 1 ist –, umso aussagekräftiger ist dieses. Sind gewisse Zustände annähernd gleichverteilt, treten also mit recht ähnlicher Häufigkeit auf, sagt das Ergebnis weniger oder – im Falle der Gleichverteilung auf allen Zuständen– gar nichts aus. Diese Eigenschaft kann man allerdings ausnutzen, um Zufallszahlen zu generieren.

Der Quanten­schaltkreis-Simulator: Quanten­algorithmen per Drag-and-Drop entwickeln

Der an der Universität Stuttgart entwickelte Quanten­schaltkreis-Simulator des QRydDemo-Projekts simuliert einzelne Gatter und kann diese hinter­­einander ausführen, um komplexe Logiken aufzubauen. Die Operationen, die auch auf mehrere Qubits gleichzeitig wirken können, werden sequenziell ausgeführt. Dies ermöglicht es nicht nur, den Algorithmus grafisch darzustellen, sondern ihn auch visuell zu entwickeln. Um ein aussage­kräftiges Häufigkeits­ergebnis zu gewinnen, muss der Algorithmus, wie weiter oben erläutert, mehrmals ausgeführt werden, wobei die Anzahl individuell bestimmt werden kann. Dafür wird der Algorithmus an die Server der Universität Stuttgart geschickt. Um den Algorithmus ausführen zu können, muss dieser jedoch in einer speziellen Assembler-Sprache für Quanten­computer vorliegen. Hierfür wird auf die Sprache OpenQASM zurückgegriffen, die extra für das textbasierte Codieren von Quanten­­schaltkreisen entwickelt wurde. Der visuell erstellte Schaltkreis muss also übersetzt werden.

Hier kommt nun unser Editor ins Spiel, der es erlaubt, einen visuell gestalteten Quanten­schaltkreis in OpenQASM zu übersetzen sowie umgekehrt OpenQASM Code visuell darzustellen. Die Web­anwendung basiert auf Angular und ermöglicht grafische Darstellungen von Quanten­schaltkreisen über ein gerendertes SVG. Mithilfe des touch-fähigen Drag-and-Drop-Features können verschiedenste Gatter einfach und intuitiv auf ein oder mehrere Qubits „gezogen“ und angeordnet werden. Der automatisch übersetzte OpenQASM-Code wird an die Server der Universität Stuttgart geschickt und dort ausgeführt. Die Ergebnisse der Simulation werden zurück­gespielt und über ein Histogramm grafisch dargestellt.

Unser Designer in Aktion

Folgende Darstellung bildet die Funktions­weise des Simulators ausführlich ab:

Schritt 1: Zunächst wird die Anzahl der Qubits über + und - eingestellt (1 bis 10 Qubits sind möglich).  

Schritt 2: Nun können die verschiedenen Gatter (Gates) aus der Gates Box in die Schaltkreis-Box (Quantum circuit) gezogen und auf die als horizontale Linien dargestellten Qubits gesetzt werden. Die wichtigsten Gatter:

                                       
            Hadamard Gatter: bringt ein Qubit in den Superpositionszustand \( \frac{1}{\sqrt2}(\ket{0} + \ket{1}) \)
    SWAP Gatter: tauscht den Zustand zweier Qubits
    Pauli-X NOT Gatter: Wie im klassischen Fall werden \( \ket{0} \) und \( \ket{1} \) getauscht. Aufgrund der Überlagerung wirkt der Operator folgendermaßen: \( \mathup{Not}(\alpha\ket{0} + \beta\ket{1}) = \beta \ket{0} + \alpha \ket{1} \)
    CNOT Gatter: In Verbindung mit dem Hadamard-Gatter können zwei Qubits verschränkt werden: \( \mathup{CNot}(\alpha \ket{00} + \) \( \beta \ket{01} + \) \( \gamma \ket{10} + \) \( \delta \ket{11} = \) \( \alpha \ket{00} + \) \( \beta \ket{01} + \) \( \gamma \ket{11} + \) \( \delta \ket{10} \)
    Toffoli Gatter: Analog wie das CNOT-Gate, allerdings müssen beide Control-Qubits \( \ket{1} \) sein, damit das dritte invertiert wird.

Schritt 3: Sobald die Quanten­schaltung editiert wurde, wird sie automatisch in OpenQASM Code übersetzt, der in der QASM code Box angezeigt wird.

Schritt 4: Der aktualisierte OpenQASM-Code wird automatisch an die QRydDemo-API der Universität Stuttgart gesendet und im Simulator ausgeführt. Um die statistischen Schwankungen der Mess­ergebnisse zu beobachten, kann der Algorithmus über die Schaltf­läche Manual submit immer wieder neu gestartet werden.

Schritt 5: Der Simulator der Universität Stuttgart führt den Quanten­schaltkreis-Simulator wiederholt aus und akkumuliert die Mess­ergebnisse. Sobald der QRydDemo-Quanten­computer funktioniert, kann anstelle des Simulators ein echter Quanten­computer als Ziel­ ausgewählt werden.

Schritt 6: Die gesammelten Mess­ergebnisse werden an den Quanten­schaltungs­simulator im Browser zurückgesendet.

Schritt 7: Die Ergebnisse werden im Histogram Feld des Quanten­schaltkreis-Simulators angezeigt. Die y-Achse zeigt die Anzahl der Auswertungen des Algorithmus, die nach der Messung zu einer bestimmten Qubit-Konfiguration geführt haben (alle Balken addieren sich also zu 200). Auf der x-Achse werden die möglichen Mess­ergebnisse angezeigt.


Der Quanten­schaltkreis-Simulator ist übrigens für jeden frei zugänglich.
Probiert euch doch einfach mal aus.

Auf dieser Homepage findet ihr auch umfangreiche Tutorials zur Quantenmechanik und Quanten­computing.

Autor
Mirko Kraft
Softwareentwickler
Autor
Robert Dieterle
Softwareentwickler
Autor
Alexander Weber
Head of Marketing

Weitere Artikel

Agile
Digitalisierung
16.2.22

Mindset auf Agil

LEWA Programmmanager Moritz Pastow und unser Agile Coach René Paschold im VDMA-Interview über agile Transformation im Maschinenbau

Neuigkeiten
9.3.22

generic.de ist Partner des CyberLabs

Die generic.de AG ist seit Februar 2022 Partner des IT-Accelerators CyberLab und unterstützt als Softwaredienstleister Startups bei ihrem Markteintritt.

Wie können wir Sie beraten?
Telefon
Online Beratung
Kontaktanfrage
Telefon
Wir freuen uns auf Ihren Anfruf
+49 (0) 721-619096-0
+49 (0) 721-619096-19
Für Sie erreichbar von
Mo bis Fr 8-16 Uhr
Online Beratung
Buchen Sie online einen für Sie passenden Termin
Wir freuen uns auf Ihre Nachricht
Wenn Du wissen möchtest, welche Daten wir ver­ar­beiten und wie lange wir diese speichern, findest du weiter­führende Infor­mationen in unserer Daten­schutz­erklärung.
Vielen Dank! Ihre Kontaktanfrage wurde von uns empfangen!
Oh nein! Irgendwas ist schiefgelaufen. Probieren Sie es bitte noch einmal!
Kontakt