## How much GB do you need to back-up your quantum computer?

by Tim Coopmans

A single quantum computer can be as powerful as a skyscraper-high pile of laptops – which is a curse for those designing it

I work on quantum computers, a fundamentally new type of computers based on the behavior of the smallest building blocks of our universe – less than 1 billionth of the thickness of a human hair. Quantum computers work inherently differently than our regular computers. As a consequence, they can perform tasks from medicine to chemistry that are currently out of reach; think of, for example, the improvement of medical drug design or more efficient fertilizer production. And we don’t need large ones even: quantum computers at the size of your fingernail can be faster than the world’s current biggest supercomputers, which fill an empty church. At the moment, the existing quantum computers are too small to outpace conventional computers for many tasks that matter in practice, but researchers all around the work are trying to bridge the gap.

Although quantum computers are in principle much faster at some computational tasks than even today’s fastest supercomputer, this does not mean that conventional computers are out of the picture already. In fact, we could not do without them to realize their quantum counterparts.

##### How a quantum computer is “more powerful” than a conventional one

Before diving into the use of conventional computers, I want to clarify one thing first. It is often said that quantum computers are ‘more powerful’ than conventional ones. To get this straight: there are no computational tasks that quantum computers can do but conventional ones cannot. It is just that, for a select subset of such tasks, quantum computers are much, much faster at solving them than their conventional counterparts.

Thus, when we say that quantum computers can tackle problems that are currently ‘out of reach’, we mean out of reach in practice. For example, it takes more than 300 trillion years for the world’s fastest computer to crack email passwords, a task that quantum computers could potentially perform in no more than 8 hours [1]. Let me restate this once more to be sure the message sticks: conventional computers can in principle perform precisely the same computational tasks a quantum computer can. But not always within reasonable time.

Okay, now that I am sure that we are on the same page, let me tell you about my work.

##### Simulation of quantum computers

For developing quantum computers that solve interesting tasks, typical questions that we need to answer are: how does textbook quantum computing theory say we should solve this problem? How do such requirements translate to the building blocks of the quantum hardware that is currently being built in laboratories, such as electrons or atoms and the machinery to trap these and operate on them? Given that our building blocks are not perfect and sometimes do things we shouldn’t be doing according to the textbook, can we still perform the task we want to?

For very small quantum computers, one could potentially do this analysis on paper, with a bit of math. For larger ones, however, the number of noise sources and ways to order the building blocks quickly grows out of hand.

Such too-large-to-handle scenarios also arise in the context of networks of quantum computers, which is my field of work (a Quantum Internet: see this blogpost by Bas Dirkse for things you could do with it). Here, we hope to answer, for example: if we use hardware components that are built today, how big can a network be? Can we cover the metropolitan area around Delft? Can we cover all of the Netherlands? All of Europe? And if not, then which components should be improved, and by how much?

In order to answer such questions, we mimick quantum computers “with” regular computers. This is much cheaper and less time-consuming than building the network in real life. After all, we might find out that the network we just built does not work and in that case we need to redo the entire design and construction process.

The technical term for this ‘mimicking’ is simulation. A ‘simulator of a quantum computer on a conventional computer’ is a piece of software that behaves precisely like a quantum computer, with the same buttons to push to get it going and a window that shows what it outputs*. Although the inside is different, from the outside it looks precisely like a quantum computer.

Except for one big difference: the simulation is much, much slower when we feed it particular large tasks**, such as cracking long passwords. As we already said, conventional computers are slower than their quantum counterparts (remember 300 trillion years vs 8 hours for the decryption task). This impractically long waiting time in particular holds for simulating a quantum computation. This is a problem if we want to design quantum computers by checking how well each of the different ways of constructing a quantum network performs.

##### Quantum bits, and how to translate them to ones and zeroes

Let me explain why a quantum computer simulation is so slow. The hurdle in simulating quantum computers is how quantum computers store information. In conventional computers, information is stored as sequences of zeroes and ones. For example, the article you are reading now consists of 7000 letters. There are roughly 200 different letters (capitals included). Each of these letters can be translated to a sequence of no more than 8 bits. So for storing this article, we need 7000 times 8 = 56 thousand bits. That sounds like a lot, but given that an MB of data already contains 8 million bits, it’s actually not so much by current standards. Indeed, you could easily send it with your mobile phone without having to pay a lot to your data provider.

Quantum computers do not use regular bits, but instead use ‘quantum bits’ or ‘qubits’. A quantum bit can assume the value zero and one at the same time, a concept called ‘superposition’. A qubit’s state is described by two numbers: a zero-amplitude and a one-amplitude, which could be though of as ‘proportions’ of being zero or one.

In a similar vein, two quantum bits that each be 0 and 1 simultaneously, can, together, take the values 0&0, 0&1, 1&0 and 1&1 at the same time. The collective state of the two qubits is described by four amplitudes, one for each bit sequence. For each qubit we add, the number of combinations, and thus the number of amplitudes, is multiplied by two: three qubits require 8 amplitudes, four qubits require 16, etc.

If we want to simulate a quantum computer, we need a conventional computer which is big enough to store the amplitudes of all its possible combinations. For up to 15 qubits, which have roughly 30.000 amplitudes, that is still possible on a laptop. But for 100 qubits, the number of amplitudes is a 1 followed by 30 zeroes. For 1000 qubits, the number is much, much larger than the age of the universe in seconds.

##### Simulation speedup?

This massive blowup in the number of bits is the main reason why simulating quantum computations takes a long time: the amplitude for each bit sequence needs to be stored, read, changed, and stored again when the quantum bits are used for computation. And since there are so many bit sequences, doing so takes a long time.

It is at this problem, where the knowledge of conventional computers comes in: we are looking for smart tricks to speed up this simulation. These tricks can be of a mathematical nature (using different representations of qubits’ states than amplitudes) or deal with more practical computer engineering (for example, using the fact that not all amplitudes are touched). But they all have in common that they are meant to make conventional computers faster in mimicking quantum ones.

Computer scientists currently think that the gap between their speed will remain, so that a conventional computer can never become as fast a quantum one – not even close. However, tricks to speed up simulation stretch the size of quantum computers, or networks of quantum computers, that can be handled by conventional computers, and thus be quite useful in the design of the near-term quantum technology.

At some point in the future, quantum computers will easily solve problems in medicine or physics which are too complicated for even the current world’s fastest supercomputer. But in order to get to that stage, we highly need our conventional computers and fast simulation methods to design quantum computers that actually work. Please remember that, the next time you hear about quantum computing making their conventional counterparts irrelevant.

Tim Coopmans has been a member of the blog editorial team for a few years and now finally made time to write a blog post himself.

Besides the day job as blog editor, Tim also is a PhD student in the groups of David Elkouss and Stephanie Wehner. As part of this team, he tries to predict how well near-future networks of quantum computers will work before they are built. And if they don’t work, then what could potentially be changed to make them work. On the fly, he never leaves an opportunity for far-fetched puns pass by unnoticed.

* As a matter of speech. Quantum computers need many buttons and lots of control hardware.

** There are also large tasks which are still fast to simulate, in particular in the context of quantum networks, where often there are many quantum states, each consisting of a few qubits only. But that detail is out of scope for this blog post.

Cover photo by Ruchindra Gunasekara on Unsplash

Sources and numbers used in this work:
– Quantum computers’ use in drug design and analysing chemical processes with the potential of more efficient fertilizer production
– An single electron, whose spin can be used as qubit, is roughly $$3\cdot 10^{-17}$$ meter in size, while a human hair is 100 micrometer thick. The difference is approximately a factor of $$3\cdot 10^{-12}$$, while 1 billionth of a meter is 3000 times more than that.
– Describing the state of 1000 qubits requires $$2^{1000}$$ bits in general, which is a 1 followed by more than 300 zeroes.
– The age of the universe is 14 billion years, which in seconds is roughly a 4 followed by 17 zeroes.
– Factoring 2048-bit RSA integers in under 8 hours using a quantum computer (requiring 20 million perfect quantum bits)
– Time it takes a classical computer to crack a single key in the 2048-bit RSA encryption system: An RSA150 integer was factored in 2004 in 20.597.260 seconds, which is more than half a year. For 2048-bit RSA, we could use the General Number Field Sieve algorithm, which requires on the order of $$10^{5674}$$ operations. For RSA150, the GNFS requires on the order of $$10^{300}$$ operations, so we need roughly $$10^{5374}$$ times half a year to break RSA2048. Even if we use the assumption that computers have become 10 times faster each week since 2004 (so they are $$10^{52 \times 16} = 10^{832}$$ times faster since the year 2004), we still need to wait more than $$10^{4000}$$ times half a year for RSA2048 integer to be factored. That’s an incredibly much larger number than the age of the universe in seconds. Note: When browsing the internet, you’ll find the statement that it takes 300 trillion years for the world’s fastest computer to crack 2048-bit RSA. I have not been able to found where this came from nor been able to reproduce it. Even though this number is much lower than the estimation above, it is still an astronomically long time. To be on the safe side, I picked this number as lower bound.

### Spin, meet Photon. Photon, meet Spin

Making light interact with matter at the quantum level with cavities and colour centres. by Matteo Pasini Many phenomena ...