Co jsou Q# a Azure Quantum Development Kit?

Azure Quantum Development Kit (Moderní sada QDK) je sada SDK potřebná pro rozhraní se službou Azure Quantum. Pomocí nástroje Quantum Development Kitmůžete vytvářet kvantové programy, které běží na kvantovém hardwaru v Azure Quantum.

Poznámka

Po 30. červnu 2024 už nebude podporována sada Microsoft Quantum Development Kit (Classic QDK). Pokud jste stávající vývojář QDK, doporučujeme přejít na novou verzi Azure Quantum Development Kit (moderní QDK), abyste mohli pokračovat ve vývoji kvantových řešení. Další informace najdete v tématu Migrace Q# kódu do moderní sady QDK.

Moderní sada QDK je jedinou vývojovou sadou připravenou pro Fault-Tolerant quantum computing (FTQC). Moderní sada QDK umožňuje:

  • Ladění kódu: Nabízí ladicí program pro kvantové výpočty, který dokáže krokovat klasickým a kvantovým kódem. V kombinaci se simulátorem s řídkou v paměti poskytuje rychlou simulaci až tisíců logických qubitů.

  • Zvolte svoji platformu: Moderní sada QDK běží ve webovém prohlížeči bez nutnosti instalace a s rozšířením VS Code na počítači PC, Mac nebo linuxovém počítači.

  • Rychlejší psaní kódu: Zvýrazňování syntaxe a inteligentní dokončování kódu pomocí IntelliSense a psaní celých bloků kódu s využitím Funkce Copilot

  • Spusťte na zvoleném hardwaru: Sada QDK se bezproblémově integruje se službou Azure Quantum a spouští vaše algoritmy na široké škále kvantových počítačů a simulátorů.

  • Návrh pro FTQC: Spolu s nejmodernějším nástrojem Azure Quantum Resource Estimator poskytuje jazyk navržený speciálně pro kvantové výpočty, Q#který vás osvobodí od přemýšlení o architekturách qubitů, abstrahování hardwaru a umožňuje kombinovat klasické a kvantové výpočty prováděné kvantovým počítačem, který používáte target.

Tip

Pokud chcete zrychlit cestu k kvantovému computingu, podívejte se na kód s využitím Azure Quantum, jedinečné funkce webu Azure Quantum. Tady můžete spustit předdefinované Q# ukázky nebo vlastní Q# programy, vygenerovat nový Q# kód z výzev, otevřít a spustit kód v editoru VS Code pro web jedním kliknutím a zeptat se společnosti Copilot na jakékoli otázky týkající se kvantových výpočtů.

Kvantový programovací jazyk Q#

Moderní sada QDK obsahuje kvantový programovací jazyk Q#, opensourcový programovací jazyk vysoké úrovně, který vám umožní zaměřit se na práci na úrovni algoritmu při vytváření kvantových programů.

Q# je opensourcový programovací jazyk vysoké úrovně pro vývoj a spouštění kvantových algoritmů. Je součástí Quantum Development Kit sady QDK a je navržený tak, aby byl nezávislý na hardwaru, škáloval se na celou řadu kvantových aplikací a optimalizoval provádění.

Jako programovací jazyk Q# kreslí známé prvky z Pythonu, C# a F# a podporuje základní procedurální model pro psaní programů se smyčkami, příkazy if/then a běžnými datovými typy. Zavádí také nové kvantově specifické datové struktury a operace, jako je například repeat-until-success, které umožňují integraci kvantových a klasických výpočtů. Například řízení toku klasického programu může být založeno na výsledku kvantového měření.

Při psaní algoritmů by měl kvantový programovací jazyk splňovat následující požadavky na jazyk, kompilátor a modul runtime:

  • Abstraktní qubity. Kvantové algoritmy používají qubity, které nejsou vázané na konkrétní hardware nebo rozložení. Kompilátor a modul runtime zpracovávají mapování z programových qubitů na fyzické qubity.
  • Kvantové a klasické výpočty. Schopnost provádět klasické a kvantové výpočty je v univerzálním kvantovém počítači nezbytná.
  • Respektujte fyzikální zákony. Kvantové algoritmy se řídí pravidly kvantové fyziky. Nemůžou například kopírovat stav qubitu nebo k nim přistupovat přímo.

Další informace najdete v uživatelské příručce pro Q# kvantový programovací jazyk.

Začínáme s Azure Quantum Development Kit

Existuje více než jeden způsob, jak začít s kvantovým programováním. Můžete si vybrat možnost, která nejlépe vyhovuje vašim potřebám.

Tip

První uživatelé automaticky získají bezplatné kredity Azure Quantumv hodnotě 500 USD pro použití u každého zúčastněného poskytovatele kvantového hardwaru. Pokud jste využili všechny kredity a potřebujete víc, můžete se přihlásit do programu Azure Quantum Credits.

Web Azure Quantum

Web Azure Quantum je nejjednodušší způsob, jak začít s kvantovým programováním. Pomocí online editoru kódu na webu Azure Quantum můžete spustit Q# kód v prohlížeči bez nutnosti nastavení a požádat o pomoc Copilot. Jediným kliknutím v online editoru kódu můžete otevřít kód v editoru VS Code na webu a pokračovat v práci v předkonfigurovaném kvantovém prostředí zdarma.

Poznámka

Web Azure Quantum je bezplatný a nevyžaduje účet Azure.

Ukázky na portálu Azure Quantum

Pokud chcete začít trénovat a psát programy Q# bez instalace dalšího softwaru, můžete použít hostované poznámkové bloky Jupyter Notebook, které jsou dostupné v pracovním prostoru Azure Quantum v Azure Portal. Galerie ukázek obsahuje kolekci ukázek poznámkových bloků s poznámkami – vyberte ukázku, kterou chcete prozkoumat, a spusťte ji na cloudových simulátorech nebo skutečných kvantových počítačích.

Poznámka

Pokud chcete používat hostované poznámkové bloky Jupyter, potřebujete účet Azure. Pokud účet Azure nemáte, můžete si ho zdarma vytvořit.

Místní vývojové prostředí

Pokud dáváte přednost místnímu vývojovému prostředí, můžete nainstalovat moderní rozšíření QDK pro Visual Studio Code. Moderní rozšíření QDK poskytuje plnohodnotné vývojové prostředí pro Q#, včetně zvýraznění syntaxe, zpětné vazby kódování v reálném čase a ladění.

Pokud chcete začít používat moderní rozšíření QDK, projděte si následující kurz.

Tip

Moderní sada QDK obsahuje sadu předdefinovaných Q# ukázek, které můžete použít k získání dalších informací o Q# kvantových výpočtech. Pokud chcete zobrazit ukázky, otevřete nový Q# soubor a zadejte samplea pak v seznamu možností vyberte ukázku, kterou chcete zobrazit.

Pracovní postup kvantového vývoje

Následující diagram znázorňuje fáze, kterými kvantový program prochází od nápadu k úplné implementaci v Azure Quantum, a nástroje nabízené pro jednotlivé fáze.

Diagram znázorňující pracovní postup vývoje kvantového programování

Volba vývojového prostředí

Spusťte kvantové programy ve vašem upřednostňovaném vývojovém prostředí. Můžete použít online editor kódu na webu Azure Quantum, hostované poznámkové bloky Jupyter Notebook, které jsou dostupné v pracovním prostoru Azure Quantum v Azure Portal, nebo vlastní místní vývojové prostředí.

Psaní kvantového programu

Sada QDK nabízí podporu pro Q#, ale také pro jazyky Qiskit a Cirq pro kvantové výpočty.

Abyste mohli začít, můžete sledovat Q# kurzy a prozkoumat kvantové koncepty, jako je superpozice, propletení, Groverův kvantový algoritmus a další kvantové jevy.

Integrace s Pythonem

Sada QDK umožňuje integrovat Q# programy s Pythonem. K volání Q# operací můžete použít program Pythonu.

Odhad prostředků

Před spuštěním na kvantovém hardwaru budete muset zjistit, jestli váš program může běžet na existujícím hardwaru a kolik prostředků bude spotřebovávat.

Nástroj Azure Quantum Resource Estimator umožňuje vyhodnotit rozhodnutí o architektuře, porovnat qubitové technologie a určit prostředky potřebné k provedení daného kvantového algoritmu. Můžete si vybrat z předdefinovaných protokolů odolných proti chybám a zadat předpoklady základního modelu fyzických qubitů.

Další informace najdete v tématu Spuštění prvního odhadu prostředků.

Poznámka

Nástroj Azure Quantum Resources Estimator je bezplatný a nevyžaduje účet Azure.

Spuštění programu v simulátoru

Když kompilujete a spustíte kvantový program, QDK vytvoří instanci kvantového simulátoru Q# a předá jí kód. Simulátor podle kódu Q# vytvoří simulované qubity a podle zadaných transformací bude manipulovat s jejich stavy. Výsledky kvantových operací ze simulátoru se pak vrátí do programu. Izolování kódu Q# v simulátoru zajišťuje, že algoritmy budou odpovídat zákonům kvantové fyziky a budou správně fungovat i na kvantových počítačích.

Odesílání úloh do služby Azure Quantum

Své Q# programy (označované také jako úlohy) můžete odesílat do Azure Quantum prostřednictvím upřednostňovaného vývojového prostředí, a to jak místně, tak online. Další informace najdete v tématu o odesílání Q# úloh. Můžete také spouštět a odesílat kvantové obvody napsané v jazycích Qiskit a Cirq.

Azure Quantum nabízí jedny z nejpůsobivějších a nejrozmanitějších kvantových hardwarů, které jsou dnes k dispozici od špičkových pracovníků v oboru. Aktuální seznam podporovaných poskytovatelů hardwaru najdete v tématu Poskytovatelé kvantových výpočtů .

Poznámka

Cloudový emulátor targetQuantinuum H-Series je k dispozici bez účtu Azure. Pokud chcete odeslat úlohu zbývajícím poskytovatelům Azure Quantum, potřebujete účet Azure a kvantový pracovní prostor. Pokud nemáte kvantový pracovní prostor, přečtěte si téma Vytvoření pracovního prostoru Azure Quantum.

Následující diagram znázorňuje základní pracovní postup po odeslání úlohy:

Diagram znázorňující pracovní postup po odeslání úlohy do Azure Quantum

Pokud se chcete dozvědět více, kvantové katy poskytují dobrý úvod do konceptů kvantových výpočtů , jako jsou běžné kvantové operace a způsob manipulace s qubity.