Entering the NISQ Era of Quantum Computing — and the problems with Quantum Compiling

Evan Lin
8 min readOct 13, 2020

A brief summary of what to expect in the near future for Quantum Computing…

If you are completely new to quantum computing, I’d recommend you to read this article first before continuing: https://medium.com/@evxxan/the-art-of-replicating-nature-itself-5df6cfb8e541

If I came out of a time machine and told you that we are reliving the computational era of the 1950s, wouldn’t you think I’m crazy? If you said either yes or no, you’d be right AND wrong at the same time. (Superposition pun intended)

Alright, let me clear up this confusion.

In the 1950s, the birth of the first classical computer brought the attention of many research scientists who all had interests in solving big problems. These computers were big and they were slow; many people didn’t see practical short-term use aside from academia and theoretical research. So what happened to these computers? Well, the fact that you are reading this article already gives away the answer. We have entered the second age of classical computing where we can use computers for practically anything, and this was achieved decades ago.

So how does this relate to today’s computational era of Quantum Computers?

In our day and age, the quantum computers we see are fairly large and are typically used for academia and theoretical research. In terms of practicality, the developmental stage for quantum computers is on the same exact path of classical computers. But what if I told you that we’ve already entered the second age of quantum computing since last year?

Figure 2: Google’s 53 qubit processor “Sycamore” — Source: NYTimes

On October 23rd, 2019, Google announced their achievement of “Quantum Supremacy.” This marked the checkpoint of a quantum computer finally surpassing the fastest supercomputer on earth (for certain tasks). At 53 qubits, Google’s Sycamore processor is one of few era-breakthrough technologies in quantum computing that mark the beginning and entry of the NISQ era, performing a calculation that took 200 seconds which would take 10,000 years for the worlds most powerful supercomputer!

Fun fact: 50 qubits is where we reach the brute force limit of any classical computer

What is the NISQ Era?

This is the era of quantum computing where we begin to see practical uses…

Definitions:

NISQ stands for “Noisy Intermediate Scale Quantum”

“Noisy” in NISQ means the external environmental factors that impede or disturb the ability of a quantum computer to give an accurate result

The NISQ era represents a new standard for quantum computers — having over 50 qubits and under 1000 qubits.

Figure 3: The Three Phases of progress (2019) Source: BCG

So what are these new standards for quantum computers? Well, first of all, the most outstanding new standard is that they are expected to have explicit applications and commercial uses. And just to list a few that are becoming popular:

  • Molecular simulations
  • Stock portfolio optimization
  • Battery Research

As NISQ quantum computers have the ability to accumulate more and more qubits in their system, they encounter more and more problems that will scale exponentially if not solved. One of these problems is a phenomenon called decoherence, which is when the quantum properties of a qubit disappear out of error because of tiny environmental obstacles that deviate measurements before an equation is solved.

How does Decoherence happen?

On current quantum computers, after 100 computational steps, the quantum characteristics disappear due to not only the number of computational steps involved but the opposing environmental factors/forces that accumulate through each step. Such as temperature, a quantum computer must be kept at a temperature of below 0.1 Kelvin in order to be in its quantum state. This ultimately makes our current quantum computers unreliable because of its high variability in success and error to give a proper result. So how can we solve this issue?

Welcome to the study of Quantum Compiling

Just like the way a classical computer compiles your pseudocode and logic into binary digits for the computer to understand, quantum compiling does just the same, for quantum computers. A quantum compiler translates quantum algorithms into instructions for the quantum circuits that are made up of binary digits. In short, a quantum compiler is basically a programming language for a quantum computer.

Figure 4: Process of Quantum compilation — Source: IBM

The sole objective of optimizing quantum compiling is to make computational processes faster (lowering runtime) so that the margin of error with decoherence decreases.

Previously, we discussed how decoherence occurs after 100 computational steps and how opposing environmental forces such as temperature can act on the quantum state of a qubit, but we have a bigger problem at hand. After these 100 computational steps, the connectivity between the qubits in the quantum computer becomes more limited.

How do we fix this?

Remember that the problem of quantum compiling is meant to address the physical constraints related to the connectivity of its processor. These constraints include 3 main rules:

Figure 5: Depiction of a 2 Qubit gate: Source — ResearchGate/Author: Gregoire Ithier
  1. Only qubits neighbouring each other can be coupled and be passed through a two-qubit operation
  2. The same qubit can’t be executed in parallel in the circuit
  3. Gates can only operate on qubit states located on adjacent qubits on the chip

To read this diagram, think of the box as a gate, or rather an action that measures the qubits from left to right in time.

Let's focus a bit more on the first point

In order to increase the connectivity of the processor, the individual connections between each computational step must be accurate for the final output to also be accurate. If we ignore these rules, we will encounter decoherence more frequently as we add on more qubits to the processor. This is why two-qubit operations are effective, and it is for the reason that they compute two qubits at a time. At 2 qubits, the fidelity, (meaning the accuracy)of a NISQ quantum computer is valued at over 0.99 which equates to over 99% accuracy. At 1 qubit, the fidelity exceeds 0.999, which is over 99.9%! Although this is a sacrifice of efficiency, in return, we get a much more accurate result and we stray further away from the ’n’ in “NISQ.”

When following these rules, we reduce the margin of error by using the fewest amount of quantum gates from the first gate to the last and by doing so, we optimize the RUNTIME of the quantum computer so that we can completely skip the chances of decoherence to occur. That means we make the computational processes fast enough (Through each gate) before we enter the “risk zone”, or bracket of time where decoherence is most prominent.

In reality, when computing with two-qubit operations, a 0.99 fidelity isn't accurate.

This would mean at a hypothetical 99th computation, the computer would return an incorrect result.

Figure 6: Walkthrough of Quantum Compiling Source: Fingerhuth M, Babej T, Wittek P

Ok, so if we have all these problems, wouldn’t it be easier to solve them collaboratively? Fortunately, companies such as IBM and Microsoft have already developed open source quantum compilers that can be used by anyone online! With IBM’s Qiskit compiler and Microsoft’s Q# compiler, anybody with access to the internet can learn how to program a quantum computer through cloud access while building their intuition with quantum computing. This means that communities can come together and solve problems, even if it means you’re from different companies, or you’re beginning to learn about quantum computing. Despite the increasing popularity of these two languages, they can only run on their own companies' quantum computers, and none other because each computer’s hardware is strikingly different.

Here is an example: A quantum computer’s gates vary on the layout of the circuit, and vice versa. That means that 2 qubits on one circuit may be physically connected, but on another quantum computer at the same stage in computation, a swap gate may be initiated instead. The same two quantum computers can also differ in qubit connectivity. Referring to the previous example again, one quantum computer may have a gate that can take 2 qubit values (such as a SWAP gate or a CNOT gate), but at the same stage in computation, the other may have their qubits physically connected.

Figure 7: CNOT gate and SWAP gate, respectively

This means that although IBM and Microsoft share quantum computers with the exact same functions and purposes, we would have to learn different programming languages just for a different company. This leads to the theory of developing Universal Quantum Compilers to make quantum operations more efficient.

Universal Quantum Compilers

Developing quantum computers and their new technology in the NISQ era is a competition and this is why many companies choose their own compiler exclusive to their own computer, without collaborating with other big-name companies. It will be very unlikely that we’ll see companies like IBM and Microsoft working together to bring global access to quantum computing. They all have their own programming language for their own quantum computer, it's not like retrieving open source code from Github and assuming the same problem in C++ can be translated into python.

Personal Opinions and Thoughts

If we had one universal quantum compiler, we would see much more efficiency in development for quantum algorithms. As a result, companies could collaborate and pinpoint any variances or discrepancies between their results.

If we were to also have a universal quantum compiler, that would mean we would need a universal quantum computer. This would be a breakthrough in developing what is called a “Quantum Turing Machine”, which would be Turing complete, and in principle can solve any computational problem without regard to runtime or memory of the quantum computer.

Thank you for reading my article! Leave a clap and a share if you enjoyed the article!

Additional resources:

Understanding the Complexity of Quantum Circuit Compilation: https://www.ibm.com/blogs/research/2018/08/understanding-complexity-quantum-circuit-compilation/

Citations:

Fingerhuth M, Babej T, Wittek P (2018) Open source software in quantum computing. PLoS ONE 13(12): e0208561. https://doi.org/10.1371/journal.pone.0208561

Huang, W., Yang, C.H., Chan, K.W. et al. Fidelity benchmarks for two-qubit gates in silicon. Nature 569, 532–536 (2019). https://doi.org/10.1038/s41586-019-1197-0

Loft, N.J.S., Kjaergaard, M., Kristensen, L.B. et al. Quantum interference device for controlled two-qubit operations. npj Quantum Inf 6, 47 (2020). https://doi.org/10.1038/s41534-020-0275-3

--

--

Evan Lin

Innovator at The Knowledge Society (TKS). Interested in Machine Learning and Quantum Computing.