Q#-Benutzerhandbuch

Willkommen beim Q#-Benutzerhandbuch.

In den verschiedenen Themen dieses Handbuchs werden einige Grundlagen für die Entwicklung von Quantum-Programmen mithilfe von Q# vorgestellt.

Im Q#-Sprachführer finden Sie eine vollständige Spezifikation und Dokumentation der Quantum-Programmiersprache Q#.

Inhalt des Benutzerhandbuchs

  • Q#-Programme: Eine kurze Einführung in Quantum-Programme in Q#

  • Möglichkeiten zum Ausführen eines Q#-Programms: Beschreibt, wie ein Q#-Programm ausgeführt wird, und bietet eine Übersicht über die verschiedenen Möglichkeiten, wie Sie das Programm aufrufen können: über die Befehlszeile, in Q#-Jupyter Notebook-Instanzen oder über ein klassisches Hostprogramm, das in Python oder in einer .NET-Sprache geschrieben ist.

  • Testen und Debuggen: Hier werden einige Verfahren beschrieben, mit denen sichergestellt werden kann, dass sich Ihr Code wie gewünscht verhält. Aufgrund der allgemeinen Opazität von Quanteninformationen sind zum Debuggen eines Quantenprogramms ggf. spezielle Verfahren erforderlich. Erfreulicherweise unterstützt Q# nicht nur quantenspezifische, sondern auch viele klassische Debugverfahren, mit denen Programmierer bereits vertraut sind. Beispiele hierfür sind das Erstellen und Ausführen von Komponententests in Q#, Einbetten von Assertionen in Werten und Wahrscheinlichkeiten in Ihrem Code und die Dump-Funktionen, mit denen der Zustand der Zielcomputer ausgegeben wird. Letzteres kann zusammen mit unserem Simulator für den vollständigen Zustand genutzt werden, um bestimmte Teile von Berechnungen zu debuggen, indem einige Einschränkungen für Quantenvorgänge umgangen werden (z. B. das Theorem zum Thema „Kein Klonen“).

Quantensimulatoren und Ressourcenschätzungen

  • Quantensimulatoren und Hostanwendungen: Eine Übersicht über die verschiedenen verfügbaren Simulatoren sowie Informationen zur Zusammenarbeit von Hostprogrammen und Zielcomputern zur Ausführung von Q#-Programmen

  • Simulator für den vollständigen Zustand: Der Zielcomputer zum Simulieren des vollständigen Quantenzustands. Hilfreich zum vollständigen Ausführen oder Debuggen kleinerer Programme (weniger als ein paar Dutzend Qubits).

  • Zielcomputer für die Ressourcenschätzung: Dient zum Schätzen der erforderlichen Ressourcen für das Ausführen einer bestimmten Instanz eines Q#-Vorgangs auf einem Quantencomputer.

  • Ablaufverfolgungssimulator für Quantencomputer: Dient zum Ausführen eines Quantenprogramms, ohne tatsächlich den Zustand eines Quantencomputers zu simulieren, und eignet sich daher zum Ausführen von Quantenprogrammen mit Tausenden von Qubits. Hilfreich zum Debuggen von klassischem Code in einem Quantenprogramm sowie zum Schätzen der benötigten Ressourcen.

  • Quantum Development Kit-Toffoli-Simulator: Ein spezieller Quantensimulator, der mit Millionen von Qubits verwendet werden kann – allerdings nur für Programme mit einem eingeschränkten Satz von Quantenvorgängen (X, CNOT und mehrfach gesteuertes X).

Kurzübersichten

  • IQ#-Magic-Befehle: Kurzübersicht über IQ#-Magic-Befehle in Q#-Jupyter Notebook-Instanzen.