Quantencomputing: Einstieg in Microsofts Quantensprache Q#

Microsoft setzt auf eine eigene Quanten-Programmiersprache aus der .NET-Familie: Q#. Sie funktioniert eigenständig oder gemeinsam mit Python und .NET-Sprachen.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht
Lesezeit: 20 Min.
Von
  • Kay Glahn
Inhaltsverzeichnis

Als Teil seines Quantum Development Kit liefert Microsoft die Programmiersprache Q# . Sie steht als Open-Source-Software bereit – Beiträge zur Erweiterung und Verbesserung sind willkommen. Ein Q#-Quantenprogramm besteht aus Unterroutinen, die Berechnungen ausführen, indem sie mit einem Quantencomputer interagieren. Es kann den Quantenzustand nicht direkt modellieren, sondern beschreibt, wie ein klassischer Rechner mit den Qubits eines Quantencomputers zusammenwirkt. Dadurch können Entwicklerinnen Programme schreiben, die sich zum Quantenzustand auf dem Computer agnostisch verhalten, da dieser abhängig von der jeweiligen Maschine unterschiedliche Interpretationen haben kann.

Deshalb kann man mit Q# nicht den Status oder die Eigenschaften eines Qubits direkt einsehen, sondern lediglich mit Operationen wie Measure() eine Messung anstoßen, um klassische Informationen wie den Zustand |0⟩ und |1⟩ aus einem Qubit zu extrahieren. Intrinsische Operations wie X() und H() definieren dabei die direkten Aktionen mit einem Qubit. Ihre Implementierung stellt nicht Q#, sondern der jeweilige Zielquantencomputer bereit. Q#-Entwickler wissen also nicht, was genau bei einer Operation physikalisch auf der Zielmaschine geschieht.

Ein Q#-Programm lässt sich zum einen als Stand-alone-Applikation direkt ausführen, mit Q# als einziger Sprache. Das geschieht entweder per Kommandozeile oder in einem Q#-fähigen Jupyter-Notebook. Zum anderen lassen sich Q#-Programme durch ein in Python oder einer .NET-Sprache geschriebenes Hostprogramm aufrufen, an das sie Ergebnisse zum Weiterverarbeiten zurückliefern.