iX Special 2021
S. 124
Quantenprogrammierung
Gehversuche

Einstieg in Microsofts Quantensprache Q#

Zustände bekommen

Kay Glahn

Microsofts Quantenangebot setzt auf eine eigene Programmiersprache aus der .NET-Familie: Q#. Sie lässt sich eigenständig oder gemeinsam mit Python und .NET-Sprachen verwenden.

Als Teil seines Quantum Development Kit liefert Microsoft die Programmiersprache Q# (siehe Artikel „Einstiegspunkt“ auf S. 118). 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 (Onlineinformationen dazu unter ix.de/zc7g). 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.

Kommentieren