Quantum Error Correction

Quantum Error Correction Concepts

Three-Qubit Flip Code

Consider a qubit \(|\Psi\rangle=\alpha|0\rangle+\beta|1\rangle\) that we are transmitting using a quantum channel, where during transmission \(|\Psi\rangle\) can be flipped giving \(X|\Psi\rangle=\beta|0\rangle+\alpha|1\rangle\) with probability \(p\). This type of channel is called a bit-flip channel. If this bit-flip is not intended, then the three-qubit flip code can protect against such single bit flip.

The three-qubit flip code occurs in four main steps: encoder, error detection, error recovery, decoder. We will discuss these four steps theoretically for now, then work with an example. First, the same qubit is sent three times, like repetition code. The codewords in the code are \(|\overline{0}\rangle=|000\rangle \text { and }|\overline{1}\rangle=|111\rangle\).

To continue.

Three-Qubit Phase-Flip Code

To continue.

Shor's Nine Qubit Code

\([[9,1,3]]\) Shor code is a nine-qubit CSS stabilizer code with the logical codewords as:

\(\begin{aligned} & |\overline{0}\rangle=\frac{1}{2 \sqrt{2}}(|000\rangle+|111\rangle)^{\otimes 3} \\ & |\overline{1}\rangle=\frac{1}{2 \sqrt{2}}(|000\rangle-|111\rangle)^{\otimes 3} \end{aligned}\)

For this to happen, a state is phase-flip error corrected by a three-qubit phase-flip repetition code with stabilizer generators \(X_{0}, X_{1}, I_{2}\) and \(X_{0}, I_{1}, X_{2}\) in the \(X\) basis. Each logical qubit is now encoded as:

\(\begin{aligned} |\overline{0}\rangle & =\left|+_0+_1+_2\right\rangle \\ |\overline{1}\rangle & =\left|-_0-_1-_2\right\rangle \end{aligned}\)

Next, a three-qubit bit-flip repetition code encodes each physical qubit with bit-flip error stabilizer generators \(Z_{j 0} Z_{j 1} I_{j 2}\) and \(Z_{j 0} I_{j 1} Z_{j 2}; j=0,1,2\), giving:

\(| \pm_j\rangle=\frac{1}{\sqrt{2}}(|0_{j 0} 0_{j 1} 0_{j 2}\rangle\) \(\pm|1_{j 0} 1_{j 1} 1_{j 2}\rangle)\)

Both of these operations occur at the same time, by concatenating each qubit of a phase-flip with a bit-flip repetition code. Thus, allowing for the correctionn of both phase-flip and bit-flip errors simultaneously. Lastly, the phase-flip error stabilizer generator is extended as \(X_j=X_{j 0} X_{j 1} X_{j 2}\) resulting in the stabilizer generators with the qubit index flattened, as so:

\(\begin{aligned} Z_{j 0} Z_{j 1} I_{j 2} & \rightarrow\left\{Z_0 Z_1, Z_3 Z_4, Z_6 Z_7\right\} \\ Z_{j 0} I_{j 1} Z_{j 2} & \rightarrow\left\{Z_0 Z_2, Z_3 Z_5, Z_6 Z_8\right\} \\ X_0 X_1 I_2 & \rightarrow\left\{X_0 X_1 X_2 X_3 X_4 X_5\right\} \\ X_0 I_1 X_2 & \rightarrow\left\{X_0 X_1 X_2 X_6 X_7 X_8\right\} \end{aligned}\)

To continue.

Quantum Stabilizer Codes

Entanglement-Assisted Quantum Codes

Entanglement-Assisted Quantum Error Correction

Let \(\mathscr{N}\) denote noise, \(\mathscr{R}\) denote the recovery process, and \(L(H)\) denote the space of linear operators on Hilbert space \(H\). The noise and recovery processes can be described as quantum operations \(\mathscr{N}, \mathscr{R}: L(H)\) \(\rightarrow L(H)\), where the mapping can be represented as an operator-sum. given as:

\(\mathscr{N}(\rho)=\sum_i E_i \rho E_i^{\dagger},\) \(\quad E_i \in L(H),\) \(\quad \mathscr{N}=\left\{E_i\right\}\)

Given the quantum code \(C_{Q}\), a subspace of \(H\), there exists a recovery opetaion \(\mathscr{R}\) on a set of errors on \(C_{Q}\), such that \(\mathscr{R} \mathscr{N}(\rho) = \rho\) from any state \(\rho\) from \(L(C)\). Each operator \(E_{i}\) can be expanded respective to the Pauli operators:

\( E_i= \sum_{[a \mid b] \in F_2^{2 N}} \alpha_{i[a \mid b]} E_{[a \mid b]},\) \(\quad E_{[a \mid b]}=j^\lambda X(\textbf{a}) Z(\textbf{b}) ;\) \(\textbf{a}=a_1 \ldots a_N ;\) \(\textbf{b}=b_1 \ldots b_N ;\)
\(a_i, b_i=0,1 ; \lambda=0,1,2,3\)
\( X(\textbf{a}) \equiv X_1^{a_1} \otimes \ldots \otimes X_N^{a_N} ;\) \(Z(\textbf{b}) \equiv Z_1^{b_1} \otimes \ldots \otimes Z_N^{b_N} \)

An Entangled-Assisted Quantum Error Code Correction EA-QECC algorithm with the parameters \([N,K,e;D]\) is comprised of:

  1. an encoding map:
  2. \(\widehat{U}_{\mathrm{enc}}: L^{\otimes K} \otimes L^{\otimes e} \rightarrow L^{\otimes N}\)

  3. a decoding trace-preserving map:
  4. \(\mathscr{D}: L^{\otimes N} \otimes L^{\otimes e} \rightarrow L^{\otimes K}\)

It is important we maintian the trace preserving aspect for decoding so that the preservation of mutual information for the transmission channel can be checked upon completion. Also, note the characterstics of these mappings and the channel transformation that goes with them. The composition of the encoding and decoding mapping, as well as the channel transfomration, has the following identity mapping:

\(\mathscr{D} \circ \mathscr{N} \circ \breve{U}_{\mathrm{enc}} \circ \breve{U}_{\text {app }}=I^{\otimes K}\)

Where \(I: L \rightarrow L\), \(U_{\text {app}}|\psi\rangle\) \(=|\psi\rangle\left|\Phi^{\otimes e}\right\rangle\), and \(U_{\text {app }}\) is an operation appending the transmitter half of the maximum entangled state \(|\Phi^{\otimes e}\rangle\).

Calderbank-Shor-Steane Codes

A Calderbank-Shor-Steane CSS stabilizer code is constructed of two classical binary codes \(C\) and \(C^{'}\), where both codes have the following properties:

  1. \(C\) and \(C'\) are \((n,k,d)\) and \((n,k',d')\) codes respectively
  2. \(C^{\prime} \subset C\)
  3. \(C\) and \(C^{\prime \perp}\) are both \(t\) error correcting codes

Such that the CSS codes construction partitions \(C\) to cosets of \(C'\), described below:

\(C=C^{\prime} \cup\left(c_1+C^{\prime}\right) \cup\) \(\ldots \cup\left(c_N+C^{\prime}\right)\)

where, \(c_1, c_2, \ldots, c_N \in C\) and \(N\) number of cosets determined from Lagrange's theorem:

\(N=2^k / 2^{k^{\prime}}=2^{k-k}\)

To determinee the basis codewords for CSS codes, we must identity each code word with its corresponding coset \(\left|\bar{c}_i\right\rangle \Leftrightarrow c_i+C^{\prime}\), such that:

\(\left|\bar{c}_i\right\rangle=\frac{1}{\sqrt{2^{k^{\prime}}}} \sum_{c^{\prime} \in C^{\prime}}\left|c_i+c^{\prime}\right\rangle;\) \(i=1, \cdots, N\)

If \(v, w \in C\) are apart of the same coset of \(C'\), then \(|\bar{v}\rangle=|\bar{w}\rangle\) and:

\(|\bar{v}\rangle= \frac{1}{\sqrt{2^{k^{\prime}}}} \sum_{c^{\prime} \in C^{\prime}}\left|v+c^{\prime}\right\rangle\) \(\stackrel{v-w=d}{=} \frac{1}{\sqrt{2^{k^{\prime}}}} \sum_{c^{\prime} \in C^{\prime}}\left|w+d+c^{\prime}\right\rangle\) \(\stackrel{d+c^{\prime}=d^{\prime}}{=} \frac{1}{\sqrt{2^{k^{\prime}}}} \sum_{d^{\prime} \in C^{\prime}}\left|w+d^{\prime}\right\rangle\) \(=|\bar{w}\rangle\)

The code space \(C_{q}\) is a subspace of \(H^{n}_{2}\) over the basis codewords. Meaning that the dimensionality of the subpsace is \(N=2^{k-k^{\prime}}\) dimmensional.

Glossary

Concatenated Qubit Code

The concatenation of an arbitrary qubit inner code \(C=\left(\left(n_1, K, d_1\right)\right)\) and another qubit outer code \(C^{\prime}=\left(\left(n_2, 2, d_2\right)\right)\) yields a concatenated qubit code \(\left(\left(n_1 n_2, K, d \geq d_1 d_2\right)\right)\).

Quantum Repetition Code

A quantum repetition code encodes the information of \(1\) qubit to \(n\) qubits \(|0\rangle \rightarrow|\phi_0\rangle^{\otimes n}\), \(|1\rangle \rightarrow|\phi_1\rangle^{\otimes n}\). When \(|\phi_i\rangle=|i\rangle\) the code is called a bit-flip code. In addition, when \(|\phi_0\rangle=|+\rangle\) and \(|\phi_1\rangle=|-\rangle\) the code is called a phase-flip code.