Einführung in Q# & Quantum Development Kit - Azure Quantum (2024)

  • Artikel

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

Hinweis

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

Das Modern QDK ist das einzige Development Kit für fehlertolerantes Quantencomputing (FTQC). Mit dem Modern QDK haben Sie folgende Möglichkeiten:

  • Debuggen Ihres Codes: Es bietet einen Quantencomputing-Debugger, der klassischen Code und Quantencode durchlaufen kann. In Verbindung mit dem schlangen In-Memory-Simulator ermöglicht es eine schnelle Simulation von bis zu Tausenden logischer Qubits.

  • Auswählen der Plattform: Das Modern QDK wird ohne Installation in Ihrem Webbrowser und mit seiner VS Code-Erweiterung auf Ihrem PC, Mac oder Linux-Computer ausgeführt.

  • Schnelleres Schreiben von Code: Syntaxhervorhebung und intelligente Codevervollständigung mit IntelliSense und Schreiben ganzer Codeblöcke mit Copilot.

  • Ausführen auf der Hardware Ihrer Wahl: Der QDK lässt sich nahtlos in Azure Quantum integrieren, um Ihre Algorithmen auf einer Vielzahl von Quantencomputern und Simulatoren auszuführen.

  • Design für die FTQC: Gepaart mit dem modernsten Azure Quantum Resource Estimator, bietet es eine Sprache speziell für Quantencomputing entwickelt, Q#die Sie vom Nachdenken über Qubit-Architekturen befreit, die Hardware abstrahiert und ermöglicht es Ihnen, klassische und Quantenberechnungen zu mischen, die alle von der Quantenmaschine durchgeführt werden, die Sie targeting.

Tipp

Wenn Sie Ihre Quantum Computing-Reise beschleunigen möchten, schauen Sie sich Code mit Azure Quantum an, einem einzigartigen Feature der Azure Quantum-Website. Hier können Sie integrierte Q# Beispiele oder Eigene Q# Programme ausführen, neuen Q# Code aus Ihren Eingabeaufforderungen generieren, Ihren Code in VS Code für das Web mit nur einem Klick öffnen und ausführen und Copilot fragen.

Programmiersprache Q# für Quantencomputing

Der 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 Open Source-, High-Level-Programmiersprache für die Entwicklung und Ausführung von Quantenalgorithmen. Es ist Teil des Quantum Development Kit (QDK) und ist darauf ausgelegt, hardwareagnostisch zu sein, auf die gesamte Palette 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 -operationen eingeführt, z . B. Repeat-until-Success, die die Integration von Quanten- 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 die Sprache, den Compiler und die Laufzeit erfüllen:

  • Abstrakte Qubits. Quantenalgorithmen verwenden Qubits, die nicht an bestimmte Hardware oder ein bestimmtes Layout gebunden sind. Der Compiler und die Runtime verarbeiten die Zuordnung von Programm-Qubits zu physischen Qubits.
  • Quanten- und klassische Berechnung. Die Fähigkeit, klassische und Quantenberechnungen durchzuführen, ist in einem universellen Quantencomputer unerlässlich.
  • Respektieren Sie Gesetze der Physik. Quantenalgorithmen folgen den Regeln der Quantenphysik. Sie können z. B. den Qubit-Zustand 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 USD500 kostenloseAzure Quantum Credits für die Verwendung mit jedem teilnehmenden Quantenhardwareanbieter. Wenn Sie alle Credits verbraucht haben und mehr benötigen, können Sie sich beim Azure Quantum-Guthabenprogramm bewerben.

Azure Quantum-Website

Die Azure Quantum-Website ist die einfachste Möglichkeit, mit der Quantenprogrammierung zu beginnen. Mit dem Onlinecode-Editor auf der Azure Quantum-Website können Sie Code in Ihrem Browser ohne Setup ausführen Q# und Copilot um Hilfe bitten. Mit einem Klick im Online-Code-Editor können Sie Ihren Code in VS Code im Web öffnen und weiterhin 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-Notizbücher zu verwenden, benötigen Sie ein Azure-Konto. Wenn Sie nicht über ein Azure-Konto verfügen, 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 umfassende Entwicklungsumgebung, Q#einschließlich Syntaxmarkierung, Echtzeitcodierungsfeedback und Debugging.

Informationen zu den ersten Schritten mit der Modern QDK-Erweiterung finden Sie im folgenden Lernprogramm.

Tipp

Der moderne QDK enthält eine Reihe von integrierten Q# Beispielen, die Sie verwenden können, um mehr über Q# die Quantenverarbeitung zu erfahren. Um die Beispiele anzuzeigen, öffnen Sie eine neue Q# Datei, und geben sampleSie dann das Beispiel ein, das Sie in der Liste der Optionen anzeigen möchten.

Quantenentwicklungsworkflow

Das folgende Diagramm zeigt die Phasen, durch die ein Quantenprogramm von der Idee bis zur vollständigen Implementierung in Azure Quantum und den für jede Stufe angebotenen Tools geht.

Einführung in Q# & Quantum Development Kit - Azure Quantum (1)

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-Notizbücher verwenden, die in Ihrem Azure Quantum-Arbeitsbereich in der Azure-Portal oder in Ihrer eigenen lokalen Entwicklungsumgebung verfügbar sind.

Schreiben Ihres Quantenprogramms

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

Um zu beginnen, können Sie die Q# Lernprogramme verfolgen und Quantenkonzepte wie Superposition, Veranglement, Grovers Quantenalgorithmus und andere Quantenphänomene erkunden.

Integration 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# .

Ressourcen schätzen

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, Qubit-Technologien 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 Qubit-Modells angeben.

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

Hinweis

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

Programm im Simulator ausführen

Wenn Sie ein Quantenprogramm kompilieren und ausführen, erstellt der QDK eine Instanz des Quantensimulators und übergibt den Q# Code an ihn. 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 Quantenschaltungen ausführen und übermitteln, die in Qiskit- und Cirq-Sprachen geschrieben wurden.

Azure Quantum bietet einige der überzeugendsten und vielfältigen Quantenhardware, die heute von Branchenführern zur Verfügung steht. Die aktuelle Liste der unterstützten Hardwareanbieter finden Sie unter Quantencomputing-Anbieter in Azure Quantum.

Hinweis

Der cloudbasierte Quantinuum H-Series-Emulatortarget ist ohne Ein 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, lesen Sie " Erstellen eines Azure Quantum"-Arbeitsbereichs.

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

Einführung in Q# & Quantum Development Kit - Azure Quantum (2)

Zugehöriger Inhalt

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.

  • QuickStarts
  • Grundlegendes zu Quantencomputing
  • Das Q#-Benutzerhandbuch
  • Lineare Algebra für Quantencomputing
Einführung in Q# & Quantum Development Kit - Azure Quantum (2024)
Top Articles
Latest Posts
Article information

Author: Allyn Kozey

Last Updated:

Views: 6115

Rating: 4.2 / 5 (43 voted)

Reviews: 90% of readers found this page helpful

Author information

Name: Allyn Kozey

Birthday: 1993-12-21

Address: Suite 454 40343 Larson Union, Port Melia, TX 16164

Phone: +2456904400762

Job: Investor Administrator

Hobby: Sketching, Puzzles, Pet, Mountaineering, Skydiving, Dowsing, Sports

Introduction: My name is Allyn Kozey, I am a outstanding, colorful, adventurous, encouraging, zealous, tender, helpful person who loves writing and wants to share my knowledge and understanding with you.