I’ve experimented with Shor-s 9-qubit quantum error correction algorithm and, more recently, a 5-qubit algorithm. In between, I experimented with circuit optimization. As a result, I seem to have discovered a paradox.

CAPTION: this is a screenshot from Practical Period Finding on IBM Q — Quantum Speedups in the Presence of Errors.

The paradox, as you can see above, is that you cannot optimize an error correction algorithm, at least not the ones I’ve found so far. The 9-qubit, 7-qubit, and 5-qubit circuits that I’ve encountered require that 1 qubit be connected to 4 other qubits, and I haven’t seen a topology graph — whether I can directly access the hardware or not — that allows that. One 5-qubit circuit requires a looping topology — with arrows forming a pentagon shape — and I haven’t seen that either.

Therefore, not only do error correction algorithms require quite a few qubits and gates to start off with, the impossibility of using optimally-connected qubits creates even worse looking transpiled circuits. Errors and decoherence become inversely proportional: reducing errors increases decoherence and reducing decoherence allows errors.