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.