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 code migreren Q# 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 die worden ondersteund met Copilot.

  • Voer uit op de hardware van uw keuze: De QDK integreert naadloos 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 targetu gebruikt.

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 zich kunt richten op het niveau van het algoritme om kwantumprogramma's te maken.

Q# is een open source 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 bereik van kwantumtoepassingen en om de uitvoering te optimaliseren.

Als programmeertaal Q# worden vertrouwde elementen uit Python, C# en F# opgehaald en wordt een basisproceduremodel ondersteund 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, die de integratie van kwantum- en klassieke berekeningen mogelijk maken. 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 maken gebruik van qubits die niet zijn gekoppeld aan specifieke hardware of indeling. De compiler en runtime verwerken de toewijzing van programma-qubits aan fysieke qubits.
  • Kwantum- en klassieke berekeningen. De mogelijkheid om klassieke 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 een aanvraag indienen 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 hiervoor installatie is vereist en Copilot om hulp vragen. Met één klik in de online code-editor kunt u uw code openen in VS Code op het web 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 de voorkeur geeft aan een lokale ontwikkelomgeving, kunt u de moderne QDK-extensie voor Visual Studio Code installeren. De moderne QDK-extensie biedt een volledige ontwikkelomgeving voor Q#, inclusief syntaxismarkering, feedback over realtime coderen 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 die een kwantumprogramma doorlopen van idee tot volledige implementatie in Azure Quantum, en de hulpprogramma's die voor elke fase worden aangeboden.

Diagram met de werkstroom voor de ontwikkeling van kwantumprogrammering.

Uw ontwikkelomgeving kiezen

Voer uw kwantumprogramma's uit in de ontwikkelomgeving van uw voorkeur. U kunt de onlinecode-editor op de Azure Quantum-website gebruiken, de gehoste Jupyter Notebooks 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 gebruiken.

Met de Azure Quantum Resource Estimator kunt u beslissingen over de architectuur 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 van het onderliggende fysieke qubitmodel opgeven.

Zie Uw eerste resource-schatting 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 deze de Q# code 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) indienen bij 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 ingediend:

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

Volgende stappen

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