(n.b.: both images seem to show up low resolution in my browser, but when you click them they enlarge cleanly. They are just bitmaps, though, so still limited in quality.)
Quantum error correction (QEC) is one of the most important and exciting subfields out there. It's very possible to make contributions looking only at encoding qubits, but to have a complete picture of managing errors in a quantum system, you need to recognize that there is more to the problem and a lot more to the solution. Starting from the layer closest to the atoms and working up to the layer closest to the algorithm, we can divide into seven layers (no relationship to the OSI model of communications).
- Error processes: you need to have some idea of how errors actually occur, including both stochastic (incoherent) and systemic (coherent) errors in both memory and in gate operations. Until recently, the best single-volume work on QEC we had was Quantum Error Correction, edited by Daniel Lidar and Todd Brun, with chapters by various authors. It was never a coherent textbook, and much of what's in it is now out of date, but the first chapter is a good place to learn about decoherence processes, which I find otherwise to be poorly explained in a lot of introductions to quantum information processing.
- Characterization: how do we learn about the errors a particular system is subject to? Tomography (either state tomography or process tomography) is the canonical but expensive method. Jens Eisert and others published a good, short review on the broader topic a few years ago with the title "Quantum benchmarking and certification" -- strictly speaking not misleading, but if you're only looking for the magic word tomography, you'll likely miss it.
- Control theory: once you know what the system is actually doing, how do you do your best to adapt to that and raise the fidelity of memory and gates to the best your hardware will permit? This is the original area of my colleague Naoki Yamamoto, though his best-known work in recent years is on algorithms. It's such an important topic that there are startups working on this topic alone. While this is below the level where I usually work, I do have one very good Ph.D. student, Poramet Pathumsoot, just finishing his dissertation on applying machine learning to this very topic.
- Error mitigation: How do you live with the errors you can't yet correct? This is mostly discussed in the context of NISQ systems, but I think there is an increasing recognition that we will be using the techniques through the first decade or so of fault-tolerant systems as well. A surprising number of ideas swirl around this issue; more on this another time.
- Purification or distillation: I think of this as error detection. Think of it as two interrelated problems -- the circuit you're using to execute the purification, and the scheduling algorithm you use to decide which of the states you are holding to purify and when. One of my earliest contributions to quantum networking was on the latter problem. Wolfgang Dür and Hans Briegel wrote a comprehensive review in 2007 that is still surprisingly close to the leading edge. Sarah Jensen and others from Delft described how to actually enumerate all of the possible protocols within a certain class. One of the authors of that is David Elkouss, and my group has recently worked with David's group to utilize the information gained during purification to help characterize a link in a quantum network. This is also related to the crucial task of magic state distillation (or most recently, cultivation), enabling fault-tolerant computation.
- Error correction: using encoding to make states that can both provide information about errors occuring and be corrected -- most of the time. More on this central topic below.
- Fault tolerance: just having error corrected states is good, but they're no use if you can't execute logical gates on top of those states without damaging the states faster than you can correct them. Naphan Benchasattabuse of my group made the figure at the top of this post listing some of the critical advances over the years. Much more on this topic another time.
- Hamming weight and Hamming distance, and code distance.
- Code words and some favorable characteristics for quantum code words.
- Projection of continuous errors into discrete errors while extracting syndromes.
- Error propagation.
- Stabilizers and what it means to "measure a stabilizer".
- Code concatenation (out of favor at the moment but worth understanding).
- The relationship between syndrome extraction and hardware constraints.
- Tanner graphs. The illustration below is the Tanner graph for the Steane [[7,1,3]] code.
- Simon Devitt et al, "Quantum Error Correction for Beginners" (original title: "Quantum Error Correction for Dummies"). My favorite starting place, but now a little dated.
- Barbara M. Terhal, "Quantum Error Correction for Quantum Memories"
- Daniel Gottesman, "An Introduction to Quantum Error Correction and Fault-Tolerant Quantum Computation"
- Joschka Roffe, "Quantum Error Correction: An Introductory Guide" (geez, a decade newer than the above!)
- Daniel J. Spencer et al., Quantum error correction and fault tolerance: A comprehensive tutorial (190 pages) (7 years newer than the above!). This is fantastic, and includes exercises.
- associated videos (link coming as soon as I find it)
- Also, one of my students recommended this blog, which posts only occasionally but when it does the entries are readable and thorough.
- Victor V. Albert, Philippe Faist, Handbook of Error Correcting Codes
- For an interactive catalog, the Error Correction Zoo
