Letâ€™s start with the fundamental information representation in a regular computer - the bit. It can be 1 or 0 which is convenient for representing information via a switch controlling the flow of electricity; 1 and 0 map to on and off.

In a quantum computer the fundamental representation of information is a qubit. A qubit can represent not only a 0 or 1, but a combination of both at the same time. Well, what do we mean really by â€śbothâ€ť? This is a tricky question, because this is where our everyday experience doesnâ€™t help, and the laws of quantum mechanics take over. Quantum mechanics tells us the state of qubit can be any complex â€śsuperpositionâ€ť of a 0 and 1.

Fortunately we can visualize these superposition states of the qubit as points on the surface of a sphere. Now, instead of a switch with one of two values, we can represent the state of a qubit mathematically as a point on the surface of a sphere. Different points represent different qubit states - different combinations of 0 and 1.

Many of the logic operations used in regular computers can be mapped to rotations of the qubit state on the sphere. For instance, a NOT gate which flips 0<->1 has an analog quantum bit flip which rotates a qubit state along a meridian of the bloch sphere. This can rotate 0-->1, 1-->0, and does the same to any superposition as well.

Whatâ€™s a superposition? Thatâ€™s a state in which a qubit cannot be purely described as being 1 or 0, but rather some complex combination. In our graphical representation, a state on the equator of the Bloch sphere is actually an equal superposition of 0 and 1. Move towards the N pole and itâ€™s a bit more heavily weighted to 0. Move the other way and itâ€™s more heavily weighted to 1. Move around the equator and something different changes - the phase of the qubit. At different points on the sphere this leads the superposition to change between |0>+|1> and |0>-|1>. Changing this is a bit like moving along a wave from peak to trough and back - itâ€™s the same wave, just different phases.

Now hereâ€™s something interesting - when you measure a qubit in superposition, you get either a 0 or 1. Thatâ€™s it. You can never determine if a qubit was in a superposition with one measurement; instead you have to perform many measurements. Even if the exact same state is prepared every time, the outcome of each measurement will always be random. The likelihood of measuring 0 or 1 is determined by how much 0 or 1 appears in the superposition - where you are on the sphere. This idea - that measurement collapses quantum superpositions - has huge impacts on how quantum computers actually function!

We build real qubits using all kinds of different hardware - tiny loops of superconducting circuits or individual atoms in traps. We can use two different physical states to form a qubit and then perform logical operations by blasting the atoms with light - either microwaves or laser light. Tiny pulses timed just right can flip the qubit from one state to another [illustrate laser impinging atom, atom flipping from one orbital to the other]

Thereâ€™s one more element we use in quantum computers - entanglement. This is a special link between quantum systems that can only be described using quantum physics. In a sense when two objects - like qubits - become entangled, they canâ€™t really be described as two objects any longer. Theyâ€™re now one shared object - a condition that can again be induced by applying the right pulse of laser or microwave radiation. There are various ways to represent this visually as we do in Q-CTRL products, but it has huge impacts on how adding qubits to a quantum computer increases the overall performance of the system.

Now we can get to the heart of why quantum computing is really hard: Noise. We know that when you hear that word you probably think about loud sounds like the noise coming from traffic that makes it hard to concentrate. We mean something a bit different here; 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.

When a qubit is sitting idle - not even being used in a computation - its state can be affected by interference. But when weâ€™re performing a quantum logic operation, like a bit flip, we can also suffer from errors that cause us to rotate by the wrong amount. In either case the quantum state doesnâ€™t end up where you expect, and over time can be randomized or even totally erased - clearly not a good thing when that quantum state was actually representing information.

Compared with standard computers, quantum computers are extremely sensitive to this kind of 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. By contrast, typical quantum bits become randomized in about one one-thousandth of a second. Thatâ€™s a huge difference.

Quantum algorithms need to execute many operations across a large number of qubits. Decoherence causes the information in our qubits to become randomized - and this leads to errors in the algorithm. The greater the influence of noise, the shorter the algorithm that can be run. Right now, instead of trillions of operations, we can typically only perform dozens before noise causes a fatal error.

So what do we do about this? To start, for the past two decades teams have been working to make their hardware more passively stable - shielding it from the noise that causes decoherence.

At the same time theorists have designed a clever algorithm called Quantum Error Correction that can identify and fix errors in the hardware. Sounds amazing! But the downside is that to make it work you have to spread the information in one qubit over lots of qubits. In many estimates it may take 1000 or more physical qubits to realize just one error-corrected qubit. And the worse your noise is, the more you need. Todayâ€™s machines are nowhere near capable of getting benefits from this kind of 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 resources.

Learn more about Q-CTRLâ€™s quantum firmware here.