Shor code

From Wikipedia, the free encyclopedia

Template:Short description

Quantum circuit to encode a single logical qubit with the Shor code. E indicates an error and the rest of the circuit to the right decodes the state.

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.[1][2] 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.[2] 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.[3]

Description

Encoding states

File:The quantum logic gates that generates the 3-qubit GHZ state.png
Creation of each block. In this diagram, the Hadamard gate (H) creates a state |+ and the other two qubits are concatenated using Controlled NOT gates.

The Shor code encodes one logical qubit in 9 physical qubits. To construct the code, we first transform encode a state α|0+β|1 to an encoding of three qubits, as[4]|0|+++and|1|,where |±=(|0±|1)/2. In order to obtain the desirer Shor logical |0L and |1L we use concatenation, that is, each of the three qubits is multiplied into a three qubit block, given by[4]|0L=122(|000+|111)(|000+|111)(|000+|111)and|1L=122(|000|111)(|000|111)(|000|111).

Detection and correction

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.[4]

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.[4]

Logical gates

One can define logical Pauli gates for the Shor code, where the logical Pauli Z gate is given by

ZL=XXXXXXXXX,

where X is the single qubit Pauli X gate. In the same manner a logical Pauli X is given by

XL=ZZZZZZZZZ,where Z is the single qubit Pauli Z gate.[4]

Random error threshold

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 probability[5][6]P2(p)=1(1p)99p(1p)836p2,When P2(p) is larger than p itself (where we neglected terms with power larger than p3), 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−4.[5]

Stabilizer formalism

The Shor code is a [[9,1,3]] code (9 qubits, 1 logical qubit, distance 3), the later number indicates that it can correct at most a single qubit error.[2] In the stabilizer formalism, the Shor code has 8 generators (6 bit flip and 2 phase flip parity checks):[4]

123456789g1ZZIIIIIIIg2IZZIIIIIIg3IIIZZIIIIg4IIIIZZIIIg5IIIIIIZZIg6IIIIIIIZZg7XXXXXXIIIg8IIIXXXXXX

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.[2]

See also

References

Page Template:Reflist/styles.css has no content.

  1. Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found.
  2. a b c d Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found.
  3. Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found.
  4. a b c d e f Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found.
  5. a b Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found.
  6. Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found.

Script error: No such module "Check for unknown parameters".

Lua error in package.lua at line 80: module 'Module:Navbox/configuration' not found.