# What are the Main Classes of Quantum Error-Correcting Codes?

Classically, we have the Hamming Code, Turbo Code, Reed-Solomon Code, etc. I am interested in knowing the classes of quantum error-correcting codes. They don't have to be analogous to classical codes, just the different classes and categories out there. Thanks!

## 1 Answer

I would say the most important classes are concatenated codes, topological codes and LDPC codes. But it depends on how one defines 'classes', as one could also talk of CSS vs non-CSS, stabilizer vs subsystem. In any case, I'll explain my three chosen 'classes'.

Concatenated codes are used in cases where we know a code that has a finite code distance (and hence finite suppression of errors), but we want arbitrarily good error suppression. For a code with one logical qubit made out of $$n$$ physical qubits, we can increase suppression by using $$n^2$$ physical qubits, then using $$n$$ independent instances of the code to make $$n$$ slightly improved logical qubits, and then using those to make another instance of the code. The end result is a single logical qubit, with better suppression than a single instance of the code could realize. This process can then be continued indefinitely.

One problem with concatenated codes is that, once you invoke many levels of concatenation, the number of qubits involved in each syndrome measurement can get very large. Topological codes are therefore seen as a great alternative, since these allow the distance to be increased arbitrarily while keeping a constant number of involved in qubits for each syndrome measurement. For example, the surface code is based on a planar lattice of qubits. Syndrome meaurements involve only closely located qubits on the lattice. The code distance is the width of the lattice, and so can be made as large as desired. Topological codes also often allow efficient and effective decoding algorithms.

For both concatenated and topological codes, you often have to pay a high price in terms of how many physical qubits make a logical qubit. The best hope for finding ways around this may come from LDPC codes. This is a large and diverse class. It includes the topological codes, but there are also codes that have very different structure. This means that finding ways to decode, and also ways to implement the logical operations required for quantum computing, can be challenging.

• Should one perhaps start even broader with "CSS"? Aug 16, 2019 at 8:05
• Yes, perhaps so. I added a line to the first paragraph to mention that there are other ways this question could be answered. Aug 16, 2019 at 8:09
• Thank you for the detailed answer! I appreciate your time :) Aug 16, 2019 at 21:55