Hi Paul! Thanks for this question.

Looking forward to QPUs (quantum processing units) becoming "mainstream", the critical thing to watch is not the number of qubits, but the number of

*fault-tolerant* qubits. This is what separates a mainstream QPU from an advanced science experiment. To illustrate, I'll use Mainak's example...

Mainak Biswas wrote:Authors - how many qubits would be required to do create say a calculator?

I really like this example.

**Imagine it's 1950**, and you're trying to implement a calculator using a "digital electronic computer" which is new and exciting. It's a big advanced model, so it has 64 bits of RAM. So you've got 8 bytes to work with. Is that enough to implement a calculator? For sure, if just a simple one. You can increment, add, divide-by-2 by bit-shifting, it'll be a fun project.

**But then** you find out that the eight bytes aren't error-corrected or fault-tolerant. You can clear a register to zero, but as the next instructions execute some of the bits start losing their values, and after about 40 instructions it's gone completely random. Suddenly, making a useful calculator becomes a lot more difficult, so this computer might not be ready to be a "mainstream" product.

**In 2019**, the current state of the art in QC is 50-72 raw (non-FT) qubits, which is challenging (not impossible) to build a quantum calculator with.

...so it's really the number of FT qubits we need to watch when deciding when something will be mainstream. These are coming, but it's hard to peg a date until we can see them working.

Still, we can simulate FT Qubits with no problem:

In the book, chapter 5 (right near the beginning) contains everything you need to implement and simulate a calculator on a QPU using very few qubits. Basic math functions which work in quantum superposition are specified and demonstrated, with code samples that run in one click.

For example, Example 5-3 shows how to implement "a = a + b * b" in quantum superposition, and you can run it right now, on the

**sample code** page.

This simple example can also be run for free on a physical QC, since the page contains Qiskit and OpenQASM versions. If you do that, you'll notice that non-FT qubits get really fuzzy.