Computers have become essential for our modern lifestyle. We use them for work, studying, banking, shopping and much more. They are now a core component of our everyday lives. In the past couple of decades, a new type of computer has been under development, the quantum computer. It promises to change our lives by potentially revolutionizing medicine, communications, encryption and artificial intelligence. Companies like Google, IBM and Microsoft are investing billions to become the dominant player in this technology.
What’s all the fuss about? How is a quantum computer fundamentally different from the everyday computers we use today? And how does it really work?
In order to learn how a quantum computer works, we need a basic understanding of how an ordinary classical computer works. Both the classical and quantum computers share many general components,
So let’s look at some of these basic components shared by both types of computers. For any computer to work, it needs a power supply – because energy is needed to run the system. In order to work with data, they both also need someplace to store the data. For this purpose, both computers generally use hard drives and solid-state drives also called SSDs for storing bulk data.
There is however one big problem with this type of storage. It’s simply too slow. The data transfer between these bulk data storage devices, and the processor needs to be faster.
To help this issue most computers have something called RAM, or Random Access Memory. Quantum computers could in principle use a kind of quantum RAM memory, so the quantum equivalent or RAM could look different, but its functionality would be the same.
This memory is much faster than any hard disk or SSD, and it’s also physically closer to the processor. This means the data bandwidth can be much higher, and the data can flow much faster. The downside is that RAM is much more expensive per gigabyte, and it is volatile. This means that if the power goes, then the data in the RAM can get lost.
Also necessary is some kind of central processing unit or CPU. This is the brain of the computer that does the actual computation. The RAM storage is used to keep the CPU fed with data that it needs to work with. We also need some device that connects all the different components together. This is the motherboard. It connects the CPU with the RAM storage, and any other component necessary to make a functioning computer.
Both a quantum and a classical computer need these components we just mentioned, but the main difference between these two types of computers is in how the CPU works. A classical CPU is made from transistors. A transistor is basically like an on/off switch. If it is on, then it’s like the number 1. And if it is off it’s like the number 0. One and zero can also represent true or false respectively. In this way, a transistor has two possible values. This is what binary means. A transistor represents a binary bit, 1 or 0 – or on or off, or true or false. And sets of binary numbers can represent numbers and letters, as shown here:
The most fundamental difference between quantum and classical computers is that quantum computers do not use binary bits, they use quantum bits or qubits. Now, what is a Qubit? It is a bit in a superposition of 1 and 0. What does superposition mean?
Quantum theory shows that quantum objects such as electrons, prior to measurement, are in multiple states at the same time. So something like the spin of an electron, which is a measurement of its intrinsic angular momentum, when measured is either up or down. For simplicity, this means that it is either spinning clockwise or counterclockwise.
However, prior to measurement, it is said to be spinning both clockwise and counterclockwise at the same time. This is what superposition means. The electron is in a superposition of both up and down spin. Only upon measurement does the universe decide that the spin is one or the other. It is never measured to be anything in between, only up or down. But before measurement, it is in some combination of both.
We can visualize a qubit by using a sphere. A classical bit can be 1 or 0. This would be the equivalent of the up or down spin or two different distinct positions on the sphere. The qubit, on the other hand, can be in any place on the surface of this sphere depending on the superposition. A single qubit can have any value on the sphere. This represents the
fact that the qubit can be any mixture of 1 and 0, so the possible values are infinite!
This is the crux of the power of quantum computing. So whereas the classical binary bit can only take one of two values, the superposition allows a qubit to take on a potentially infinite number of values. Practically a qubit can be created by various quantum objects like photons, electrons or even atoms. It doesn’t really matter. It just needs to be a quantum object in superposition.
Mathematically we write this superposition like this: Where psi represents the wave function representing the superposition of a qubit. Alpha squared is the probability of being in the 0 state and Beta squared is the probability of being the 1 state, and for the math to be consistent, we must have that alpha squared plus beta squared equals one. This makes sense as the total probability must be 1 or 100%. Thus, if we chose α to be one then β must be zero, and vice versa.
But this is just the same as the classical case with binary numbers! However, in a quantum computer, these alpha and beta values can be any values between 0 and 1 as long as this equation is satisfied. For example, we could have a mixture where alpha and beta are each one over the square root of two. This would satisfy the equation because when you square and add these numbers, you get one.
The fact that we can use qubits in superpositions is very powerful because it means we can ask several questions at once, “what is the result if the qubit is one? What is the result if the qubit is zero? What is the result if it is anything in between”– so we can calculate the process where the bit is both zero and one and anything in between.
This downside is of course, that the result will also be some superposition. So the quantum computer needs to maintain superposition throughout the process. The inputs are in superposition and the output will also be in superposition. During computation, the quantum computer operates WITHOUT any measurement of any kind. Because there are no measurements, the computer state evolves according to quantum mechanics.
The computer follows multiple computational paths at the same time, analogous to the way a photon could follow multiple paths through a double-slit experiment. It only has a certain probability of ending up in certain locations. Only at the end, there is a measurement needed to read the result or output. This occurs only when the computation is finished. As the computer operates, no physical record is made of which computations is done. It does them all.
Now it’s very important to understand that although the calculations are done while qubits are in a superposition, the final measured answer has to be classical. So the result is always a classical result – a one or zero. You might ask, how do we go from superpositions to the final classical answer.
To do this, we have to measure the superposition to get a one or zero. The problem is how do we know what we should get. Should we get a zero or should we get a 1? Which one is correct? This is where quantum algorithms come into the picture. These are clever programs created by programming scientists that use mathematical tricks to make sure that the probability of getting the correct is the answer is as high as it can be. How does this work?
Because superpositions are like waves, to get the correct answer, you want to apply destructive interference on the wrong results, and constructive interference on the correct results. In the end, it combines the results of all these computational paths and does a kind of interference experiment. This process of what the correct result is
most likely to be is controlled by the algorithm. So these algorithms are key to turning the superpositions into the correct classical result. So how is this so much more powerful than classical computers for solving certain types of problems? The quantum computer doesn’t do the usual stuff in a faster way. It doesn’t calculate all the possible results very quickly. It calculates multiple functions at once for multiple possible inputs.
So for example, if you wanted to find a person’s phone number in a phone book containing a million entries, it’s not a problem, you would just look up their name in alphabetical order. But what if you had the inverse problem – you had a phone number and you were trying to find the name that it belongs to?
A Classical computer would have to look up one number at a time, on average 500K numbers or 500 thousand operations, before it found the correct name. The worst-case would be examining 999,999 numbers before finding the name that it belongs to. However, if the phonebook data was on the quantum computer, it could find the name in 1000 operations. 1000 is the square root of 1,000,000.
Where does this number come from? Lov Grover in 1996 developed a quantum algorithm that could quadratically reduce the number of operations needed to find a unique entry. Other scientists proved that any quantum solution for unstructured searches like the phonebook data problem would only need to evaluate the square root of the total number of data points. The problem it can solve is searching for a target in a large set of possibilities.
If you are looking for a needle in a million haystacks, you would want to solve it on a quantum computer. Similarly, If you had a large maze, and you were trying to figure the way out, a classical computer would have to try each path one at a time, make an adjustment, then try again. Many iterations would be needed. A quantum computer can try all paths at once, and give you an answer almost instantly.
So what’s the hold up in building large quantum computers?
It is hard to build because firstly it has to be isolated from the outside world. In order to preserve the superposition, it cannot interact with any molecules or photons or other particles, which could collapse the superposition. This superposition throughout the computation process also requires extreme cooling. The problem with heat is that thermal fluctuations can either modify or destroy the superposition because the heat energy can interact with the Qubits. So, this is why quantum computers are cooled to near absolute zero, that’s -273 degrees Celcius, to effectively eliminate all external thermal energy so that the superposition is not modified or broken.
In addition, the different parts of the computer must interact very rapidly with each other. Qubits can’t talk to the outside world, but they have to be able to talk to each other very fast. So these connections that the qubits must have are not trivial.
The interesting thing is that if you think about it, the universe itself can be thought of as a kind of computer. It processes the present which is the input and computes the result, which is the future. It computes this based on the set of instructions it is given. And what are these instructions? – they are the laws of physics. These laws determine the algorithm of the universe.