Delen via


Wat zijn Q# en de Azure Quantum Development Kit?

De Azure Quantum Development Kit (QDK) is de SDK die nodig is om te interfacen met de Azure Quantum-service. Met de Quantum Development Kitmodule kunt u kwantumprogramma's bouwen die worden uitgevoerd op kwantumhardware in Azure Quantum.

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

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

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

  • Schrijf uw code sneller: syntaxismarkering en intelligente codevoltooiing met IntelliSense en schrijf volledige codeblokken die worden ondersteund met Copilot.

  • Wordt uitgevoerd op uw keuze voor hardware: 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: gekoppeld aan de state-of-the-art Azure Quantum Resource Estimator, biedt een taal die speciaal is ontworpen voor kwantumcomputing, Q#waardoor u niet hoeft na te denken over qubitarchitecturen, waarbij u de hardware abstraheert en waarmee u klassieke en kwantumberekeningen kunt combineren die allemaal worden uitgevoerd door de kwantumcomputer die u gebruikt target.

Tip

Als u uw kwantumcomputingtraject wilt versnellen, bekijkt 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 vanuit 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 QDK bevat de kwantumprogrammeertaalQ#, 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 procedureel model voor het schrijven van programma's met lussen, if/then-instructies en algemene gegevenstypen. Het introduceert ook nieuwe kwantumspecifieke gegevensstructuren en -bewerkingen, zoals herhaling tot succes, waardoor kwantum- en klassieke berekeningen kunnen worden geïntegreerd. De stroombesturing 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 en kwantumberekeningen uit te voeren, is essentieel in een universele kwantumcomputer.
  • Respecteer wetten van de natuurkunde. Kwantumalgoritmen volgen de regels van kwantumfysica. Ze kunnen bijvoorbeeld de qubitstatus niet rechtstreeks kopiëren of openen.

Zie de Q# gebruikershandleiding voor kwantumprogrammeertalen 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

Voor het eerst ontvangen gebruikers automatisch USD500 gratis Azure Quantum-tegoed voor gebruik bij elke deelnemende kwantumhardwareprovider. Als u alle tegoeden hebt verbruikt en u meer nodig hebt, kunt u van toepassing zijn op het Azure Quantum Credits-programma.

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 dit is vereist en Copilot om hulp vragen. Met één klik in de online code-editor kunt u uw code openen in VS Code op internet en gratis blijven 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 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 Azure Portal. De voorbeeldgalerie bevat een verzameling geannoteerde notebookvoorbeelden. Selecteer het voorbeeld dat u wilt verkennen en voer deze 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 Azure QDK-extensie voor Visual Studio Code installeren. De Azure QDK-extensie biedt een volledige ontwikkelomgeving voor Q#, waaronder syntaxismarkeringen, feedback over realtimecodering en foutopsporing.

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

Tip

De 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 het voorbeeld dat u wilt weergeven in de lijst met opties.

Werkstroom voor kwantumontwikkeling

In het volgende diagram ziet u de fasen waarmee 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 kwantumprogrammeringsontwikkeling.

Uw ontwikkelomgeving kiezen

Voer uw kwantumprogramma's uit in uw favoriete ontwikkelomgeving. U kunt de online code-editor gebruiken op de Azure Quantum-website, de gehoste Jupyter Notebooks die beschikbaar zijn in uw Azure Quantum-werkruimte in 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 op kwantumhardware uitvoert, moet u nagaan of uw programma op bestaande hardware kan worden uitgevoerd en hoeveel resources het gaat verbruiken.

Met de Azure Quantum Resource Estimator kunt u architectuurbeslissingen beoordelen, qubittechnologieën vergelijken en de resources bepalen die 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 resourceraming uitvoeren voor meer informatie.

Notitie

De Estimator voor Azure Quantum Resources 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 uw favoriete ontwikkelomgeving, zowel lokaal als online. Zie voor meer informatie hoe u taken verzendtQ#. 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 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 voor kwantumcomputing , zoals algemene kwantumbewerkingen en het manipuleren van qubits.