What is Azure Quantum?

Azure Quantum is the cloud quantum computing service of Azure, with a diverse set of quantum solutions and technologies. Azure Quantum ensures an open, flexible, and future-proofed path to quantum computing that adapts to your way of working, accelerates your progress, and protects your technology investments.

Azure Quantum provides the best development environment to create quantum algorithms for multiple platforms at once while preserving flexibility to tune the same algorithms for specific systems. You can write your code once and run it with little to no change against multiple targets of the same family which allows you to focus your programming at the algorithm level.

If you aim to simulate quantum mechanical problems, such as chemical reactions, biological reactions, or material formations, quantum computers work exceptionally well because they use quantum phenomena in their computation. Quantum computers can also aid to speed up progress in diverse areas such as financial services, machine learning, and unstructured data searches, where lots of calculations are needed.

To learn more about how you can use quantum computing and quantum algorithms, see Understanding Quantum Computing.

Tip

If you don’t have an Azure account, register for free and sign up for a pay-as-you-go subscription. If you are a student, you can take advantage of a free Azure account for students.

How to get started with Azure Quantum?

The Azure Quantum website

Azure Quantum (quantum.microsoft.com) is a central resource for exploring quantum computing. You can play with the Copilot in Azure Quantum, a quantum-focused chatbot that helps you write code and better understand quantum concepts. Try out Q# code samples in the online code editor, Code with Azure Quantum, submit your job the to the cloud-based Quantinuum H-Series Emulator, or open your code in VS Code for the Web, all free of charge - all you need is a Microsoft (MSA) email account. To get started, see Explore Azure Quantum. You can also learn from experts and enthusiasts through blogs, articles and videos.

Tip

If you want to accelerate your quantum computing journey, check out Code with Azure Quantum, a unique feature of the Azure Quantum website. Here, you can run built-in Q# samples or your own Q# programs, generate new Q# code from your prompts, open and run your code in VS Code for the Web, and ask Copilot any questions about quantum computing.

The Azure portal

Tip

First-time users automatically get free $500 (USD) Azure Quantum Credits for use with each participating quantum hardware provider. If you have consumed all the credits and you need more, you can apply to the Azure Quantum Credits program.

Start using Azure Quantum is very easy and free of cost for new users. To submit your quantum programs to Azure Quantum you only need two things:

  1. Azure account: If you don’t have an Azure account, register for free and sign up for a pay-as-you-go subscription.
  2. Azure Quantum workspace: An Azure Quantum workspace is a collection of assets associated with running quantum. To create an Azure Quantum workspace, go to the Azure portal, select Quick create and it automatically creates the workspace and adds the default providers. Or select Advance create, and enter the details of your workspace and choose the providers.

For more information, see Create an Azure Quantum workspace.

Hybrid quantum computing

Hybrid quantum computing refers to the processes and architecture of a classical computer and a quantum computer working together to solve a problem. With the latest generation of hybrid quantum computing architecture available in Azure Quantum you can start programming quantum computers by mixing classical and quantum instructions together. For more information, see Hybrid quantum computing.

  • Batch quantum computing: Batching multiple circuits into one job eliminates the wait between job submissions, allowing you to run multiple jobs faster. Examples of problems that can take advantage of batch quantum computing include Shor's algorithm and simple quantum phase estimation.
  • Interactive quantum computing (Sessions): Jobs can be grouped logically into one session and prioritized over non-session jobs. Examples of problems that can use this approach are Variational Quantum Eigensolvers (VQE) and Quantum Approximate Optimization Algorithms (QAOA).
  • Integrated quantum computing: By integrating quantum and classical computing, quantum programs can move away from just circuits. Programs can now use common programming constructs to perform mid-circuit measurements, optimize and reuse qubits, and adapt in real-time to the QPU. Examples of scenarios that can take advantage of this model are adaptive phase estimation and machine learning.
  • Distributed quantum computing: The distributed quantum computing model enables real-time computations across quantum and distributed resources. Examples of scenarios that can take advantage of this model are complex materials modeling or the evaluation of full catalytic reactions.

Resource estimation in quantum computing

In quantum computing, resource estimation is the ability to understand the resources, that is the number of qubits, number of quantum gates, processing time, etc., that will be required for a given algorithm, assuming (or taking as parameters) certain hardware characteristics. Understanding the number of qubits required for a quantum solution and the differences between qubit technologies allows innovators to prepare and refine their quantum solutions to run on future scaled quantum machines and ultimately accelerate their quantum impact.

Designed specifically for scaled quantum fault-tolerant error-corrected systems, the Azure Quantum Resource Estimator allows you to assess architectural decisions, compare qubit technologies, and determine the resources needed to execute a given quantum algorithm. You can choose from pre-defined fault-tolerant protocols and specify assumptions of the underlying physical qubit model.

The Azure Quantum Resource Estimator computes post-layout physical resource estimation by taking a set of inputs such as qubit parameters, the quantum error correction (QEC) code, the error budget, and other parameters into account. It takes a Quantum Intermediate Representation (QIR) program as input and, therefore, supports any language that translates to QIR, for example, you can use the Azure Quantum Resource Estimator with Q# and Qiskit.

For more information, see How the Resource Estimator works.

What are Q# and the Quantum Development Kit?

The Microsoft Quantum Development Kit (QDK) is the SDK required to interface with the Azure Quantum service. The QDK includes the language Q#, a high-level open-source quantum programming language that allows you to focus your work at the algorithm and application level to create quantum programs.

You can install the QDK locally on your computer, or use it as a pre-installed component in the free hosted Jupyter notebooks part of the Azure Quantum service. Either environment allows you to submit jobs to quantum hardware through the Azure Quantum service, or use cloud-based or local quantum simulators. For more information, see different ways you can run a Q# program.

A quantum program can be seen as a particular set of classical subroutines which, when called, perform a computation by interacting with a quantum system; a program written in Q# does not directly model the quantum state, but rather describes how a classical control computer interacts with qubits. This allows you to be entirely agnostic about what a quantum state even is on each target machine, which might have different interpretations depending on the machine. You can write your code once and, with little to no change, run it against multiple targets of the same family, allowing you to focus your programming at the algorithm level.

For more information, see Introduction to Q# and the Quantum Development Kit.

Workflow of the quantum software development

Azure Quantum provides the best development environment to create quantum algorithms for multiple platforms at once while preserving flexibility to tune the same algorithms for specific systems. You can pick from quantum programming languages such as Qiskit, Cirq, and Q# and run your algorithms on multiple quantum systems.

The following diagram shows the stages through which a quantum program goes from idea to complete implementation on Azure Quantum, and the tools offered by the QDK for each stage.

qdk workflow

  1. Write your quantum code. You can write your Q# program with the hosted Jupyter Notebooks available in your Azure Quantum workspace. If you prefer a local development environment, you can create your Q# program using the QDK extensions for Visual Studio 2022 and Visual Studio Code.

  2. Use libraries to keep your code high level. The open-source quantum libraries help you keep your code high-level, doing a lot of the heavy lifting in implementation for you so that you can focus on the logic of your algorithms. They include standard libraries that implement patterns common for a lot of quantum algorithms, and domain-specific libraries, such as a chemistry and machine learning libraries.

  3. Integrate with classical software. The Quantum Development Kit allows you to integrate Q# programs with Python and .NET, enabling a quantum software developer to take advantage of a lot of the advances made in classical computing in the past 70 years. You can also reuse and submit your existing Qiskit and Cirq source code with little to no change.

  4. Run your quantum code in simulation. Once you’ve written your program, you’ll want to use quantum simulators – classical programs that simulate the behavior of a quantum system, so that you can run and debug your quantum algorithms written in Q#.

  5. Estimate resources. You need to understand how the implementation of your quantum program changes to the resource consumption. You can use the Azure Quantum Resource Estimator to tell you the physical resource estimates you need and how long your program will take to run.

  6. Run your code on quantum hardware. Finally, the last step is using Azure Quantum to run your program on quantum hardware.

Note

Azure Quantum is a flexible ecosystem. You can run Python code on Azure Quantum without explicitly calling any Q# code, such as submitting Qiskit or Cirq circuits. To use these features, you must install the azure-quantum Python package.

Providers available on Azure Quantum

Azure Quantum offers some of the most compelling and diverse quantum resources available today from industry leaders. Azure Quantum currently partners with the following providers to enable you to run your Q# quantum programs on real hardware, and the option to test your code on simulated quantum computers.

Choose the provider that best suits the characteristics of your problem and your needs.

  • IONQ: Dynamically reconfigurable trapped-ion quantum computers for up to 11 fully connected qubits, that lets you run a two-qubit gate between any pair.
  • PASQAL (Private Preview): Neutral atom-based quantum processors operating at room temperature, with long coherence times and impressive qubit connectivity.
  • Quantinuum: Trapped-ion systems with high-fidelity, fully connected qubits, low error rates, qubit reuse, and the ability to perform mid-circuit measurements.
  • Rigetti: Gate-based superconducting processors that utilize Quantum Intermediate Representation (QIR) to enable low latency and parallel execution.

For more information on the specifications of each provider, see the full Quantum computing target list.

Providers coming soon

  • Quantum Circuits, Inc: Full-stack superconducting circuits, with real-time feedback that enables error correction, encoding-agnostic entangling gates.

Next steps

Start using Azure Quantum: