Today’s computers are fast, really fast. A processor in a low-range laptop can perform over 100,000,000 operations per second and most modern devices have more than one processor. Everyone knows Apollo 11 made it to the moon with less computing power than a common phone, so what do we need quantum computers for anyway?
Certain problems are often used as example applications for future quantum computers, but there is one for which (in my opinion) the quantum advantage is much easier to understand: simulations of physical systems. This is the problem that initially sparked the idea of quantum computing.
Simulating large things (golf balls, planets) is comparatively easy to simulating small things (atoms and molecules) because very small systems follow the laws of quantum mechanics. To demonstrate, let’s say we want to simulate the behaviour of some quantum particles. To keep things simple, we will say these particles can only be in one of two states (ON or OFF). You have probably heard of the term ‘superposition’ in quantum related literature; In terms of our simulation ‘superposition’ means we need to keep track of two values related to the ON and OFF states. We then take an initial state, do some operations on the particle and see what the results look like.
For each step, the simulation program looks at the values we’ve stored and uses maths to update them. This seems simple enough and you might be able to do these kind of computations with a pen and paper, but things get more complicated and interesting when we add more particles. Say we add another particle to our simulation that can interact with our first particle. We now need to keep track of four values because our system can be in superposition of four different states:
Following on, we see that adding another particle to our simulation means we need to keep track of eight values, updating them with each step in the simulation:
You might spot a pattern here: the number of values to keep track of doubles with each particle we add. This is an example of exponential growth, another term we often hear around quantum computing. This simulation problem seems relatively straightforward at first, but at around thirty particles it becomes too large for my laptop to simulate in a reasonable time. You might say “We’re doing serious science now, let’s buy another laptop to work on the problem at the same time,” but doubling our computing power will only allow us to simulate one more particle. If we wanted to simulate 32 particles we would need four laptops and to simulate 33 particles in similar time we would need eight laptops!
What if we wanted to simulate 100 particles? This is clearly far beyond the capabilities of any computer I could ever afford, in fact it’s most likely more expensive than anyone could afford. But even if some could afford it, they would need to spend the same amount again if they wanted to
even if some could afford it, they would need to spend the same amount again if they wanted to simulate 101 particles. At this point you might say “forget simulations, lets just get 100 of these particles in a laboratory, under the right conditions and see what they do!” And this is the rationale behind quantum computing.
With a perfect quantum computer, we would need only one qubit per particle. If we wanted to simulate 100 of these particles, we would need 100 qubits, to simulate 101 we just increase the size of our quantum computer by one qubit. This is because the quantum computer is itself a controllable quantum system and keeps track of all the values for us.
This is also the simplest example of a quantum system, real life systems such as atoms and molecules made from quantum particles have many different states and simulating larger structures poses a real challenge to modern computers. Since the first suggestion of a quantum computer it has been discovered that quantum computers could have an advantage over classical computers for other problems too. For some problems the advantage is similar to the advantage we discovered in simulations (we call this ‘exponential speedup’), whereas for other problems the advantage is not as impressive. At the time of writing, the best quantum computers we have are very expensive and have around 50 qubits. Unfortunately, these computers are very noisy (this means they don’t behave exactly as we want them too) and many of these qubits must be used to compensate for this, however these machines are getting bigger and more accurate. Even without useful computational results, the creation and testing of these machines is within itself important to scientific research.