Wat zijn Q# en de Azure Quantum Development Kit?

De Azure Quantum Development Kit (Moderne QDK) is de SDK die is vereist voor een interface met de Azure Quantum-service. Met de Quantum Development Kitkunt u kwantumprogramma's bouwen die worden uitgevoerd op kwantumhardware in Azure Quantum.

Notitie

Quantum Development Kit Microsoft (klassieke QDK) wordt na 30 juni 2024 niet meer ondersteund. Als u een bestaande QDK-ontwikkelaar bent, raden we u aan over te stappen op de nieuwe Azure Quantum Development Kit (Moderne QDK) om door te gaan met het ontwikkelen van kwantumoplossingen. Zie Uw Q# code migreren naar de moderne QDK voor meer informatie.

De moderne QDK is de enige development kit die gereed is voor Fault-Tolerant Quantum Computing (FTQC). Met de moderne QDK kunt u het volgende doen:

  • Fouten opsporen in uw code: Het biedt een foutopsporingsprogramma voor kwantumcomputing dat klassieke en kwantumcode kan doorlopen. In combinatie met de sparse in-memory simulator biedt het een snelle simulatie van maximaal duizenden logische qubits.

  • Kies uw platform: De moderne QDK wordt uitgevoerd in uw webbrowser zonder installatie en met de VS Code-extensie op uw pc, Mac of Linux-computer.

  • Schrijf uw code sneller: Syntaxismarkering en intelligente codevoltooiing met IntelliSense en het schrijven van volledige codeblokken met hulp van Copilot.

  • Voer uit op de hardware van uw keuze: De QDK kan naadloos worden geïntegreerd met Azure Quantum om uw algoritmen uit te voeren op een breed scala aan kwantumcomputers en simulators.

  • Ontwerp voor de FTQC: In combinatie met de state-of-the-art Azure Quantum Resource Estimator biedt het een taal die speciaal is ontworpen voor kwantumcomputing, Q#waardoor u niet meer hoeft na te denken over qubit-architecturen, de hardware abstract maakt en u klassieke berekeningen en kwantumberekeningen kunt combineren die allemaal worden uitgevoerd door de kwantumcomputer die u gebruikt target.

Tip

Als u uw kwantumcomputingtraject wilt versnellen, raadpleegt u Code met Azure Quantum, een unieke functie van de Azure Quantum-website. Hier kunt u ingebouwde Q# voorbeelden of uw eigen Q# programma's uitvoeren, nieuwe Q# code genereren op basis van uw prompts, uw code openen en uitvoeren in VS Code voor het web met één klik en Copilot vragen stellen over kwantumcomputing.

De kwantumprogrammeertaal Q#

De moderne QDK bevat de kwantumprogrammeertaal Q#, een opensource-programmeertaal op hoog niveau waarmee u uw werk op algoritmeniveau kunt richten om kwantumprogramma's te maken.

Q# is een opensource-programmeertaal op hoog niveau voor het ontwikkelen en uitvoeren van kwantumalgoritmen. Het maakt deel uit van de Quantum Development Kit (QDK) en is ontworpen om hardwareneutraal te zijn, te schalen naar het volledige scala aan kwantumtoepassingen en om de uitvoering te optimaliseren.

Als programmeertaal Q# tekent u vertrouwde elementen uit Python, C# en F#, en ondersteunt u een eenvoudig proceduremodel voor het schrijven van programma's met lussen, if/then-instructies en algemene gegevenstypen. Het introduceert ook nieuwe kwantumspecifieke gegevensstructuren en -bewerkingen, zoals herhalen tot succes, waarmee kwantum- en klassieke berekeningen kunnen worden geïntegreerd. De stroomregeling van een klassiek programma kan bijvoorbeeld worden gebaseerd op het resultaat van een kwantummeting.

Bij het schrijven van algoritmen moet een kwantumprogrammeertaal voldoen aan de volgende vereisten voor de taal, compiler en runtime:

  • Abstracte qubits. Kwantumalgoritmen gebruiken qubits die niet zijn gekoppeld aan specifieke hardware of indeling. De compiler en runtime verwerken de toewijzing van programma-qubits naar fysieke qubits.
  • Kwantum- en klassieke berekeningen. De mogelijkheid om klassieke berekeningen en kwantumberekeningen uit te voeren is essentieel in een universele kwantumcomputer.
  • Respecteer de wetten van de natuurkunde. Kwantumalgoritmen volgen de regels van de kwantumfysica. Ze kunnen bijvoorbeeld de qubitstatus niet rechtstreeks kopiëren of openen.

Zie de gebruikershandleiding voor kwantumprogrammeertaal Q#voor meer informatie.

Aan de slag met Azure Quantum Development Kit

Er zijn meer dan één manier om aan de slag te gaan met kwantumprogrammering. U kunt de optie kiezen die het beste bij uw behoeften past.

Tip

Nieuwe gebruikers krijgen automatisch gratis $ 500 (USD)Azure Quantum-tegoed voor gebruik met elke deelnemende kwantumhardwareprovider. Als u alle tegoeden hebt verbruikt en u meer nodig hebt, kunt u zich aanmelden voor het Azure Quantum-tegoedprogramma.

Azure Quantum-website

De Azure Quantum-website is de eenvoudigste manier om aan de slag te gaan met kwantumprogrammering. Met de online code-editor op de Azure Quantum-website kunt u code uitvoeren Q# in uw browser zonder dat u hiervoor instellingen hoeft in te stellen en Copilot om hulp vragen. Met één klik in de online code-editor kunt u uw code openen in de webversie van VS Code en gratis verder werken in een vooraf geconfigureerde kwantumomgeving.

Notitie

De Azure Quantum-website is gratis en vereist geen Azure-account.

Voorbeelden in Azure Quantum Portal

Als u wilt beginnen met het oefenen en schrijven van uw Q# programma's zonder extra software te installeren, kunt u de gehoste Jupyter Notebooks gebruiken die beschikbaar zijn in uw Azure Quantum-werkruimte in de Azure Portal. De voorbeeldgalerie bevat een verzameling notebookvoorbeelden met aantekeningen. Selecteer het voorbeeld dat u wilt verkennen en voer het uit op cloudsimulators of echte kwantumcomputers.

Notitie

Als u de gehoste Jupyter Notebooks wilt gebruiken, hebt u een Azure-account nodig. Als u geen Azure-account hebt, kunt u gratis een account maken.

Lokale ontwikkelomgeving

Als u liever een lokale ontwikkelomgeving gebruikt, kunt u de moderne QDK-extensie voor Visual Studio Code installeren. De moderne QDK-extensie biedt een volledige ontwikkelomgeving voor Q#, inclusief syntaxismarkering, realtime coderingsfeedback en foutopsporing.

Zie de volgende zelfstudie om aan de slag te gaan met de moderne QDK-extensie.

Tip

De moderne QDK bevat een set ingebouwde Q# voorbeelden die u kunt gebruiken voor meer informatie over Q# en kwantumcomputing. Als u de voorbeelden wilt weergeven, opent u een nieuw Q# bestand en typt sampleu en selecteert u vervolgens het voorbeeld dat u wilt weergeven in de lijst met opties.

Werkstroom voor kwantumontwikkeling

In het volgende diagram ziet u de fasen waarin een kwantumprogramma van idee tot volledige implementatie in Azure Quantum gaat, en de hulpprogramma's die voor elke fase worden aangeboden.

Diagram met de werkstroom van de ontwikkeling van kwantumprogrammering.

Uw ontwikkelomgeving kiezen

Voer uw kwantumprogramma's uit in de ontwikkelomgeving van uw voorkeur. U kunt de online code-editor op de Azure Quantum-website, de gehoste Jupyter Notebooks gebruiken die beschikbaar zijn in uw Azure Quantum-werkruimte in de Azure Portal of uw eigen lokale ontwikkelomgeving.

Uw kwantumprogramma schrijven

De QDK biedt ondersteuning voor Q#, maar ook voor Qiskit- en Cirq-talen voor kwantumcomputing.

Om aan de slag te gaan, kunt u de Q# zelfstudies volgen en kwantumconcepten verkennen, zoals superpositie, verstrengeling, het kwantumalgoritme van Grover en andere kwantumverschijnselen.

Integreren met Python

Met de QDK kunt u programma's integreren Q# met Python. U kunt een Python-programma gebruiken om bewerkingen aan te roepen Q# .

Resources schatten

Voordat u kwantumhardware uitvoert, moet u nagaan of uw programma kan worden uitgevoerd op bestaande hardware en hoeveel resources het gaat verbruiken.

Met de Azure Quantum Resource Estimator kunt u architectuurbeslissingen beoordelen, qubittechnologieën vergelijken en bepalen welke resources nodig zijn om een bepaald kwantumalgoritme uit te voeren. U kunt kiezen uit vooraf gedefinieerde fouttolerante protocollen en veronderstellingen opgeven van het onderliggende fysieke qubitmodel.

Zie Uw eerste resourceschatting uitvoeren voor meer informatie.

Notitie

De Azure Quantum Resources Estimator is gratis en vereist geen Azure-account.

Programma uitvoeren in simulator

Wanneer u een kwantumprogramma compileert en uitvoert, maakt de QDK een exemplaar van de kwantumsimulator en geeft de Q# code eraan door. De simulator gebruikt de Q#-code voor het maken van qubits (simulaties van kwantumdeeltjes) en het toepassen van transformaties om hun toestand te wijzigen. De resultaten van de kwantumbewerkingen in de simulator worden vervolgens teruggestuurd naar het programma. Het isoleren van de Q#-code in de simulator zorgt ervoor dat de algoritmen de wetten van kwantumfysica volgen en op de juiste wijze op kwantumcomputers kunnen worden uitgevoerd.

Taken verzenden naar de Azure Quantum-service

U kunt uw Q# programma's (ook wel taken genoemd) verzenden naar Azure Quantum via de ontwikkelomgeving van uw voorkeur, zowel lokaal als online. Zie Taken verzenden Q# voor meer informatie. U kunt ook kwantumcircuits uitvoeren en verzenden die zijn geschreven in qiskit- en Cirq-talen.

Azure Quantum biedt een aantal van de meest aantrekkelijke en diverse kwantumhardware die momenteel beschikbaar is van toonaangevende bedrijven. Zie Kwantumcomputingproviders voor de huidige lijst met ondersteunde hardwareproviders.

Notitie

De cloudgebaseerde Quantinuum H-Series Emulatortarget is beschikbaar zonder een Azure-account. Als u een taak wilt verzenden naar de rest van de Azure Quantum-providers, hebt u een Azure-account en een kwantumwerkruimte nodig. Zie Een Azure Quantum-werkruimte maken als u geen kwantumwerkruimte hebt.

In het volgende diagram ziet u de basiswerkstroom nadat u uw taak hebt verzonden:

Diagram van de werkstroom na het verzenden van een taak naar Azure Quantum.

Als u meer wilt weten, bieden de Quantum Katas een goede inleiding tot concepten van kwantumcomputing , zoals algemene kwantumbewerkingen en het manipuleren van qubits.