Ein Quantensprung ins kalte Wasser Programmieren für Quantencomputer

Von Filipe Martins & Anna Kobylinska 7 min Lesedauer

Wer mit Quanten rechnen will, braucht eine neue Art von „Software“ – und eine neue Generation von Entwicklungswerkzeugen. An der Schnittstelle zwischen künstlicher Intelligenz und Quantenmechanik können Developer hinsichtlich ihrer Erfahrungen einen Quantensprung nach dem anderen machen.

Dr. Maika Takita, Principal Research Scientist bei IBM Research in Yorktown Heights im U.S.-Bundesstaat New York, tüftelt im Thomas J. Watson Research Center von IBM an einem Quantencomputer.(Bild:  Connie Zhou / IBM)
Dr. Maika Takita, Principal Research Scientist bei IBM Research in Yorktown Heights im U.S.-Bundesstaat New York, tüftelt im Thomas J. Watson Research Center von IBM an einem Quantencomputer.
(Bild: Connie Zhou / IBM)

Bei bestimmten, eng umrissenen Aufgaben in Bereichen wie Kryptographie, Materialwissenschaften, der Lösung von Optimierungsproblemen und dergleichen sind Quantencomputer durch nichts zu schlagen. Diese sogenannte „Quantenüberlegenheit“ können klassische Systeme nicht überwinden. Die Kunst besteht darin, den Quantenchips – bei geeigneten Problemstellungen – ihr wahres Potenzial zu entlocken.

Die Quanten-Ära hat nicht einmal richtig begonnen, schon häufen sich erfolgreiche Implementierungen in praxisnahen Anwendungsfällen – auch in der privaten Wirtschaft. Führende deutsche Konzerne – BASF, BMW Group, Bosch, Infineon, Munich Re, SAP, Siemens, Volkswagen – rechnen schon länger (auch) mit Quantencomputern.

BASF-Vorstand Dr. Martin Brüdermüller prophezeit eine große Zukunft: „Quantentechnologien werden eine Reihe disruptiver Innovationen anstoßen.“ Bernhard Kube, CTO bei Lufthansa Industry Solutions, einer Tochtergesellschaft der namhaften Fluglinie, ist überzeugt: „Pioniere haben Startvorteile.“

Zum Anbruch der „zweiten Quantenrevolution“ coden

Quantensensorik und Quantenkommunikation sollen laut der Bundesregierung schon bald „die zweite Quantenrevolution“ einläuten. Deutsche Forschung hat auch hier Pionierarbeit geleistet; die Bundesrepublik will das Feld anführen. Die Fördermittel sind da, doch wo bleiben die Entwickler und Entwicklerinnen?

Aufgaben wie die Optimierung moderner Lieferketten bringen klassische Computer an ihre Grenzen. Quantenchips können in die Bresche springen, doch Vorsicht: Alternative Implementierungen kann man nicht über den gleichen Kamm scheren. Unterschiedliche Quantenalgorithmen spielen ihre Stärken sehr unterschiedlich aus.(Bild:  QUTAC)
Aufgaben wie die Optimierung moderner Lieferketten bringen klassische Computer an ihre Grenzen. Quantenchips können in die Bresche springen, doch Vorsicht: Alternative Implementierungen kann man nicht über den gleichen Kamm scheren. Unterschiedliche Quantenalgorithmen spielen ihre Stärken sehr unterschiedlich aus.
(Bild: QUTAC)

Mit der Gründung des QUTAC-Konsortiums haben sich die Pioniere von Quantencomputing in eigenen Worten „auf eine großflächige Anwendung verständigt“. Das wird wohl nicht ganz einfach. Denn Development-Expertise in diesem Bereich ist genauso selten wie stark nachgefragt.

Quantum-Entwickler und -Entwicklerinnen beherrschen idealerweise Sprachen wie Python, C, C++, C# und Java fließend. Sie fühlen sich zuhause in Softwarepaketen wie MATLAB, R oder SAS. Mit diesem Hintergrund können sie bereits Softwarelösungen entwickeln, die auf kommerziellen Quantencomputern „von der Stange“ laufen und/oder Quantencomputing-as-a-Service nutzen können.

Von der Idee bis zur vollständigen Implementierung durchläuft ein Quantenprogramm mehrere Phasen der Entwicklung, die sehr verschiedene Sprachen und Werkzeuge auf den Plan rufen. In der Abbildung: Workflow-Diagramm einer Implementierung in QDK auf Azure Quantum.(Bild:  Microsoft)
Von der Idee bis zur vollständigen Implementierung durchläuft ein Quantenprogramm mehrere Phasen der Entwicklung, die sehr verschiedene Sprachen und Werkzeuge auf den Plan rufen. In der Abbildung: Workflow-Diagramm einer Implementierung in QDK auf Azure Quantum.
(Bild: Microsoft)

Quantenchips „sprechen“ allerdings ihre eigenen Programmiersprachen wie Microsoft Q#. Sie brauchen spezielle Toolchains und eigenartige Entwicklungsframeworks wie Qiskit (ein Toolkit von IBM) und Cirq (ein quelloffenes Python-Framework von Google).

Der Umgang mit Quantencomputern erfordert zumindest ein grundlegendes Verständnis der Quantenmechanik – also von Konzepten wie Superposition (alias Quantenüberlagerung), Verschränkung und Quanteninterferenz. Nach dem Erlernen der theoretischen Grundlagen können Developer ihre ersten praktischen Erfahrungen mit der Programmierung von Quantencomputern an einem Simulator machen, bevor sie ihren Code auf echter Quantenhardware ausführen.

Qubits und das Optimieren von Quantenalgorithmen

Quantenchips basieren auf Qubits (Quantenbits), also quantenmechanischen Recheneinheiten. Im Gegensatz zu klassischen Bits (die entweder den Wert 0 oder 1 einnehmen), können Qubits in einem Spektrum von Zuständen existieren. Diese Eigenschaft verleiht Quantenchips ihre bemerkenswerten Fähigkeiten, bestimmte Rechenaufgaben deutlich zu beschleunigen.

Verschiedene Anbieter von Quantenchips nutzen unterschiedliche Ansätze, um Qubits zu realisieren. Diese Unterschiede in der Implementierung haben direkte Auswirkungen auf die Quantenprogrammierung – einschließlich der Art und Weise, wie Algorithmen entworfen und optimiert werden müssen.

Supraleitende Qubits von Unternehmen wie IBM, Google und Rigetti verwenden mikroskopische Schaltkreise, die bei extrem niedrigen Temperaturen arbeiten müssen, um Quantenzustände durch die Bewegung von Elektronen zu kontrollieren. Bei der Programmierung supraleitender Qubits gilt es unter anderem, die Fehlerraten und die begrenzte Kohärenzzeit zu berücksichtigen.

Die Fehlerkorrektur und das Timing der Quantenoperationen entscheiden über die Qualität der Resultate von Quantenberechnungen. Entwicklerinnen und Entwickler haben die Aufgabe, die Quantenschaltungen so zu optimieren, dass sie mit der geringsten möglichen Anzahl von Qubits und Gate-Operationen auskommen. Nur so lassen sich Dekohärenz-Effekte im Zaum halten.

Ein „quantenmechanischer“ Zufallszahlengenerator ist in Q# in nur wenigen Zeilen Code erledigt; für die Ausführung steht Entwickler/innen wahlweise der In-Memory-Simulator oder der H-Series-Emulator von Quantinuum zur Verfügung.(Bild:  Martins & Kobylinska / Microsoft)
Ein „quantenmechanischer“ Zufallszahlengenerator ist in Q# in nur wenigen Zeilen Code erledigt; für die Ausführung steht Entwickler/innen wahlweise der In-Memory-Simulator oder der H-Series-Emulator von Quantinuum zur Verfügung.
(Bild: Martins & Kobylinska / Microsoft)

Trapped-Ion Qubits von Anbietern wie IonQ und Honeywell verwenden geladene Atome (Ionen), die in einem elektromagnetischen Feld gefangen sind. Qubit-Zustände in diesen Chips lassen sich mit Hilfe von Lasern beeinflussen. Trapped-Ion-Systeme bieten in der Regel eine höhere Fidelität und längere Kohärenzzeiten als supraleitende Qubits.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu RZ- und Server-Technik

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Herausforderungen ergeben sich jedoch bei der Skalierbarkeit und der Geschwindigkeit der Operationen. Quantenentwickler und -entwicklerinnen können komplexere Quantenoperationen und längere Schaltkreise entwerfen, müssen aber auch die längeren Gate-Zeiten berücksichtigen.

Photonen-basierte Qubits wie die von Xanadu übertragen Quanteninformationen, indem sie in optischen Schaltkreisen mit den Zuständen einzelner Photonen hantieren. Die resultierenden Quantenchips können ohne Weiteres bei Raumtemperatur rechnen. Das Aber: Bei diesem Ansatz gilt es, Besonderheiten der photonischen Interferenzen und die Möglichkeiten der Nichtlinearität in den optischen Komponenten in ihre Algorithmen mit einzubeziehen. Developer können spezielle Quantenalgorithmen entwerfen, die die Eigenschaften von photonischen Systemen nutzen.

Nicht zuletzt gibt es noch den – bisher theoretischen – Ansatz mit topologischen Qubits von Microsoft. Diese Qubits basieren auf Majorana-Fermionen. Majorana-Fermionen sind gleichzeitig Teilchen und ihre eigenen Antiteilchen, im Gegensatz zu Elektronen und Positronen unterscheidet man also nicht zwischen ihnen. Dies soll den resultierenden Qubits eine besondere Robustheit und andere begehrenswerte Eigenschaften verleihen. Microsofts topologische Qubits sollen mit einer hohen Fehlerresistenz auftrumpfen können, wenn sie einmal so weit sind.

Bisher ist das noch Zukunftsmusik – was Microsoft allerdings nicht davon abhält, mit dem Quantum Development Kit (QDK) einen Werkzeugkasten dafür zu entwickeln. Scharen von Entwicklerinnen und Entwicklern sind so bereits auf den Geschmack von Quantensoftware gekommen.

(ID:50068442)