Vad är Q# och Azure Quantum Development Kit?

Azure Quantum Development Kit (Modern QDK) är det SDK som krävs för att interagera med Azure Quantum-tjänsten. Quantum Development KitMed kan du skapa kvantprogram som körs på kvantmaskinvara i Azure Quantum.

Anteckning

Microsoft Quantum Development Kit (klassisk QDK) stöds inte längre efter den 30 juni 2024. Om du är en befintlig QDK-utvecklare rekommenderar vi att du övergår till nya Azure Quantum Development Kit (Modern QDK) för att fortsätta utveckla kvantlösningar. Mer information finns i Migrera din Q# kod till Modern QDK.

Modern QDK är det enda utvecklingspaketet som är redo för Fault-Tolerant Quantum Computing (FTQC). Med modern QDK kan du:

  • Felsöka koden: Den erbjuder ett felsökningsprogram för kvantberäkning som kan gå igenom klassisk kod och kvantkod. Tillsammans med dess glesa minnesintern simulator ger den snabb simulering av upp till tusentals logiska kvantbitar.

  • Välj din plattform: Modern QDK körs i webbläsaren utan att någon installation krävs och med dess VS Code-tillägg på datorn, Mac eller Linux-datorn.

  • Skriv koden snabbare: Syntaxmarkering och intelligent kodkomplettering med IntelliSense och skriv hela kodblock med hjälp av Copilot.

  • Kör efter val av maskinvara: QDK integreras sömlöst med Azure Quantum för att köra dina algoritmer på en mängd olika kvantdatorer och simulatorer.

  • Design för FTQC: Tillsammans med den senaste Azure Quantum Resource Estimator tillhandahåller den ett språk som utformats specifikt för kvantberäkning, Q#vilket frigör dig från att tänka på kvantbitsarkitekturer, abstrahera maskinvaran och låta dig blanda klassisk och kvantberäkning som alla utförs av den kvantdator du targetanvänder.

Tips

Om du vill påskynda din kvantberäkningsresa kan du kolla in Code with Azure Quantum, en unik funktion på Azure Quantum-webbplatsen. Här kan du köra inbyggda Q# exempel eller egna Q# program, generera ny Q# kod från dina frågor, öppna och köra koden i VS Code för webben med ett klick och ställa frågor till Copilot om kvantberäkning.

Kvantprogrammeringsspråket Q#

Modern QDK innehåller kvantprogrammeringsspråket Q#, ett programmeringsspråk med öppen källkod på hög nivå som gör att du kan fokusera ditt arbete på algoritmnivå för att skapa kvantprogram.

Q# är ett programmeringsspråk med öppen källkod på hög nivå för utveckling och körning av kvantalgoritmer. Det är en del av Quantum Development Kit (QDK) och är utformat för att vara maskinvaruagnostisk, skala till alla kvantprogram och optimera körningen.

Som programmeringsspråk Q# hämtar välbekanta element från Python, C#och F# och har stöd för en grundläggande procedurmodell för att skriva program med loopar, if/then-instruktioner och vanliga datatyper. Den introducerar också nya kvantspecifika datastrukturer och -åtgärder, till exempel repeat-until-success, som möjliggör integrering av kvantberäkningar och klassiska beräkningar. Flödeskontrollen för ett klassiskt program kan till exempel baseras på resultatet av en kvantmätning.

När du skriver algoritmer bör ett kvantprogrammeringsspråk uppfylla följande krav för språket, kompilatorn och körningen:

  • Abstrakta kvantbitar. Kvantalgoritmer använder kvantbitar som inte är knutna till specifik maskinvara eller layout. Kompilatorn och körningen hanterar mappningen från program-qubitar till fysiska qubitar.
  • Kvantberäkning och klassisk beräkning. Möjligheten att utföra klassiska beräkningar och kvantberäkningar är viktig i en universell kvantdator.
  • Respektera fysikens lagar. Kvantalgoritmer följer kvantfysikens regler. De kan till exempel inte kopiera eller komma åt qubit-tillstånd direkt.

Mer information finns i användarhandboken för Q# kvantprogrammeringsspråk.

Kom igång med Azure Quantum Development Kit

Det finns mer än ett sätt att komma igång med kvantprogrammering. Du kan välja det alternativ som passar dina behov bäst.

Tips

Förstagångsanvändare får automatiskt kostnadsfria $500 (USD)Azure Quantum Credits för användning med varje deltagande kvantmaskinvaruleverantör. Om du har förbrukat alla krediter och behöver mer kan du ansöka om Azure Quantum Credits-programmet.

Azure Quantum-webbplats

Azure Quantum-webbplatsen är det enklaste sättet att komma igång med kvantprogrammering. Med onlinekodredigeraren på Azure Quantum-webbplatsen kan du köra Q# kod i webbläsaren utan att någon konfiguration krävs och be Copilot om hjälp. Med ett klick i onlinekodredigeraren kan du öppna koden i VS Code på webben och fortsätta arbeta i en förkonfigurerad kvantmiljö utan kostnad.

Anteckning

Azure Quantum-webbplatsen är kostnadsfri och kräver inget Azure-konto.

Exempel i Azure Quantum-portalen

Om du vill börja öva och skriva dina Q# program utan att installera ytterligare programvara kan du använda de värdbaserade Jupyter Notebooks som är tillgängliga på din Azure Quantum-arbetsyta i Azure Portal. Exempelgalleriet innehåller en samling kommenterade notebook-exempel – välj det exempel som du vill utforska och köra det på molnbaserade simulatorer eller verkliga kvantdatorer.

Anteckning

Om du vill använda de värdbaserade Jupyter Notebooks behöver du ett Azure-konto. Om du inte har något Azure-konto kan du skapa ett konto kostnadsfritt.

Lokal utvecklingsmiljö

Om du föredrar en lokal utvecklingsmiljö kan du installera tillägget Modern QDK för Visual Studio Code. Det moderna QDK-tillägget tillhandahåller en komplett utvecklingsmiljö för Q#, inklusive syntaxmarkering, feedback om kodning i realtid och felsökning.

Information om hur du kommer igång med tillägget Modern QDK finns i följande självstudie.

Tips

Modern QDK innehåller en uppsättning inbyggda Q# exempel som du kan använda för att lära dig mer om Q# och kvantberäkning. Om du vill visa exemplen öppnar du en ny Q# fil och skriver sampleoch väljer sedan det exempel som du vill visa i listan med alternativ.

Arbetsflöde för kvantutveckling

Följande diagram visar de steg genom vilka ett kvantprogram går från idé till fullständig implementering på Azure Quantum och de verktyg som erbjuds för varje steg.

Diagram som visar arbetsflödet för kvantprogrammeringsutveckling.

Välj utvecklingsmiljö

Kör dina kvantprogram i önskad utvecklingsmiljö. Du kan använda onlinekodredigeraren på Azure Quantum-webbplatsen, de värdbaserade Jupyter Notebooks som är tillgängliga på din Azure Quantum-arbetsyta i Azure Portal eller i din egen lokala utvecklingsmiljö.

Skriva kvantprogrammet

QDK erbjuder stöd för Q#, men även för Qiskit- och Cirq-språk för kvantberäkning.

För att komma igång kan du följa självstudierna Q# och utforska kvantbegrepp som superposition, sammanflätning, Grover-kvantalgoritm och andra kvantfenomen.

Integrera med Python

Med QDK kan du integrera Q# program med Python. Du kan använda ett Python-program för att anropa Q# åtgärder.

Beräkna resurser

Innan du kör kvantmaskinvara måste du ta reda på om programmet kan köras på befintlig maskinvara och hur många resurser det kommer att förbruka.

Med Azure Quantum Resource Estimator kan du utvärdera arkitektoniska beslut, jämföra kvantbitstekniker och fastställa vilka resurser som behövs för att köra en viss kvantalgoritm. Du kan välja mellan fördefinierade feltoleranta protokoll och ange antaganden för den underliggande fysiska kvantbitsmodellen.

Mer information finns i Kör din första resursuppskattning.

Anteckning

Azure Quantum Resources Estimator är kostnadsfri och kräver inget Azure-konto.

Köra programmet i simulatorn

När du kompilerar och kör ett kvantprogram skapar QDK en instans av kvantsimulatorn och skickar koden till den Q# . Simulatorn använder Q#-koden för att skapa kvantbitar (simuleringar av kvantpartiklar) och tillämpa transformeringar för att ändra deras tillstånd. Resultatet av kvantåtgärderna i simulatorn returneras sedan till programmet. Isolering av Q#-koden i simulatorn ser till att algoritmerna följer kvantfysikens lagar och att de körs korrekt på kvantdatorer.

Skicka jobb till Azure Quantum-tjänsten

Du kan skicka dina Q# program (även kallade jobb) till Azure Quantum via önskad utvecklingsmiljö, både lokalt och online. Mer information finns i skicka jobbQ#. Du kan också köra och skicka kvantkretsar skrivna på Qiskit- och Cirq-språk.

Azure Quantum erbjuder några av de mest övertygande och mångsidiga kvantmaskinvara som är tillgängliga idag från branschledare. Se Quantum Computing-leverantörer för den aktuella listan över maskinvaruleverantörer som stöds.

Anteckning

Den molnbaserade Quantinuum H-seriens emulatortarget är tillgänglig utan ett Azure-konto. Om du vill skicka ett jobb till resten av Azure Quantum-leverantörerna behöver du ett Azure-konto och en kvantarbetsyta. Om du inte har någon kvantarbetsyta kan du läsa Skapa en Azure Quantum-arbetsyta.

Följande diagram visar det grundläggande arbetsflödet när du har skickat jobbet:

Diagram som visar arbetsflödet efter att ett jobb har överförts till Azure Quantum.

Om du vill lära dig mer ger Quantum Katas en bra introduktion till kvantberäkningsbegrepp som vanliga kvantåtgärder och hur du manipulerar kvantbitar.