Azure Quantum offers a diverse range of quantum solutions and technologies as the cloud quantum computing service of Azure.
It provides an open, flexible, and future-proofed path to quantum computing, which adapts to your way of working, accelerates your progress, and protects your technology investments.
With Azure Quantum, you can create quantum algorithms for multiple platforms at once, and preserve the flexibility to tune the same algorithms for specific systems.
You can focus on programming at the algorithm level by writing your code once and running it with little to no change against multiple targets of the same family.
The platform provides an open ecosystem, enabling you to access diverse quantum software, hardware, and solutions from Microsoft and its partners.
You can select from quantum programming languages such as Qiskit, Cirq, and Q#, and run your algorithms on multiple quantum systems.
Azure has a quantum impact today, allowing you to explore today’s quantum systems while being ready for the scaled quantum systems of the future.
It also includes pre-built solutions that run on classical and accelerated compute resources (also referred to as optimization solutions).
- Azure Quantum components
- Starting with Azure Quantum: A beginner’s guide
- Quantum computing resource estimation
- Understanding Q# and the Quantum Development Kit
- Quantum software development workflow
Azure Quantum components
Azure Quantum provides access to software, hardware, and pre-built solutions in a full-stack open cloud ecosystem, enabling you to leverage the benefits of quantum computing today. It offers two types of quantum solutions: quantum computing and optimization.
Quantum computing is particularly effective for simulating quantum mechanical problems, such as chemical reactions, biological reactions, or material formations, and can speed up progress in areas like financial services, machine learning, and unstructured data searches.
With Azure, businesses and researchers can model complex scenarios in risk management, cybersecurity, network analysis, data search, vaccine development, or materials science using quantum computing and algorithms.
Learn more about quantum computing and algorithms in Understanding Quantum Computing
Optimization of Azure Quantum
Optimization, on the other hand, involves finding the best solution to a problem given its desired outcome and constraints. Quantum-inspired optimization algorithms exploit some of the advantages of quantum computing on classical hardware, resulting in a speedup over traditional approaches.
Azure offers a wide range of state-of-the-art quantum-inspired optimization algorithms developed by Microsoft and its partners to address complex optimization problems across various industries, such as vehicle routing, supply chain management, scheduling, portfolio optimization, and power grid management.
Learn more about Azure Quantum’s optimization solutions to unlock high-value benefits like reduced costs, accelerated processes, and reduced risks.
Starting with Azure Quantum: A beginner's guide
Starting to use Azure Quantum is effortless and completely free for new users. To submit your quantum programs and optimization solutions to Azure Quantum, you only require two things: an Azure account and an Azure Quantum workspace.
To obtain an Azure account, simply register for free and subscribe to a pay-as-you-go plan. Once you have an Azure account, creating an Quantum workspace is a breeze.
Head to the Azure portal, and choose between the Quick create option, which automatically generates a workspace with default providers, or the Advance create option, which allows you to enter workspace details and provider preferences.
Quantum computing resource estimation
Resource estimation in quantum computing involves understanding the resources required for a given algorithm, including qubits, quantum gates, and processing time.
By comprehending the number of qubits needed and the differences between qubit technologies, innovators can refine their quantum solutions and accelerate their impact.
With Azure Quantum’s first-party resource estimation, you can assess architectural decisions, compare qubit technologies, and determine the resources needed for a given quantum algorithm.
The Quantum Resource Estimator computes physical resource estimation based on assumptions about qubit parameters, QEC codes, and an error budget. It supports any language that translates to QIR, such as Q# and Qiskit.
To get started with the Azure Quantum Resource Estimator, simply input pre-defined values for
- Physical qubit parameters
- A Quantum Error Correction (QEC) scheme
- An error budget
Understanding Q# and the Quantum Development Kit
Firstly, to interface with the Azure Quantum service, you need to install the Microsoft Quantum Development Kit (QDK) SDK.
The QDK can be installed locally on your computer or accessed as a pre-installed component in the free hosted Jupyter notebooks provided by Azure Quantum.
Additionally, the QDK comes with Q#, a high-level, open-source programming language designed specifically for quantum programming.
Q# allows you to concentrate on the algorithm and application level, enabling you to create quantum programs with ease.
The Quantum Development Kit
- The QDK provides a range of tools to assist in quantum software development, which can be used independently of the Azure Quantum service.
- These tools include open-source libraries for high-level coding, local and cloud-based quantum computing simulators to run and debug quantum algorithms, noise simulators to test program behavior, and extensions for Visual Studio 2022 and Visual Studio Code, as well as integration with Jupyter Notebooks.
- The QDK also offers interoperability with Python and other .NET languages, and integration with Qiskit and Cirq, allowing quantum developers to run their circuits on Azure regardless of their preferred development language.
The quantum programming language Q#
Why use a quantum programming language? Here are the key points:
Writing algorithms, not circuits: A quantum programming language allows you to write algorithms that can interact with a quantum system by calling classical subroutines.
Quantum system interaction: Q# programming language does not model the quantum state directly. It describes how a classical control computer interacts with qubits, allowing you to be agnostic about what a quantum state is on each target machine.
Algorithm level programming: Writing code once and running it against multiple targets of the same family enables you to focus on programming at the algorithm level.
Development environments: You can use Q# or Python to develop quantum programs in the Azure Quantum portal using Jupyter Notebooks or your favorite IDE in a local environment.
Job submission: You can submit jobs to quantum hardware through the Azure Quantum service or use cloud-based or local quantum simulators in both environments.
Quantum software development workflow
Azure Quantum is an ideal development environment for creating quantum algorithms for multiple platforms simultaneously, with the flexibility to optimize them for specific systems. Here are the steps to create and implement a quantum program on Azure Quantum:
Write quantum code: You can create your Q# program with the hosted Jupyter Notebooks in your Azure Quantum workspace, or with the QDK extensions for Visual Studio, Visual Studio Code, or Jupyter Notebooks.
Use libraries to keep your code high-level: The quantum libraries will handle a lot of the heavy lifting in implementation, enabling you to focus on the logic of your algorithms.
Integrate with classical software: The Quantum Development Kit allows you to integrate Q# programs with Python and .NET, so you can take advantage of classical computing advances.
Run your quantum code in simulation: You can use quantum simulators to run a small instance of your program and see what it does without actual hardware access.
Estimate resources: Use the Azure Quantum Resource Estimator to determine the physical resources required and the time your program will take to run.
Run your code on quantum hardware: The final step is to use Azure Quantum to run your program on quantum hardware.
Through the Quantum Development Kit, Azure Quantum offers an easy way to explore today’s quantum systems and be prepared for the scaled quantum systems of the future.