Was sind Q# und azure Quantum Development Kit?

Das Azure Quantum Development Kit (Modern QDK) ist das SDK, das für die Schnittstelle mit dem Azure Quantum-Dienst erforderlich ist. Quantum Development KitMit können Sie Quantenprogramme erstellen, die auf Quantenhardware in Azure Quantum ausgeführt werden.

Hinweis

Microsoft Quantum Development Kit (classic QDK) wird nach dem 30. Juni 2024 nicht mehr unterstützt. Wenn Sie ein vorhandener QDK-Entwickler sind, empfehlen wir Ihnen, auf das neue Azure Quantum Development Kit (Modern QDK) umzusteigen, um die Entwicklung von Quantenlösungen fortzusetzen. Weitere Informationen finden Sie unter Migrieren ihres Q# Codes zum modernen QDK.

Das moderne QDK ist das einzige Development Kit, das für Fault-Tolerant Quantum Computing (FTQC) bereit ist. Mit dem modernen QDK haben Sie folgende Möglichkeiten:

  • Debuggen Sie Ihren Code: Es bietet einen Quantencomputingdebugger, der klassischen und Quantencode durchlaufen kann. In Kombination mit seinem Sparse-In-Memory-Simulator ermöglicht es eine schnelle Simulation von bis zu Tausenden logischer Qubits.

  • Wählen Sie Ihre Plattform aus: Das moderne QDK wird in Ihrem Webbrowser ohne Installation und mit der VS Code-Erweiterung auf Ihrem PC, Mac oder Linux-Computer ausgeführt.

  • Schreiben Sie Ihren Code schneller: Syntaxhervorhebung und intelligente Codevervollständigung mit IntelliSense und Schreiben ganzer Codeblöcke, die mit Copilot unterstützt werden.

  • Führen Sie die Ausführung auf hardware Ihrer Wahl aus: Das QDK lässt sich nahtlos in Azure Quantum integrieren, um Ihre Algorithmen auf einer Vielzahl von Quantencomputern und Simulatoren auszuführen.

  • Entwurf für die FTQC: In Kombination mit dem hochmodernen Azure Quantum Resource Estimator stellt es eine Sprache bereit, die speziell für Quantencomputing entwickelt wurde, Q#wodurch Sie keine Gedanken über Qubitarchitekturen machen, die Hardware abstrahieren und es Ihnen ermöglicht, klassische und Quantenberechnungen zu kombinieren, die alle von dem Quantencomputer ausgeführt werden target, den Sie gerade ausführen.

Tipp

Wenn Sie Ihren Weg zum Quantencomputing beschleunigen möchten, lesen Sie Code mit Azure Quantum, ein einzigartiges Feature der Azure Quantum-Website. Hier können Sie integrierte Q# Beispiele oder Ihre eigenen Q# Programme ausführen, neuen Q# Code aus Ihren Eingabeaufforderungen generieren, Ihren Code in VS Code für das Web mit einem Klick öffnen und ausführen und Copilot Fragen zum Quantencomputing stellen.

Programmiersprache Q# für Quantencomputing

Das moderne QDK enthält die Quantenprogrammiersprache Q#, eine allgemeine Open-Source-Programmiersprache , mit der Sie Ihre Arbeit auf Algorithmusebene konzentrieren können, um Quantenprogramme zu erstellen.

Q# ist eine Allgemeine Open-Source-Programmiersprache zum Entwickeln und Ausführen von Quantenalgorithmen. Es ist Teil des Quantum Development Kit QDK und wurde entwickelt, um hardwareunabhängig zu sein, auf das gesamte Spektrum von Quantenanwendungen zu skalieren und die Ausführung zu optimieren.

Die Programmiersprache Q# nutzt vertraute Elemente aus Python, C# und F# und unterstützt ein einfaches Prozedurmodell zum Schreiben von Programmen mit Schleifen, If/Then-Anweisungen und gängigen Datentypen. Außerdem werden neue quantenspezifische Datenstrukturen und -vorgänge eingeführt, z. B. repeat-until-success, die die Integration von Quantenberechnungen und klassischen Berechnungen ermöglichen. Beispielsweise kann die Flusssteuerung eines klassischen Programms auf dem Ergebnis einer Quantenmessung basieren.

Beim Schreiben von Algorithmen sollte eine Quantenprogrammiersprache die folgenden Anforderungen für Sprache, Compiler und Runtime erfüllen:

  • Abstrakte Qubits. Quantenalgorithmen verwenden Qubits, die nicht an eine bestimmte Hardware oder ein bestimmtes Layout gebunden sind. Compiler und Runtime verarbeiten die Zuordnung von Programmqubits zu physischen Qubits.
  • Quanten- und klassische Berechnung. Die Fähigkeit, klassische und Quantenberechnungen durchzuführen, ist in einem universellen Quantencomputer von entscheidender Bedeutung.
  • Gesetze der Physik respektieren. Quantenalgorithmen folgen den Regeln der Quantenphysik. Beispielsweise können sie den Qubitstatus nicht direkt kopieren oder darauf zugreifen.

Weitere Informationen finden Sie im Benutzerhandbuch für die Q# Quantenprogrammiersprache.

Erste Schritte mit Azure Quantum Development Kit

Es gibt mehr als eine Möglichkeit, mit der Quantenprogrammierung zu beginnen. Sie können die Option auswählen, die Ihren Anforderungen am besten entspricht.

Tipp

Erstmalige Benutzer erhalten automatisch kostenlose Azure Quantum-Gutschriften in Höhe von 500 USD für die Verwendung mit jedem teilnehmenden Quantenhardwareanbieter. Wenn Sie das gesamte Guthaben verbraucht haben und mehr benötigen, können Sie sich für das Azure Quantum Credits-Programm bewerben.

Azure Quantum-Website

Die Azure Quantum-Website ist die einfachste Möglichkeit für die ersten Schritte mit der Quantenprogrammierung. Mit dem Onlinecode-Editor auf der Azure Quantum-Website können Sie Code in Ihrem Browser ausführen Q# , ohne dass eine Einrichtung erforderlich ist, und Copilot um Hilfe bitten. Mit einem Klick im Onlinecode-Editor können Sie Ihren Code in VS Code im Web öffnen und kostenlos in einer vorkonfigurierten Quantenumgebung arbeiten.

Hinweis

Die Azure Quantum-Website ist kostenlos und erfordert kein Azure-Konto.

Beispiele im Azure Quantum-Portal

Wenn Sie mit dem Üben und Schreiben Ihrer Q# Programme beginnen möchten, ohne zusätzliche Software zu installieren, können Sie die gehosteten Jupyter-Notebooks verwenden, die in Ihrem Azure Quantum-Arbeitsbereich im Azure-Portal verfügbar sind. Der Stichprobenkatalog enthält eine Sammlung von annotierten Notebookbeispielen – wählen Sie das Beispiel aus, das Sie erkunden und auf cloudbasierten Simulatoren oder echten Quantencomputern ausführen möchten.

Hinweis

Um die gehosteten Jupyter Notebooks verwenden zu können, benötigen Sie ein Azure-Konto. Wenn Sie kein Azure-Konto besitzen, können Sie kostenlos ein Konto erstellen.

Lokale Entwicklungsumgebung

Wenn Sie eine lokale Entwicklungsumgebung bevorzugen, können Sie die moderne QDK-Erweiterung für Visual Studio Code installieren. Die Moderne QDK-Erweiterung bietet eine Entwicklungsumgebung mit vollem Funktionsumfang für Q#, einschließlich Syntaxherunterhebung, Feedback zur Codierung in Echtzeit und Debuggen.

Informationen zu den ersten Schritten mit der Modernen QDK-Erweiterung finden Sie im folgenden Tutorial.

Tipp

Das moderne QDK enthält eine Reihe integrierter Q# Beispiele, die Sie verwenden können, um mehr über Q# und Quantencomputing zu erfahren. Um die Beispiele anzuzeigen, öffnen Sie eine neue Q# Datei, und geben Sie sampleein, und wählen Sie dann aus der Liste der Optionen das Beispiel aus, das Sie anzeigen möchten.

Quantenentwicklungsworkflow

Das folgende Diagramm zeigt die Phasen, in denen ein Quantenprogramm von der Idee bis zur vollständigen Implementierung in Azure Quantum verläuft, und die tools, die für jede Phase angeboten werden.

Diagramm, das den Workflow der Entwicklung der Quantenprogrammierung zeigt.

Auswählen Ihrer Entwicklungsumgebung

Führen Sie Ihre Quantenprogramme in Ihrer bevorzugten Entwicklungsumgebung aus. Sie können den Onlinecode-Editor auf der Azure Quantum-Website, die gehosteten Jupyter Notebooks, die in Ihrem Azure Quantum-Arbeitsbereich im Azure-Portal verfügbar sind, oder Ihre eigene lokale Entwicklungsumgebung verwenden.

Schreiben Ihres Quantenprogramms

Das QDK bietet Unterstützung für Q#, aber auch für Qiskit und Cirq-Sprachen für Quantencomputing.

Um zu beginnen, können Sie die Q# Tutorials befolgen und Quantenkonzepte wie Superposition, Verschränkung, Grovers Quantenalgorithmus und andere Quantenphänomene erkunden.

Integrieren in Python

Mit dem QDK können Sie Programme in Python integrieren Q# . Sie können ein Python-Programm verwenden, um Vorgänge aufzurufen Q# .

Schätzen von Ressourcen

Vor der Ausführung auf Quantenhardware müssen Sie herausfinden, ob Ihr Programm auf vorhandener Hardware ausgeführt werden kann und wie viele Ressourcen es verbrauchen wird.

Mit dem Azure Quantum Resource Estimator können Sie Architekturentscheidungen bewerten, Qubittechnologien vergleichen und die Ressourcen ermitteln, die zum Ausführen eines bestimmten Quantenalgorithmus erforderlich sind. Sie können aus vordefinierten fehlertoleranten Protokollen wählen und Annahmen des zugrunde liegenden physischen Qubitmodells angeben.

Weitere Informationen finden Sie unter Ausführen ihrer ersten Ressourcenschätzung.

Hinweis

Der Azure Quantum Resources Estimator ist kostenlos und erfordert kein Azure-Konto.

Ausführen des Programms im Simulator

Wenn Sie ein Quantenprogramm kompilieren und ausführen, erstellt das QDK eine instance des Quantensimulators und übergibt den Q# Code an diesen. Der Simulator verwendet den Q#-Code, um Qubits (Simulationen von Quantenteilchen) zu erstellen und Transformationen anzuwenden, um deren Zustand zu ändern. Danach werden die Ergebnisse der Quantenoperationen im Simulator an das Programm zurückgegeben. Durch die Isolierung des Q#-Codes im Simulator wird sichergestellt, dass die Algorithmen den Gesetzen der Quantenphysik folgen und ordnungsgemäß auf Quantencomputern ausgeführt werden können.

Übermitteln von Aufträgen an den Azure Quantum-Dienst

Sie können Ihre Q# Programme (auch als Aufträge bezeichnet) über Ihre bevorzugte Entwicklungsumgebung lokal und online an Azure Quantum übermitteln. Weitere Informationen finden Sie unter Senden von Q#Aufträgen. Sie können auch In Qiskit- und Cirq-Sprachen geschriebene Quantenschaltungen ausführen und übermitteln.

Azure Quantum bietet einige der überzeugendsten und vielfältigsten Quantenhardware, die derzeit von Branchenführern verfügbar ist. Die aktuelle Liste der unterstützten Hardwareanbieter finden Sie unter Quantencomputing-Anbieter in Azure Quantum.

Hinweis

Der cloudbasierte Quantinuum H-Series Emulatortarget ist ohne Azure-Konto verfügbar. Um einen Auftrag an den Rest der Azure Quantum-Anbieter zu übermitteln, benötigen Sie ein Azure-Konto und einen Quantenarbeitsbereich. Wenn Sie keinen Quantenarbeitsbereich haben, finden Sie weitere Informationen unter Erstellen eines Azure Quantum-Arbeitsbereichs.

Das folgende Diagramm zeigt den grundlegenden Arbeitsablauf, nachdem Sie Ihren Auftrag übermittelt haben:

Diagramm, das den Workflow nach einer Auftragsübermittlung an Azure Quantum zeigt.

Unsere Quantum-Katas bieten eine gute Einführung in Konzepte des Quantencomputings, so wie allgemeine Quantenvorgänge und das Bearbeiten von Qubits, falls Sie mehr erfahren möchten.