A hands-on tutorial series on fault-tolerant syndrome extraction, built from first principles on the Steane [[7,1,3]] code. Naive syndrome extraction causes a single ancilla fault to spread onto two data qubits — a hook error — and a distance-three code that corrects one error fails to correct it. This tutorial demonstrates hook errors on the Steane code and counteracts them with Shor's fault-tolerant, cat-state-based syndrome extraction.
The two notebooks, to be followed in the intended order, contain conceptual explanations, examples, and numerous demonstrations of the concepts using Stim simulations. We develop the conceptual framework from scratch, although some familiarity with quantum computation and, in particular, Pauli operators is assumed.
1. Quantum Error Correction: Syndrome Extraction and Hook Errors — 1_The_Steane_Code_and_Hook_Errors.ipynb
Introduces the stabilizer formalism, the Steane code, the straightforward syndrome extraction circuit, and hook errors.
2. Shor-Style Syndrome Extraction — 2_Shor_Style_Syndrome_Extraction.ipynb
Explains the Shor-style extraction technique using a verified cat state and transversal CNOTs that keep every single-qubit fault correctable. We verify this with an exhaustive check that no single fault causes a logical error, and a noise sweep showing the logical error rate scaling quadratically in the physical error rate.
Use the Launch on qBraid button on this tutorial's page in the qBraid Explore hub. It clones the repository into qBraid Lab and installs the required environment. The notebooks run with the pre-configured qBraid-SDK (v0.12.0) environment. Once it's ready, select it as the notebook kernel and run the notebooks in order.
Requirements (pre-installed): Stim, NumPy, Matplotlib. The second notebook's noise sweep uses a high shot count and takes about half a minute; lower it in that cell for a quicker look.
[1] J. Roffe, "Quantum error correction: an introductory guide," arXiv:1907.11157 (2019).
[2] D. Gottesman, "An introduction to quantum error correction and fault-tolerant quantum computation," arXiv:0904.2557 (2009).
[3] A. M. Steane, "Error correcting codes in quantum theory," Phys. Rev. Lett. 77, 793 (1996).
[4] P. W. Shor, "Fault-tolerant quantum computation," arXiv:quant-ph/9605011 (1996).