In quantum computing, the Shor code or nine qubit Shor code is a foundational code in quantum error correction that protects quantum information against decoherence and operational errors. It was the first quantum error correcting code, introduced by Peter Shor in 1995. It encodes a single logical qubit into a system of nine physical qubits, allowing simultaneous correction of both bit-flip, phase-flip or a joint phase and bit flip errors on any single physical qubit. As the first quantum error-correcting code to demonstrate fault tolerant quantum computing in principle, the Shor code marked a critical step toward the development of reliable quantum computing systems.
The Shor code is a simple example of a BaconâÂÂShor code. These codes have the property that are constructed from local operations and repeating patterns, and introduce the ability to switching encoding dynamically (while the circuit is running) in a fault-tolerant manner.
The Shor code encodes one logical qubit in 9 physical qubits. To construct the code, we first transform encode a state to an encoding of three qubits, asandwhere . In order to obtain the desirer Shor logical and we use concatenation, that is, each of the three qubits is multiplied into a three qubit block, given byand
Qubits for three blocks (0,1,2), (3,4,5) and (6,7,8), where each block is protected from bit-flips and the three blocks are protected together from a phase flip on any of the blocks. Thus the Shor code can correct any bit and/or phase flip errors in any single qubit. It can also correct two bit flips as long as the errors occur in separate blocks.
Due to discretization of errors it can be shown that any unitary transformation on a single qubit can be corrected just by correcting bit flips and phase flips errors.
One can define logical Pauli gates for the Shor code, where the logical Pauli Z gate is given by
where is the single qubit Pauli X gate. In the same manner a logical Pauli X is given by
where is the single qubit Pauli Z gate.
According to the threshold theorem a quantum error correction code can correct physical error if the error rate is below a certain threshold. If p is the probability of a random error happening on a single qubit, the Shor code fail if two qubits are affected, this happens with probabilityWhen is larger than p itself (where we neglected terms with power larger than p<sup>3</sup>), it is better to not use Shor code at all. In this case the threshold is approximately p=1/36=2.78%. However including errors in the error correction itself this value can drop to 10<sup>-4</sup>.
The Shor code is a <nowiki>9,1,3</nowiki> code (9 qubits, 1 logical qubit, distance 3), the later number indicates that it can correct at most a single qubit error. In the stabilizer formalism, the Shor code has 8 generators (6 bit flip and 2 phase flip parity checks):
As the Shor code has only X stabilizers and Z stabilizers (does not mix X and Z in the stabilizer), it is then considered a CSS code.