Dela via


Vad är Q# och Azure Quantum Development Kit?

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

Azure QDK är det enda utvecklingspaketet som är redo för feltolerant kvantberäkning (FTQC). Med QDK:t kan du:

  • Felsöka din kod: 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: QDK:n körs i webbläsaren utan installation och använder VS Code-tillägget på datorn, Mac eller Linux-datorn.

  • Skriv koden snabbare: Syntaxmarkering och intelligent kodkomplettering med IntelliSense och skriv hela kodblock som assisteras med Copilot.

  • Kör på 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: I kombination med den senaste Azure Quantum Resource Estimator ger den ett språk som är specifikt utformat för kvantberäkning, Q#vilket gör att du inte kan tänka på kvantbitsarkitekturer, abstrahera maskinvaran och låta dig blanda klassisk och kvantberäkning som alla utförs av kvantmaskinen du targetanvänder.

Dricks

Om du vill påskynda din kvantberäkningsresa kan du kolla in Kod med 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#

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 att utveckla och köra 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 du välbekanta element från Python, C#och F# och stöder 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. Till exempel kan flödeskontrollen för ett klassiskt program 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 qubits till fysiska kvantbitar.
  • 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 kvantbitstillståndet 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 bäst passar dina behov.

Dricks

Förstagångsanvändare får automatiskt 500 USD kostnadsfria Azure Quantum-krediter 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.

Kommentar

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-portalen. Exempelgalleriet innehåller en samling kommenterade notebook-exempel – välj det exempel som du vill utforska och kör det på molnbaserade simulatorer eller verkliga kvantdatorer.

Kommentar

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 Azure QDK-tillägget för Visual Studio Code. Azure 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 Azure QDK-tillägget finns i följande självstudie.

Dricks

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å Azure Quantum-arbetsytan i Azure-portalen eller i din egen lokala utvecklingsmiljö.

Skriva ditt kvantprogram

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 de 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 qubitmodellen.

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

Kommentar

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 Q# jobb. 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 finns i dag från branschledare. Se Quantum Computing-leverantörer för den aktuella listan över maskinvaruleverantörer som stöds.

Kommentar

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 veta mer ger Quantum Katas en bra introduktion till kvantberäkningsbegrepp som vanliga kvantåtgärder och hur du manipulerar kvantbitar.