Wir modernisieren die Quanten -Katas -Erfahrung. Bitte besuchen Sie https://quantum.microsoft.com/experience/quantum-katas, um die neue Online-Erfahrung von Azure Quantum Katas mit integrierter Unterstützung von Copilot in Azure Quantum auszuprobieren.
Für das moderne QDK -Repository besuchen Sie bitte Microsoft/QSHARP.
Weitere Informationen zum modernen QDK und Azure Quantum finden Sie unter https://aka.ms/aq/documentation.
Die Quantenkatas sind eine Sammlung von Tutorials und Programmierübungen, mit denen Sie Quantencomputer und Q# -Programmierung lernen können.
Jede Kata ist eine separate Reihe von Übungen, darunter:
Die Quantenkatas enthalten auch Tutorials , die den Lernenden in die grundlegenden Konzepte und Algorithmen einführen, die beim Quantencomputer verwendet werden, beginnend mit den erforderlichen Mathematik (komplexe Zahlen und lineare Algebra). Sie folgen dem gleichen Muster der Ergänzung der Theorie mit Q#-Demos und praktischen Programmierübungen.
Hier ist der Lernpfad, den wir Ihnen verfolgen können, wenn Sie anfangen, Quantencomputer und Quantenprogrammierung zu lernen. Sobald Sie sich mit den Grundlagen wohl fühlen, können Sie gerne zu den Themen springen, die Ihr Interesse wecken!
Für ein Q# Programmiersprache schnelles Referenzblatt finden Sie Q# Language Quick Referenz.
Die Quantenkatas sind jetzt als Jupyter -Notizbücher online erhältlich! Siehe Index.ipynb für die Liste aller Katas und Tutorials sowie Anweisungen zum Online -Ausführen.
Beachten Sie, dass MyBinder.org mit reduzierter Kapazität ausgeführt wird. Daher kann es mehrere Versuche erfordern, eine virtuelle Maschine zu erhalten und die Notizbücher zu starten. Wenn Sie die katas online ausführen, ist dies die einfachste Option, um loszulegen. Wenn Sie Ihre Fortschritte sparen und eine bessere Leistung genießen möchten, empfehlen wir Ihnen, die lokale Setup -Option auszuwählen.
Um die Quantenkatas lokal zu verwenden, benötigen Sie das Quantenentwicklungskit für Windows 10, MacOS und Linux. Wenn Sie das Quantenentwicklungskit noch nicht installiert haben, finden Sie im Installationsleitfaden für das Quantenentwicklungskit.
Wenn Sie die Katas und Tutorials lokal als Jupyter -Notizbücher ausführen möchten :
pytest -Paket.matplotlib -Paket.matplotlib und numpy -Pakete.Informationen zum Aktualisieren von IQ# Kernel in einer neuen Version mit monatlichen QDK -Veröffentlichungen finden Sie in der Aktualisierung von IQ# Kernel.
Wenn Sie die Katas und Tutorials lokal als Q# -Projekte ausführen möchten :
Befolgen Sie die Schritte im QDK -Installationshandbuch für Visual Studio, Visual Studio Code oder andere Redakteure.
Das Ausführen der Q# -Projekte der Katas vor Ort erfordert das Herunterladen und Installieren des .NET 6.0 SDK. Sie können dies auch dann tun, wenn Sie eine weitere .NET-Version installiert haben, da mehrere Versionen nebeneinander unterstützt werden.
Da Visual Studio 2019 keine .NET 6.0 -Projekte unterstützt, müssen Sie auf Visual Studio 2022 upgraden und die entsprechende Erweiterung von Microsoft Quantum Development Kit installieren.
Wenn Sie Git installiert haben, klonen Sie das Microsoft/Quantumkatas -Repository:
$ git clone https://github.com/Microsoft/QuantumKatas.gitTIPP
Sowohl Visual Studio 2022 als auch Visual Studio Code machen es einfach, Repositorys aus Ihrer Entwicklungsumgebung zu klonen. Details finden Sie in der Dokumentation von Visual Studio und Visual Studio Code.
Wenn Sie Git nicht installiert haben, laden Sie die Katas von https://github.com/microsoft/quantumkatas/archive/main.zip herunter.
Der beste Weg, die Katas als Jupyter -Notizbücher auszuführen, besteht darin, zum Stammordner des Repositorys zu navigieren und index.ipynb mit Jupyter zu öffnen:
$ cd QuantumKatas/
$ jupyter notebook index.ipynbDadurch wird das Notizbuch geöffnet, das eine Liste aller Katas und Tutorials enthält, und Sie können zu dem navigieren, den Sie verwenden möchten.
HINWEIS: Dadurch wird der Jupyter Notebooks -Server im selben Befehlszeilenfenster gestartet, mit dem Sie den Befehl ausgeführt haben. Wenn Sie dieses Fenster für die Navigation weiterhin verwenden möchten, können Sie Jupyter Notebooks Server in einem neuen Fenster mit den folgenden Befehlen starten:
Für Fenster:
$ cd QuantumKatas/ $ start jupyter notebook index.ipynbFür Ubuntu:
$ cd QuantumKatas/ $ gnome-terminal -- start jupyter notebook index.ipynb
Sie können auch ein einzelnes Notizbuch direkt öffnen, dies kann jedoch interne Links ungültig machen:
$ cd QuantumKatas/tutorials/ComplexArithmetic
$ jupyter notebook ComplexArithmetic.ipynbJede Kata befindet sich in einem eigenen Verzeichnis als in sich geschlossenes Q# -Projekt-, Lösungs- und Jupyter-Notebook-Triplett. Beispielsweise lautet die BasicGates -Verzeichnisstruktur:
QuantumKatas/
BasicGates/
README.md # Instructions specific to this kata.
.vscode/ # Metadata used by Visual Studio Code.
BasicGates.sln # Visual Studio solution file.
BasicGates.csproj # Project file used to build both classical and quantum code.
BasicGates.ipynb # Jupyter Notebook front-end for this kata.
Workbook_BasicGates.ipynb # Jupyter Notebook workbook for this kata.
Tasks.qs # Q# source code that you will fill as you solve each task.
Tests.qs # Q# tests that verify your solutions.
ReferenceImplementation.qs # Q# source code containing solutions to the tasks.Um die BasicGates Kata in Visual Studio 2022 zu öffnen, öffnen Sie die Lösungsdatei Quantumkatas/BasicGates/BasicGates.sln .
Öffnen Sie den Quantumkatas/ BasicGates/ Ordner, um die BasicGates Kata im Visual Studio -Code zu öffnen. Drücken Sie Strg + Shift + P (oder ⌘ + Shift + P auf MacOS), um die Befehlspalette zu öffnen. Geben Sie den Ordner der Öffnung auf Windows 10 oder Linux ein oder öffnen Sie auf macOS.
TIPP
Fast alle im Visual Studio Code verfügbaren Befehle befinden sich in der Befehlspalette. Wenn Sie stecken bleiben, drücken Sie Strg + Shift + P (oder ⌘ + Shift + P bei MacOS) und beginnen Sie mit der Eingabe, um alle verfügbaren Befehle zu durchsuchen.Sie können auch Visual Studio -Code aus der Befehlszeile starten:
$ code QuantumKatas/BasicGates/
Sobald Sie eine Kata geöffnet haben, ist es Zeit, die Tests mit den folgenden Anweisungen durchzuführen. Anfangs scheitern alle Tests. Keine Panik! Öffnen Sie Aufgaben.Qs und füllen Sie den Code ein, um die Aufgaben zu erledigen. Jede Aufgabe wird durch einen Unit -Test abgedeckt. Sobald Sie den richtigen Code für eine Aufgabe ausfüllen, bauen Sie das Projekt neu auf und führen Sie die Tests erneut aus, und der entsprechende Unit-Test wird bestehen.
cd -Befehl enthält.dotnet test im integrierten Terminal aus. Dies sollte das Kata -Projekt aufbauen und alle Unit -Tests durchführen. Alle Unit -Tests sollten fehlschlagen.dotnet test erneut zu testen.Für die Konfiguration gibt es für jede Kata eine Konfigurationsdatei von tasks.json. Es ermöglicht Visual Studio Code, die Build- und Testschritte aus der Befehlspalette auszuführen. Drücken Sie Strg + Shift + P (oder ⌘ + Shift + P auf MacOS), um die Palette zu öffnen und die Aufgabe des Ausführens zu rennen oder die Testaufgabe auszuführen und die Eingabetaste zu drücken.
Sie können die mitgelieferte Dockerfile verwenden, um ein Docker -Bild mit allen erforderlichen Tools zu erstellen, um die Katas aus der Befehlszeile oder Jupyter auszuführen.
katas : docker build -t katas .katas-container mit interaktiven Befehlszeilen- und Containeranschluss 8888 auf den lokalen Port 8888 aus (für den Ausführen von Jupyter): docker run -it --name katas-container -p 8888:8888 katas /bin/bash cd ~ /BasicGates/
dotnet test cd ~ /BasicGates/ && jupyter notebook --ip=0.0.0.0 --no-browser http://localhost:8888/notebooks/BasicGates.ipynb
Um einen Docker -Container zu verlassen, ohne ihn zu töten (Daemon -Modus), drücken Sie Strg+P, Strg+q
Um in den vorhandenen katas-container (im Daemon-Modus) einzutreten:
docker attach katas-container Sobald Sie fertig sind, entfernen Sie den katas-container :
docker rm --force katas-containerDieses Projekt begrüßt Beiträge und Vorschläge. Sehen Sie, wie kann ich dazu beitragen? für Details.
Dieses Projekt hat den Microsoft Open Source -Verhaltenscode übernommen. Weitere Informationen finden Sie im FAQ oder wenden Sie sich an [email protected] mit zusätzlichen Fragen oder Kommentaren.