Skip to content
Mahee Gamage
Go back

What is Quantum Computing

How often do you hear the term “Quantum Computing” (QC) these days? Every big company, including IBM, Google, and Microsoft, are investing in it. Also, there is news regarding how current encryption-based security will be obsolete once quantum computers are developed. But on the other hand, no one is explaining how that happens. How does the QC work? How QC is better than computers we have currently? I was in the exact situation 1 year ago. I try to understand QC from the perspective of computer science (more precisely, the classical computer science perspective. I will explain what “classical computer” means later). But most of the sources I tried contained more mathematical approaches, and to get to the knowledge you are seeking, first you need to understand underlying quantum mechanics. This may demotivate you from digging deep into QC. So I will try to explain QC from a different perspective. More computer science-friendly approach.

First let’s look at what a quantum computer is. For that, I will start with explaining what a classical computer is. Every machine we use today, including your laptop, your phone, and the servers behind the cloud, is a classical computer. On the other hand, if a computer uses quantum properties to do its computation, then it is a quantum computer. Let’s take an example. Imagine you need to multiply 10 numbers by 2. With a classical computer, usually we need to perform the multiplication on each number separately. With a GPU or even a multi-core CPU we can parallelize this, but each individual operation can produce only one result. To reduce the complete workload time by half, you need to double the number of processing units.

Here’s how the QPU differs. Rather than computing each input separately, a QPU can represent all the input values simultaneously. So when we apply a single operation on the QPU, it affects all the input values simultaneously and produces all the related outputs at the same time. Simply, a single operation can take multiple inputs and produce multiple outputs. It doesn’t matter if you have 10 numbers or 1 trillion numbers (to represent 1 trillion numbers qpu only need 40 quantum bits or qubits). The QPU needs one operation, or one execution cycle. How cool is that?

But every great thing has its own downsides. For the QPU, it’s the collapse of the multiple states into a single value at observation or measurement. So all the outputs generated for the given multiple inputs with a single operation cannot be extracted. It will only give a single random output value. How sad 😢. So in this configuration, the QPU doesn’t has advantage over classical counterpart. But there are some clever algorithms that use quantum operations to convert this randomness of selecting an output value, into a more certain probability. With that, we can use QPUs for some tasks like finding a value in an unstructured dataset or finding the factors of a number faster than classical counterparts at the moment.

So, according to the knowledge we have at the moment, theoretically, QCs are not better than classical computers in every aspect. Similar to the GPU, the QPU has its own place in solving a set of specific problems. In practical terms, QC’s practical utility gets lowered further due to the inability to maintain quantum properties through the input, process, and output cycle. In other words, they are susceptible to errors. But progress is being made in the quantum error correction domain. So hopefully we will see practical QPUs soon that surpass CPUs and GPUs.

So what does this all means? QC is cool but will not replace your laptop. Rather, they will be there to accelerate some computational workloads, similar to the GPU. As mentioned, there are no real-world applications at the moment. Maybe there are some in very niche areas, but there is nothing, according to my knowledge, that has a real benefit over classical computers. But tons of experiments are being conducted, and potential problem domains are being explored so they can get the benefit as soon as an error-free or error-corrected quantum computer is created.

Did you get an idea of what QC is now? I hope you do. If you’re interested in exploring the area more, I listed a couple of interesting areas.

  1. Underlying quantum mechanics
  2. The 2 main quantum algorithms: Shor’s algorithm (for prime factorization and breaking encryption) and Grover’s algorithm (for searching unstructured databases)
  3. Types of quantum computers: superconducting, trapped ions, and photonic

Bonus: Qubernetes (what I am working on) - Modifying Kubernetes to allow running quantum workloads and facilitate an easier quantum software development workflow

Disclaimer: I have being in this field only for 1 year, so this post may contain some mistakes. If you spot any errors or something that doesn’t sound right, please drop me a message in LinkedIn or drop a email - mahee.gamage@gmail.com


Share this post on:

Next Post
I built an app because I needed easier way in learning language