Övning – Använda Quantum Development Kit för att köra ett kvantprogram

Slutförd

Med QDK-tillägget (Azure Quantum Development Kit) för Visual Studio Code kan du skapa och köra dina program i en lokal utvecklingsmiljö. Du kan också ansluta till din Azure Quantum-arbetsyta och köra dina program på kvantdatorer och simulatorer för de leverantörer som du har valt för din arbetsyta.

Förutsättningar

Skapa och köra ett Q#-program i Visual Studio Code

  1. Öppna Visual Studio Code och välj Fil>Ny textfil för att skapa en ny fil.

  2. Spara filen som RandomNum.qs. Den här filen innehåller Q#-koden för ditt program.

  3. Kopiera och spara följande kod i RandomNum.qs filen.

    namespace Sample {
    
        @EntryPoint()
        operation RandomBit() : Result {
            // Qubits are only accessible for the duration of the scope where they
            // are allocated and are automatically released at the end of the scope.
            use qubit = Qubit();
    
            // Set the qubit in superposition by applying a Hadamard transformation.
            H(qubit);
    
            // Measure the qubit. There is a 50% probability of measuring either 
            // `Zero` or `One`.
            let result = M(qubit);
    
            // Reset the qubit so it can be safely released.
            Reset(qubit);
            return result;
        }
    }
    

Dricks

Modern QDK innehåller en uppsättning 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.

Utforska Q#-koden

  1. Hovra över H åtgärden för att se en kort sammanfattning av definitionen.
  2. Placera markören framför H åtgärden, högerklicka och välj Gå till definition. Då öppnas en skrivskyddad vy över standardbibliotekskoden för funktionen.

Kör programmet lokalt

  1. Om du vill testa att köra programmet lokalt i den inbyggda simulatorn väljer du Kör Q#-fil i listrutan uppspelningsikonen längst upp till höger eller trycker på Ctrl+F5. Dina utdata visas i felsökningskonsolen.
  2. Om du vill felsöka programmet innan du skickar det till Azure Quantum väljer du FelsökA Q#-fil från uppspelningsikonen eller trycker på F5. Använd felsökningskontrollerna överst för att gå över, till och ut ur koden.

Anslut till Azure Quantum och skicka ditt jobb

Om du har en Azure Quantum-arbetsyta kan du ansluta till den från VS Code och skicka dina Q#-program till Azure Quantum. I det här exemplet skickar RandomNum.qs du programmet till Rigetti-simulatorn.

  1. Öppna avsnittet QUANTUM WORKSPACES i Utforskarvyn i sidofältet i VS Code.
  2. Välj Lägg till en befintlig arbetsyta och följ anvisningarna för att ansluta till önskad katalog, prenumeration och arbetsyta.
  3. När du är ansluten expanderar du din arbetsyta och expanderar Rigetti-providern .
  4. Välj rigetti.sim.qvm som mål.
  5. Klicka på ikonen ⏵︎ (Spela upp) till höger om målet eller kör kommandot "Q#: Submit current Q#program" från kommandopaletten. Om du får ett popup-fönster väljer du Ändra QIR-målprofilen och fortsätter.
  6. Ange ett namn och antalet bilder för jobböverföringen i indatarutorna.
  7. Tryck på Retur för att skicka jobbet. Jobbstatusen visas längst ned på skärmen.
  8. Expandera Jobb och hovra över jobbet, vilket visar tid och status för ditt jobb.
  9. Om du vill visa resultatet väljer du molnikonen bredvid jobbnamnet för att ladda ned resultatet från din arbetsytelagring och visa det i VS Code.

Extra – Skapa en Azure Quantum-notebook-fil

Med modern QDK kan du skapa Azure Quantum-notebook-filer i VS Code. Azure Quantum Notebooks är Jupyter Notebooks som gör att du kan köra kvantprogram på kvantdatorer och simulatorer för de leverantörer som du har valt för din Azure Quantum-arbetsyta.

Så här skapar du en Azure Quantum-notebook-fil:

  1. Öppna menyn Visa i VS Code och välj Kommandopalett.
  2. Skriv Q#: Skapa en Azure Quantum-notebook-fil.
  3. En Jupyter Notebook öppnas på en ny flik. Notebook-filen innehåller en kodcell som importerar de paket som krävs för exemplet, ansluter till Azure Quantum-tjänsten och kör ett Q#-program.