Unlocking the power of Azure with quantum computing
November 26, 2020
Happy holidays! Today, I'll be writing an introductory primer on a subject that first sparked my interest two years ago. Let's begin with a question:
What do Azure, Einstein, and cats have in common?
They will help us understand the past and present of quantum computing and what we can expect from the not so distant future.
Table of contents
To understand the fundamentals of quantum computing, we have to go back to 1935 when Erwin Schrödinger first shared his thought experiment with Albert Einstein.
Schrödinger asked: what if we placed a cat in a box? Specifically, a box with a poisonous substance inside that had an equal chance of being released or staying contained.
Before we opened the box, we would have no idea whether the cat was alive or dead. It could be alive and dead.
The concept of existing in two different states at the same time is at the core of understanding quantum computing.
Quantum computing is a new computational paradigm. This means that it runs differently than your phone, laptop, server, or any other piece of technology you own.
What sets quantum computing apart from a classical computer is speed; it has the potential to solve specific problems exponentially faster.
Let's go back to Schrodinger's Cat. When we think about a cat being alive and dead, that is fundamentally different from how classical computers work.
Comparing quantum and classical computers
Right now, our computers run on bits: either 1s or 0s that are strung together and processed by the computer. This is known as binary code. Just like how a cat can't really be alive and dead at the same time, a bit can never be a 1 or 0 at the same time.
Quantum computing, in comparison, has quantum bits (known as qubits). Qubits have two superpowers that bits do not have.
Let's say you have a single qubit. This qubit can be a 1, a 0, or both at the same time. When a qubit is both a 1 and 0, this is known as superposition.
Now, let's say you have two qubits. When combined, they can simultaneously be a 00, 10, 01, and 11. Those 2 qubits yield 4 results compared to a bit yielding only 1. This grows exponentially; for every qubit you add, the number of combinations double. For example, if you added a third qubit, you would have eight combinations. This is known as entanglement.
The benefit of superposition and entanglement
An exponential number of potential outputs decreases the time it takes for a program to run compared to a classical computer that has to run linearly.
The following is a really good representation of how a classical computer would solve a maze compared to a quantum computer.
The linear method of a classical computer takes longer than the exponential method of a quantum computer.
With such a speedier runtime, why haven't we started learning and implementing it more? There are three main reasons for this we are going to cover in more detail.
1. It is debatable whether we have achieved quantum supremacy
Quantum supremacy can be defined as when a quantum computer can perform a task faster than a classical computer. Currently, a classical computer can simulate a quantum computer up to a certain number of qubits. A quantum computer would need to surpass a classical computer in ability.
As investment in quantum technology and research improves, this will soon be achieved. Some sources think quantum computers can become mainstream in the next 2 to 5 years.
2. Running a quantum computer is expensive
More specifically, running a quantum computer can cost over 1,000 times what the same query would cost to run on a classical computer.
3. Quantum computers are only more effective than a classical computer in specific use cases
Quantum computers are only more effective than a classical computer to solve highly specialized problems. This means that we won't be carrying around quantum smartphones in the future.
With the current limitations of quantum computers, it is important to understand why they're relevant. I'll cover two use cases where quantum computing has the potential to change the world.
Classical computers can take years to process the complexity and accuracy needed to develop medical treatments. A breakthrough in quantum computing would mean treatments could be developed exponentially faster.
Quantum computing can discover solutions that would efficiently combat climate change. This includes creating synthetic fertilizers that reduce consumption of natural gas as well as make our energy sources--such as disposable batteries-more efficient.
Microsoft is one of the leading companies investing and developing quantum technology. They are building quantum computing into Azure where you can develop and scale solutions right now.
Additionally, Microsoft has created the Quantum Development Kit (QDK) witch includes Microsoft's open-source language, Q#.
- Complete the Microsoft Learn quantum computing foundations learning path
- Learn more about Azure Quantum
- Check out Microsoft's Quantum Development Kit
I used a range of materials to create this post. In addition to the sources I listed above, I used the following:
- Think beyond ones and zeros
- Schrödinger's cat: a thought experiment in quantum mechanics - Chad Orzel
- Quantum superposition and what that means to quantum computation for their fantastic maze animations
- Quantum supremacy explained
- Animation and art credit: Lynzley Kolakowski