The real magic of quantum computing
There is a magician on stage. It’s tense. Maybe it’s a primetime TV show and the production value is super high. The celebrity judges look nervous. There is epic build up music as the magician calls their assistant on stage. The assistant climbs into a box that is covered with a velvet blanket. Why a blanket? I mean, isn’t the box good enough? What a pretentious as… forget it, I’m ruining this for myself. OK, so the assistant is in the box with their head and legs sticking out. What the fuck? Who made this box, anyway? Damn it, I’m doing it again. Then — oh shit — is that a saw? What’s going to happen with that? Fuck! No! The assistant’s been cut in half! And then the quantum computer outputs the answer. Wait, what? Where did the quantum computer come from? I don’t know — quantum computing is magic like that.
By now you have read many articles on quantum computing. Congratulations. You know nothing about quantum computing. I know what you are thinking: Whoa, Chris, I wasn’t ready for these truth bombs. Take it easy on us. But I see a problem and I just need to fix it. Or, more likely, call the rental agent to fix it.
You probably think that a qubit can represent a 0 and a 1 at the same time. Or, that quantum computing takes advantage of the strange ability of subatomic particles to exist in more than one state at any time. I can hardly fault you for that. After all, we expect Scientific American and WIRED to be fairly reputable sources. And, I’m not cherry picking here — these were the first two hits after the Wikipedia entry on a Google search of “What is quantum computing?” Nearly every popular account of quantum computing has this “0 and 1 at the same time” metaphor.
I say metaphor because it is certainly not literally true that the things involved in quantum computing — those qubits mentioned above — are 0 and 1 at the same time. Why? Well, for starters, 0 and 1 are defined to be mutually exclusive (that means it’s either one OR the other). Logically, 0 is defined as [NOT 1]. Then 0 AND 1 is equal to [NOT 1] AND 1, which is a false statement. “0 and 1 at the same time” just doesn’t make sense, and it’s false anyway. Next.
OK, so what’s the big deal? We all play fast and loose with words. Surely this little… let me stop you right there, because it gets worse. Much worse.
The Scientific American article linked above then deduces that, “This lets qubits conduct vast numbers of calculations at once, massively increasing computing speed and capacity.” That’s a pretty big logical leap, but I’d say it’s a correct one. Let’s break it down. First, if a qubit can be 0 and 1 at the same time then two qubits can be 00 and 01 and 10 and 11 at the same time. And three qubits can be 000 and 001 and 010 and 011 and 100 and 101 and 110 and 111 at the same time. And… well, you get the picture. Like mold on that organic bread you bought, exponential growth!
The number of possible ways to set some number of bits, say n of them, is 2n — a big number. If n = 300, 2300 is more than the number of atoms in the universe! Think about that. Flip a coin just 300 times and the number of possible ways they could land is unfathomable. And 300 qubits could be all of them at the same time. If you believe that, then it is easy to believe that quantum computers will just calculate every possible solution to your problem at once and pick the right answer. That would be magic. Alas, this is not how quantum computers work.
Lesson 1: don’t take a bad metaphor and draw your own simplistic conclusions from it.
Try this one out from Forbes: “A bit can be at either of the two poles of the sphere, but a qubit can exist at any point on the sphere.” Spot on. This is 100% accurate. But, wait! “So, this means that a computer using qubits can store an enormous amount of information and uses less energy doing so than a classical computer.” The fuck? No. In fact, a qubit cannot be used to store and retrieve more than 1 bit of data. Again, magic, but not how quantum computers work.
Lesson 2: don’t reduce an entire field to one idea and draw your own simplistic conclusions from it.
I can just imagine what you are thinking right now. OK hotshot, how would you explain quantum computing? I’m glad you asked. After bashing a bad analogy, I’m going to use another, better analogy. I like analogies — they are my favorite method of learning. Teaching by analogy is kind of like being in two places at the same time.
Alright, I’m going to tell you the correct analogy between quantum physics and magic. Let’s think about what a magic trick looks like abstractly. The magician, who is highly trained, spends a huge amount of time choreographing a mechanism which is then hidden from the audience. The show begins, the “magic” happens, and we are returned to reality with bafflement. If you are under 20, then you also take a selfie for the Insta #fuckyeahmagic.
Now here is what happens in a quantum computation. A quantum engineer, who is highly trained, spends a huge amount of time choreographing a mechanism which is then hidden from the audience. The show begins, quantum computation happens, and we are returned the answer to our problem. Tada! Quantum computation is magic. Selfie, Insta, #fuckyeahquantum.
Let’s dig into this a bit deeper, though. Why not uncover the quantum computer — open the box — to reveal the mechanism? Well, we can’t. If we “watch” the computation happen, we expose the quantum computer to an environment and this will break the computation. The kind of things a quantum computer needs to do requires complete isolation from the environment. Just like a magician’s trick, if we reveal the mechanism, the magic doesn’t happen.
OK, fine. The “magic” will be lost, but at least I could understand the mechanism, right? Sure, that’s right. But here’s the catch: a magician spends countless hours training and preparing for the trick. Knowing the mechanism doesn’t help you understand how to actually perform the trick. Nor does seeing that the mechanism of quantum computing is some complicated math actually help you understand how it works. And don’t over simplify it — we already know that doesn’t work.
Let’s look at the example of a sword swallowing illusionist. If you don’t know what I’m talking about, it’s exactly how it sounds — a person puts a sword the length of their torso in their mouth down to the handle. How one figures out they have a proclivity for this talent, I don’t want to know. But what’s the explanation? Don’t worry, I already googled it for you, and it’s simple: “the illusionist positions their head up so that his throat and stomach make a straight line.” Oh, is that it? I’m suddenly unimpressed. So now that you too know how to swallow a sword are you going to go and do it? I fucking doubt it. That would be stupid — about as stupid as reading a few sentence description of some “explanation” of quantum computing and then declaring you understand it.
Lesson 3: don’t place your analogy at the level of explanation — place it at the level of the phenomenon. Let your analogy do the work of explanation for you.
If you like figures, I have prepared a lovely summary for you.
Well there you go. Quantum computing isn’t magic, but it can put on a good show. You can learn about how to do the tricks yourself and even perform a few with a little more effort. I suggest starting with my lecture notes.