SlideShare a Scribd company logo
Azure Quantum
Prepared By: Vijayananda Mohire
Prerequisites:
To start developing Q# based quantum circuits, follow the below provided links. If will need an Azure
subscription either a free one or institute subscription to Login to Azure portal.
Steps:
Once you have your Azure subscription ready, please log into Azure portal, you will find your Dashboard
as shown below.
Now you will need to create a Quantum Workspace, please refer links below
https://docs.microsoft.com/en-us/azure/quantum/how-to-create-workspace
https://portal.azure.com/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.Quantum%2
FWorkspaces
You will encounter few of these screens for storage provisioning
Select your subscription and created storage account
After storage is selected you will now need a target platform to execute your Q# code. You may select
any provider from below. This step is optional and can be added later on. I have selected IonQ
Finally preview your project details and Click on Create button as shown below
Confirm the deployment has been succeeded
You will now see your project listed in your Dashboard. Click on the project link that will take you to the
project IDE . Here we will use the Notebooks menu as shown below
We will now start working with the Jupyter Notebooks with Q# as Kernel. You can instead select
Python.
Use this link for more details. https://docs.microsoft.com/en-us/azure/quantum/get-started-jupyter-
notebook
Below is the sample of notebook imported into the Quantum workspace and the resulting results
after executing the code. Please follow the instruction and obtain the results
Quantum Computing on Azure Quantum
with Q# and Jupyter Notebook:
Parallel QRNG
This notebook demonstrates how to execute a Q# program on Azure Quantum.
Define Q# operations
The quickest way to define a Q# operation in a Q# Jupyter Notebook is to simply write the Q#
code directly into a notebook cell and execute it. Note that for convenience, the
Microsoft.Quantum.Canon and Microsoft.Quantum.Intrinsic namespaces are
automatically opened in every cell.
[2]
open Microsoft.Quantum.Arrays;
open Microsoft.Quantum.Measurement;
operation SampleRandomNumber(nQubits : Int) : Result[] {
// We prepare a register of qubits in a uniform
// superposition state, such that when we measure,
// all bitstrings occur with equal probability.
use register = Qubit[nQubits] {
// Set qubits in superposition.
ApplyToEachA(H, register);
// Measure all qubits and return.
return ForEach(MResetZ, register);
}
}
 SampleRandomNumber
You can also write your Q# code in .qs files which are in the same folder as the .ipynb notebook.
Running %workspace reload will recompile all such .qs files and report the list of available Q#
operations and functions. In this case, it finds an operation called SampleRandomNumber in a
namespace called Microsoft.Quantum.AzureSamples.
[3]
%workspace reload
Reloading workspace: done!
Using %simulate, you can invoke the built-in Q# functionality to simulate a quantum operation
locally and return the result. You can specify any operation that has been defined in the notebook
or that has been imported from a .qs file.
[4]
%simulate SampleRandomNumber nQubits=3
 Zero
 One
 Zero
Executing Q# operations in Azure Quantum
First, find the resource ID of your Azure Quantum workspace. You can copy/paste this from the
top-right corner of your Quantum Workspace page in Azure Portal.
Next, you can run %azure.connect to connect to the workspace and display the list of
provisioned targets that support execution of Q# programs. If you are prompted to login, be sure
to use the same account you used to create your Azure Quantum workspace.
[7]
%azure.connect "/subscriptions/c684880b-e981-4b8f-9baf-
742935e59228/resourceGroups/cloud-shell-storage-
centralindia/providers/Microsoft.Quantum/Workspaces/quantumproj" location="eastus"
2 sec
Authenticated using
Microsoft.Azure.Quantum.Authentication.TokenFileCredential
Connected to Azure Quantum workspace quantumproj in location eastus.
Target ID Current Availability Average Queue Time (Seconds)
ionq.qpu Available 158
ionq.simulator Available 3
Now, use %azure.target to specify the target you'd like to use for job submission.
[8]
%azure.target ionq.simulator
38 sec
Loading package Microsoft.Quantum.Providers.IonQ and dependencies...
Active target is now ionq.simulator
Target ID Current Availability Average Queue Time (Seconds)
ionq.simulator Available 3
To submit a job, use %azure.submit along with the Q# operation name and any parameters
required by that operation. The %azure.submit command will return immediately after the job
is created. Alternatively, you can use %azure.execute, which will submit the job and wait for it
to complete.
[9]
%azure.submit SampleRandomNumber nQubits=3
9 sec
Submitting SampleRandomNumber to target ionq.simulator...
Job successfully submitted for 500 shots.
Job name: SampleRandomNumber
Job ID: 5f1afaa2-25ea-437d-b305-fe1fa94e479e
Job Name Job ID
Job
Status
Target
Creation
Time
Begin
Execution
Time
End
Execution
Time
SampleRandomNumber
5f1afaa2-25ea-
437d-b305-
fe1fa94e479e
Waiting ionq.simulator
01/14/2022
07:27:34
+00:00
Running %azure.status will display the status of the most recently submitted job in this
session. If you want to check the status of a different job, provide the job ID to %azure.status.
[10]
%azure.status
4 sec
Job Name Job ID Job Status Target
Creation
Time
Begin
Execution
Time
End
Execution
Time
SampleRandomNumber
5f1afaa2-
25ea-437d-
b305-
fe1fa94e479e
Succeeded ionq.simulator
01/14/2022
07:27:34
+00:00
01/14/2022
07:27:40
+00:00
01/14/2022
07:27:40
+00:00
Once the job has completed, use %azure.output to display the result. Again, you can provide a
job ID to %azure.output if you want to display the status of a specific job.
[11]
%azure.output
2 sec
You can also view the status of all jobs by using %azure.jobs. Providing a parameter to this
command will filter to just the jobs containing that string. For example, you can query for the
status of all jobs named Microsoft.Quantum.AzureSamples.SampleRandomNumber.
[12]
%azure.jobs SampleRandomNumber
1 sec
Job Name Job ID Job Status Target
Creation
Time
Begin
Execution
Time
End
Execution
Time
SampleRandomNumber
5f1afaa2-
25ea-437d-
b305-
fe1fa94e479e
Succeeded ionq.simulator
01/14/2022
07:27:34
+00:00
01/14/2022
07:27:40
+00:00
01/14/2022
07:27:40
+00:00

More Related Content

PDF
Azure Quantum with IBM Qiskit and IonQ QPU
PPTX
Azure machine learning service
PPTX
Dockerization of Azure Platform
PDF
Scala, docker and testing, oh my! mario camou
PPTX
Continous delivery devoops Session no 26_new.pptx
PDF
Full Stack Serverless 1st Edition Nader Dabit
PDF
Okd wg kubecon marathon azure & vsphere
PPT
Monitoring using Prometheus and Grafana
Azure Quantum with IBM Qiskit and IonQ QPU
Azure machine learning service
Dockerization of Azure Platform
Scala, docker and testing, oh my! mario camou
Continous delivery devoops Session no 26_new.pptx
Full Stack Serverless 1st Edition Nader Dabit
Okd wg kubecon marathon azure & vsphere
Monitoring using Prometheus and Grafana

Similar to Azure Quantum Workspace for developing Q# based quantum circuits (20)

PDF
Session 3 - CloudStack Test Automation and CI
PDF
Phil Basford - machine learning at scale with aws sage maker
PPTX
Machine learning at scale with aws sage maker
PPTX
DevOps, Microservices and Serverless Architecture
PDF
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
PDF
PVS-Studio in the Clouds: Azure DevOps
PPTX
Azure from scratch part 4
PPTX
Testing Microservices
PDF
Building an HPC Cluster in 10 Minutes
PDF
Full Stack Serverless 1st Edition Nader Dabit
PDF
Build containerized application using Docker and Azure.pdf
PDF
Automated shutdown
PDF
AWS ML Model Deployment
PDF
Server(less) Swift at SwiftCloudWorkshop 3
PPTX
18CSC311J WEB DESIGN AND DEVELOPMENT UNIT-4
PPT
Qtp 9.2 examples
PPTX
CloudOps CloudStack Budapest, 2014
PPTX
Front end development with Angular JS
PDF
The Ring programming language version 1.2 book - Part 51 of 84
PDF
Divide and Conquer – Microservices with Node.js
Session 3 - CloudStack Test Automation and CI
Phil Basford - machine learning at scale with aws sage maker
Machine learning at scale with aws sage maker
DevOps, Microservices and Serverless Architecture
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
PVS-Studio in the Clouds: Azure DevOps
Azure from scratch part 4
Testing Microservices
Building an HPC Cluster in 10 Minutes
Full Stack Serverless 1st Edition Nader Dabit
Build containerized application using Docker and Azure.pdf
Automated shutdown
AWS ML Model Deployment
Server(less) Swift at SwiftCloudWorkshop 3
18CSC311J WEB DESIGN AND DEVELOPMENT UNIT-4
Qtp 9.2 examples
CloudOps CloudStack Budapest, 2014
Front end development with Angular JS
The Ring programming language version 1.2 book - Part 51 of 84
Divide and Conquer – Microservices with Node.js
Ad

More from Vijayananda Mohire (20)

PDF
Bhadale QAI Hub - for multicloud, multitechnology platform
PDF
Practical_Introduction_to_Quantum_Safe_Cryptography
PDF
Progress Report- MIT Course 8.371.3x - VD-Mohire
PDF
Quantum Communications Q&A with Gemini LLM
PDF
Peer Review Certificate for Journal of Engg
PDF
Quantum Algorithms for Electronics - IEEE Certificate
PDF
NexGen Solutions for cloud platforms, powered by GenQAI
PDF
Certificate- Peer Review of Book Chapter on ML
PDF
Key projects Data Science and Engineering
PDF
Key projects Data Science and Engineering
PDF
Bhadale IT Hub-Multi Cloud and Multi QAI
PDF
My key hands-on projects in Quantum, and QAI
PDF
Key projects in AI, ML and Generative AI
PDF
My Journey towards Artificial Intelligence
PDF
Bhadale IT Cloud Solutions for Agriculture
PDF
Bhadale IT Cloud Solutions for Agriculture
PDF
Bhadale IT Intel and Azure Cloud Offerings
PDF
GitHub Copilot-vijaymohire
PDF
Practical ChatGPT From Use Cases to Prompt Engineering & Ethical Implications
PDF
Cloud Infrastructure - Partner Delivery Accelerator (APAC)
Bhadale QAI Hub - for multicloud, multitechnology platform
Practical_Introduction_to_Quantum_Safe_Cryptography
Progress Report- MIT Course 8.371.3x - VD-Mohire
Quantum Communications Q&A with Gemini LLM
Peer Review Certificate for Journal of Engg
Quantum Algorithms for Electronics - IEEE Certificate
NexGen Solutions for cloud platforms, powered by GenQAI
Certificate- Peer Review of Book Chapter on ML
Key projects Data Science and Engineering
Key projects Data Science and Engineering
Bhadale IT Hub-Multi Cloud and Multi QAI
My key hands-on projects in Quantum, and QAI
Key projects in AI, ML and Generative AI
My Journey towards Artificial Intelligence
Bhadale IT Cloud Solutions for Agriculture
Bhadale IT Cloud Solutions for Agriculture
Bhadale IT Intel and Azure Cloud Offerings
GitHub Copilot-vijaymohire
Practical ChatGPT From Use Cases to Prompt Engineering & Ethical Implications
Cloud Infrastructure - Partner Delivery Accelerator (APAC)
Ad

Recently uploaded (20)

PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
cuic standard and advanced reporting.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Electronic commerce courselecture one. Pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Spectroscopy.pptx food analysis technology
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
KodekX | Application Modernization Development
Understanding_Digital_Forensics_Presentation.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
cuic standard and advanced reporting.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
MIND Revenue Release Quarter 2 2025 Press Release
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
NewMind AI Weekly Chronicles - August'25 Week I
Electronic commerce courselecture one. Pdf
Encapsulation_ Review paper, used for researhc scholars
Spectroscopy.pptx food analysis technology
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Digital-Transformation-Roadmap-for-Companies.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
20250228 LYD VKU AI Blended-Learning.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
KodekX | Application Modernization Development

Azure Quantum Workspace for developing Q# based quantum circuits

  • 1. Azure Quantum Prepared By: Vijayananda Mohire Prerequisites: To start developing Q# based quantum circuits, follow the below provided links. If will need an Azure subscription either a free one or institute subscription to Login to Azure portal. Steps: Once you have your Azure subscription ready, please log into Azure portal, you will find your Dashboard as shown below. Now you will need to create a Quantum Workspace, please refer links below https://docs.microsoft.com/en-us/azure/quantum/how-to-create-workspace https://portal.azure.com/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.Quantum%2 FWorkspaces You will encounter few of these screens for storage provisioning
  • 2. Select your subscription and created storage account After storage is selected you will now need a target platform to execute your Q# code. You may select any provider from below. This step is optional and can be added later on. I have selected IonQ
  • 3. Finally preview your project details and Click on Create button as shown below Confirm the deployment has been succeeded
  • 4. You will now see your project listed in your Dashboard. Click on the project link that will take you to the project IDE . Here we will use the Notebooks menu as shown below
  • 5. We will now start working with the Jupyter Notebooks with Q# as Kernel. You can instead select Python. Use this link for more details. https://docs.microsoft.com/en-us/azure/quantum/get-started-jupyter- notebook Below is the sample of notebook imported into the Quantum workspace and the resulting results after executing the code. Please follow the instruction and obtain the results Quantum Computing on Azure Quantum with Q# and Jupyter Notebook: Parallel QRNG This notebook demonstrates how to execute a Q# program on Azure Quantum. Define Q# operations The quickest way to define a Q# operation in a Q# Jupyter Notebook is to simply write the Q# code directly into a notebook cell and execute it. Note that for convenience, the Microsoft.Quantum.Canon and Microsoft.Quantum.Intrinsic namespaces are automatically opened in every cell. [2] open Microsoft.Quantum.Arrays; open Microsoft.Quantum.Measurement;
  • 6. operation SampleRandomNumber(nQubits : Int) : Result[] { // We prepare a register of qubits in a uniform // superposition state, such that when we measure, // all bitstrings occur with equal probability. use register = Qubit[nQubits] { // Set qubits in superposition. ApplyToEachA(H, register); // Measure all qubits and return. return ForEach(MResetZ, register); } }  SampleRandomNumber You can also write your Q# code in .qs files which are in the same folder as the .ipynb notebook. Running %workspace reload will recompile all such .qs files and report the list of available Q# operations and functions. In this case, it finds an operation called SampleRandomNumber in a namespace called Microsoft.Quantum.AzureSamples. [3] %workspace reload Reloading workspace: done! Using %simulate, you can invoke the built-in Q# functionality to simulate a quantum operation locally and return the result. You can specify any operation that has been defined in the notebook or that has been imported from a .qs file. [4] %simulate SampleRandomNumber nQubits=3  Zero  One  Zero Executing Q# operations in Azure Quantum First, find the resource ID of your Azure Quantum workspace. You can copy/paste this from the top-right corner of your Quantum Workspace page in Azure Portal. Next, you can run %azure.connect to connect to the workspace and display the list of provisioned targets that support execution of Q# programs. If you are prompted to login, be sure to use the same account you used to create your Azure Quantum workspace. [7]
  • 7. %azure.connect "/subscriptions/c684880b-e981-4b8f-9baf- 742935e59228/resourceGroups/cloud-shell-storage- centralindia/providers/Microsoft.Quantum/Workspaces/quantumproj" location="eastus" 2 sec Authenticated using Microsoft.Azure.Quantum.Authentication.TokenFileCredential Connected to Azure Quantum workspace quantumproj in location eastus. Target ID Current Availability Average Queue Time (Seconds) ionq.qpu Available 158 ionq.simulator Available 3 Now, use %azure.target to specify the target you'd like to use for job submission. [8] %azure.target ionq.simulator 38 sec Loading package Microsoft.Quantum.Providers.IonQ and dependencies... Active target is now ionq.simulator Target ID Current Availability Average Queue Time (Seconds) ionq.simulator Available 3 To submit a job, use %azure.submit along with the Q# operation name and any parameters required by that operation. The %azure.submit command will return immediately after the job is created. Alternatively, you can use %azure.execute, which will submit the job and wait for it to complete. [9] %azure.submit SampleRandomNumber nQubits=3 9 sec Submitting SampleRandomNumber to target ionq.simulator... Job successfully submitted for 500 shots. Job name: SampleRandomNumber Job ID: 5f1afaa2-25ea-437d-b305-fe1fa94e479e
  • 8. Job Name Job ID Job Status Target Creation Time Begin Execution Time End Execution Time SampleRandomNumber 5f1afaa2-25ea- 437d-b305- fe1fa94e479e Waiting ionq.simulator 01/14/2022 07:27:34 +00:00 Running %azure.status will display the status of the most recently submitted job in this session. If you want to check the status of a different job, provide the job ID to %azure.status. [10] %azure.status 4 sec Job Name Job ID Job Status Target Creation Time Begin Execution Time End Execution Time SampleRandomNumber 5f1afaa2- 25ea-437d- b305- fe1fa94e479e Succeeded ionq.simulator 01/14/2022 07:27:34 +00:00 01/14/2022 07:27:40 +00:00 01/14/2022 07:27:40 +00:00 Once the job has completed, use %azure.output to display the result. Again, you can provide a job ID to %azure.output if you want to display the status of a specific job. [11] %azure.output 2 sec
  • 9. You can also view the status of all jobs by using %azure.jobs. Providing a parameter to this command will filter to just the jobs containing that string. For example, you can query for the status of all jobs named Microsoft.Quantum.AzureSamples.SampleRandomNumber. [12] %azure.jobs SampleRandomNumber 1 sec Job Name Job ID Job Status Target Creation Time Begin Execution Time End Execution Time SampleRandomNumber 5f1afaa2- 25ea-437d- b305- fe1fa94e479e Succeeded ionq.simulator 01/14/2022 07:27:34 +00:00 01/14/2022 07:27:40 +00:00 01/14/2022 07:27:40 +00:00