The journey to realizing functional quantum computers will be long and it's a path that Q-CTRL is committed to making as easy as possible for you. And by easy, we mean less difficult. Building a universal quantum computer with millions of entangled, coherent quantum bits running complex algorithms is not going to be simple or straightforward.

## From noise to error in quantum computing

Here we’ll get to the heart of why quantum computing is really hard: noise and error.

“Noise” describes all of the things that cause interference in a quantum computer. Just like a mobile phone call can suffer interference leading it to break up, a quantum computer is susceptible to interference from all sorts of sources, like electromagnetic signals coming from WiFi or disturbances in the Earth’s magnetic field. When qubits in a quantum computer are exposed to this kind of noise, the information in them gets degraded just the way sound quality is degraded by interference on a call. This is known as decoherence.

Compared with standard computers, quantum computers are extremely susceptible to noise. A typical transistor in a microprocessor can run for about a billion years at a billion operations per second, without ever suffering a hardware fault due to any form of interference. By contrast, typical quantum bits become randomized in about one one-thousandth of a second. That’s a huge difference.

Now consider a quantum algorithm, executing many operations across a large number of qubits. Noise causes the information in the qubits to become randomized - and this leads to errors in our algorithm. The greater the influence of noise, the shorter the algorithm that can be run before it suffers an error and outputs an incorrect or even useless result. Right now, instead of the trillions of operations that might be needed to run a full-fledged quantum algorithm, we can typically only perform dozens before noise causes a fatal error.

## Quantum error correction

So what do we do about this?

Companies building quantum computers like IBM and Google have highlighted that their roadmaps include the use of “Quantum Error Correction” as they scale to machines with 1000 or more qubits.

Quantum Error Correction - or QEC for short - is an algorithm known to identify and fix errors in quantum computers. It’s able to draw from validated mathematical approaches used to engineer special “radiation hardened” classical microprocessors deployed in space or other extreme environments where errors are much more likely to occur. QEC is the source of much of the great promise supporting our community's aspirations for quantum computing at-scale.

In QEC quantum information stored in a single qubit is distributed across other supporting qubits; we say that this information is "encoded" in a logical quantum bit. This procedure protects the integrity of the original quantum information even while the quantum processor runs - but at a cost in terms of how many qubits are required. Overall, the worse your noise is, the more qubits you need.

Depending on the nature of the hardware and the type of algorithm you choose to run, the ratio between the number of physical qubits you need to support a single logical qubit varies - but current estimates put it at about 1000 to one. That's huge. Today’s machines are nowhere near capable of getting benefits from this kind of Quantum Error Correction.

QEC has seen many partial demonstrations in laboratories around the world - first steps making clear it’s a viable approach. But in general the enormous resource overhead leads to things getting worse when we try to implement QEC. Right now there is a global research effort underway trying to cross the “break even” point where it’s actually advantageous to use QEC relative to the many resources it consumes.

How do we get there?

## Quantum firmware and quantum error correction

This is where Q-CTRL comes in. We add something extra - quantum firmware - which can stabilize the qubits against noise and decoherence without the need for extra qubits. Quantum firmware serves as a complement to QEC, such that in combination we can accelerate the pathway to useful quantum computers.

One kind of quantum firmware works by something called dynamic stabilization - if you constantly rotate your qubits in just the right way you can make them effectively immune to the noise which would normally randomize them. It sounds a bit like magic, but believe it or not, similar techniques are already used to stabilize the memory in your computer.

The techniques are easy to implement and the benefits can be huge - our own experiments have demonstrated more than 10X improvements in cloud quantum computers!

In the context of QEC, quantum firmware actually reduces the number of qubits required to perform error correction. Exactly how is a complex story, but in short, quantum firmware reduces the likelihood of error during each operation on a quantum computer. Better yet, quantum firmware easily eliminates certain kinds of errors that are really difficult for QEC, and actually transforms the characteristics of the remaining errors to make them more compatible with QEC. Win-win!

Looking to the future we see that a holistic approach to dealing with noise and errors in quantum computers is essential. Quantum Error Correction is a core part of the story, and combined with performance-boosting quantum firmware we see a clear pathway to the future of large-scale quantum computers.

*For a deeper dive into the intersection of QEC and Quantum Firmware.*