Stabilizer Codes
QuEra’s own Dr. Pedro Lopes, in a The New Stack article, stresses that even the best quantum-inspired algorithms are still classical. As such, they are still subject to complexity and memory limitation issues. While they may have advantages over other classical algorithms, they don’t have advantages over quantum algorithms. And because of this, it is still necessary to develop quantum algorithms and real quantum computers. A summary of this article is available on our “Quantum Algorithms vs. Quantum-Inspired Algorithms” page.
The caveat to this is that the current generation of quantum computers is noisy. They suffer from very high error rates. Therefore, quantum processors need error correction codes to protect their quantum information and to detect and correct these errors. Stabilizer codes are one classification of such quantum error correction codes (QECC). With stabilizer codes error correcting quantum circuits, quantum computers would be a big step closer to providing practical utility.
Many of the errors are actually associated with the application of quantum gates. One way to circumvent these particular errors is to use an analog mode quantum computer. While waiting for error correction and fault tolerance to fully emerge, our “Getting Started” page offers an entry to analog quantum computation with neutral atoms, which may offer a quicker path to practical utility.
What are Stabilizer Codes?
Stabilizer codes are based on the stabilizer subgroup of the Pauli group. They require ancilla qubits, which may also be referred to as stabilizer qubits. By measuring these ancilla qubits to detect errors, the quantum information on the data qubits is preserved. The results of these mid-circuit measurements then guide the error correction operations on the data qubits.
Stabilizer codes offer several advantages over non stabilizer codes. The former are simpler, better understood, less challenging to implement, and easier to analyze. Non stabilizer codes are more generalized and offer better performance, but at a cost of greater complexity and challenge. For more information about the former, two options are a 38-slide presentation titled
“A Short Introduction to Stabilizer Codes” and the 122-page PhD thesis of Daniel Gottesman titled “Stabilizer Codes and Quantum Error Correction.”
One method of encoding quantum stabilizer codes is as straightforward as entangling and then disentangling data qubits with neighboring ancilla qubits. Disentangling prevents operations on these stabilizer qubits from affecting the data qubits, while leaving behind indications on the stabilizer qubits of errors on the data qubits. Mid-circuit measurements on the ancilla qubits reveal these indicators, and then classical logic applies error correction operations without introducing unwanted entanglement.
A simple example can be found in the stabilizer codes reduced form. The reduced form is a simple implementation of a stabilizer code, but one that nonetheless still contains all the essential elements of a stabilizer code. A three qubit [[3,1,3]] stabilizer code, for example, uses three physical qubits to encode a single logical qubit that is resistant to a single-bit flip error.
Stabilizer codes can be thought of in much the same way as classical codes, but adapted to quantum information. They have proven to be very useful in the study of quantum error correction and in the development of quantum error correction codes.
Stabilizer Generators and Logical Operators
Stabilizer generators and logical operators are two important concepts of any stabilizer code. Together, they enable the identification and correction of errors.
Stabilizer generators are a stabilizer subgroup of independent operators that don’t affect the quantum state. They define the error syndromes of the stabilizer code that enable the identification of errors via the measurement of ancilla qubits. The measurement of ancilla qubits is what allows the quantum state of the data qubits to remain undisturbed. The results of these mid-circuit measurements guide the correction of errors on the data qubits through the application of Pauli-X and Pauli-Z gates.
Logical operators are abstractions that don’t affect the physical qubits at all, and thus do not risk disturbing the quantum information. Quantum operations are performed only on the logical qubits, without physical interactions, and thus do not introduce errors.
Applications of Stabilizer Codes
The primary role of stabilizer codes is to protect quantum information and correct errors that arise during quantum computation. Stabilizer codes append ancilla qubits to the data qubits that we want to protect, enabling the detection and correction of a wide range of errors, and thereby helping to make the results of the computation useful.
Applications have also been cited in regard to quantum memories and quantum storage networks. Their role in quantum memories would be to protect the quantum information that is being stored. Their role in storage networks could be to help recover quantum information should there be a node failure anywhere in the network.
Therefore, the role of stabilizer codes may end up being greater than simply correcting errors in quantum circuits, as important as that task is. They might truly be the key to making both quantum computation and quantum communication practical.