Monday, 27 May 2024

Get started with Q# programs and Visual Studio Code

 

Get started with Q# programs and Visual Studio Code

In this article you will find the steps to use VC Code to create and submit Q#, Jupyter Notebook, or Python quantum computing jobs to Azure Quantum using VS Code.

Submitting Q# jobs to Azure Quantum

Learn how to use VS Code to run, debug, and submit a Q# program to Azure Quantum.

Prerequisites

For installation details, see Installing the Modern QDK on VS Code.

Load a Q# sample program

  1. In VS Code, select File > New Text File and save the file as RandomNum.qs.

  2. Open RandomNum.qs and type sample, then select Random Bit sample from the list of options and save the file.

    Screenshot the Q# file in Visual Studio Code showing the list of code samples when writing the word sample in the file.

 Note

You can also open your own Q# file. If you run an older Q# program and run into errors, see Testing and debugging or Migrating your programs to the Modern QDK.

Run a Q# program

  1. To test run your program locally on the built-in simulator, click on Run from the list of commands below @EntryPoint(), or press Ctrl+F5. Your output will appear in the debug console.

  2. To debug your program before submitting it to Azure Quantum, click on Debug from the list of commands below @EntryPoint(), or press F5. Use the debugging controls at the top to step over, into, and out of the code. For more information about debugging Q# programs, see Testing and debugging.

    Screenshot the Q# file in Visual Studio Code showing where to find the code lens with run and debug commands.

Visualize the frequency histogram

The frequency histogram represents the distribution of results obtained from running a quantum program multiple times, or "shots". Each bar in the histogram corresponds to a possible outcome, and its height represents the number of times that outcome is observed. The frequency histogram helps visualize the probability distribution of these outcomes.

  1. Select View -> Command Palette and type “histogram” which should bring up the Q#: Run file and show histogram option. You can also click on Histogram from the list of commands below @EntryPoint(). Select this option to open the Q# histogram window.

    Screenshot the Q# file in Visual Studio Code showing where to find the code lens with histogram command.

  2. Enter a number of shots to execute the program, for example, 100 shots, and press Enter. The histogram will display in the Q# histogram window.

  3. Click the top-left settings icon to display options.

    Screenshot the Q# histogram window in Visual Studio Code showing how to display settings.

  4. Click on a bar to display the percentage of that outcome. In this case there are two possible outcomes, 0 and 1, and the percentage of each outcome is close to 50%.

    Screenshot the Q# histogram window in Visual Studio Code.

 Tip

You can zoom the histogram using the mouse scroll wheel or a trackpad gesture. When zoomed in, you can pan the chart by pressing 'Alt' while scrolling.

Visualize the quantum circuit

Quantum circuit diagrams are a visual representation of quantum operations. They show the flow of qubits through the quantum program, including the gates and measurements applied to them. For more information, see Quantum circuit diagrams in Visual Studio Code.

  1. Select View -> Command Palette and type “circuit” which should bring up the Q#: Show circuit option. You can also click on Circuit from the list of commands below @EntryPoint().

    Screenshot the Q# file in Visual Studio Code showing where to find the code lens circuit command.

  2. The circuit is displayed in the Q# circuit window. The circuit diagram shows one qubit register which it's initialized to the |0⟩ state. Then, a Hadamard gate, H, is applied to the qubit, followed by a measurement operation, which is represented by a meter symbol. For more information, see Quantum circuits conventions.

    Screenshot the Q# circuit window showing the resulting circuit diagram for the random bit operation.

Connect to Azure Quantum and submit your job

You can connect and submit jobs directly from VS Code. For this example, you'll submit a job to the Rigetti simulator.

  1. Select View -> Command Palette and type Q#: Connect to an Azure Quantum workspace. Press Enter.

  2. Select Azure account, and follow the prompts to connect to your preferred directory, subscription, and workspace.

     Note

    If you have a connection string, you can select Connection string and paste the connection string corresponding to your Azure Quantum workspace. For more information, see Connect to a Quantum workspace using a connection string.

  3. Once you are connected, in the Explorer pane, expand Quantum Workspaces.

  4. Expand your workspace and expand the Rigetti provider.

     Note

    If there is an issue connecting to Azure Quantum, a warning icon displays next to the workspace name. Hover over the workspace name to display error information.

  5. Select rigetti.sim.qvm as your target.

    Screenshot of Visual Studio Code showing how to select Rigetti simulator as target.

  6. Select the play icon to the right of the target name to start submitting the current Q# program. If you get a popup, select Change the QIR target profile and continue.

    Screenshot of Visual Studio Code showing how to run Rigetti simulator as target.

  7. Add a name to identify the job.

  8. Add the number of shots, or number of times that the program is run.

  9. Press Enter to submit the job. The job status will display at the bottom of the screen.

  10. Expand Jobs and hover over your job, which displays the times and status of your job.

  11. To view the results, select the cloud icon next to the job name to download the results from your workspace storage and display it in VS Code.

    Screenshot of Visual Studio Code showing how to download and view the results of your quantum job.

No comments:

Post a Comment