---
# System prepended metadata

title: 6 Quantum error-correction
tags: [WS2020-IN2381-I2QC]

---

# 6 Quantum error-correction
###### tags: `WS2020-IN2381-I2QC`

## 6.1 Introduction
* **經典錯誤糾正**的原理 (principle of **classical error-correction**)：
    * 利用額外增加的冗餘資訊編碼，例如使用「repetition code」：
        $$
        0 \mapsto 000 \\
        1 \mapsto 111 \\
        $$
* 而**量子錯誤糾正**有以下三點困難：
    * **No-cloning theorem** (see Tutorial 3)：
        * 不可能構造一個能夠完全複製任意量子比特，而不對原始量子位元產生干擾的系統。
        * 參考：[不可克隆原理 - 維基百科，自由的百科全書](https://zh.wikipedia.org/wiki/%E4%B8%8D%E5%8F%AF%E5%85%8B%E9%9A%86%E5%8E%9F%E7%90%86)
    * **量子錯誤**是具有**連續性**的 (errors are continuous)：
        * 如量子態的振幅：思考一量子位元 $|\psi\rangle=a|0\rangle+b|1\rangle$ 之中的 $a, b \in \mathbb{C}$。
        * 很小的錯誤會慢慢累積變成無法挽救的錯誤。
        * 想像某個量子閘運算過後，均會產生極小的誤差 (角度誤差)，而這些小誤差會逐漸累積，最終影響觀測結果。
    * **測量會破壞量子資訊** (wavefunction collapse)。

### 6.1.1 Three qubit **"bit flip"** code
* 錯誤模型 (error model)：
    * 由 $|0\rangle$ 翻轉成 $|1\rangle$ 的機率為 $p$。
    * 也就是說 $|\psi\rangle$ 轉換成 $X|\psi\rangle$ 的機率為 $p$。
    * 這也稱作 **bit flip channel**：
        $$
        \rho^{\prime} = (1-p) |\psi\rangle \langle\psi| + p X |\psi\rangle \langle\psi|
        $$
        其中 $\rho^{\prime}$ 稱為 **output density matrix**，
* 想法 (idea)：
    * 將 $\alpha |0\rangle + \beta |1\rangle$ 編碼成 $\alpha |000\rangle + \beta |111\rangle$，稱為 **logical qubits**：
        $$
        |0_L\rangle = |000\rangle \\ 
        |1_L\rangle = |111\rangle \\
        $$
        而相對應的量子電路為：
        ![](https://i.imgur.com/WzBp0YJ.png =200x)

#### 第一種 Error correction procedure
* 假設：
    * 每個 qubit 都會傳送並且經過 bit flip channel。
    * 只有一個 flip 會發生。
* **步驟 1：Error detection or syndrome diagnosis**
    * 以下列**投影算子** (projection operators) 執行測量：
        $$
        \begin{cases}
        P_0 = |000\rangle\langle000|+|111\rangle\langle111| && \mbox{no error occurred} \\ 
        P_1 = |100\rangle\langle011|+|011\rangle\langle011| && \mbox{bit flip on 1st qubit} \\ 
        P_2 = |010\rangle\langle101|+|101\rangle\langle101| && \mbox{bit flip on 2nd qubit} \\ 
        P_3 = |001\rangle\langle110|+|110\rangle\langle110| && \mbox{bit flip on 3rd qubit} \\ 
        \end{cases}
        $$
        :::info
        投影算子的特性：$P_i^2 = P_i$，可以自己驗算試試。
        :::
    * 範例：$\alpha |000\rangle + \beta |111\rangle$ 第一個 qubit 發生翻轉。
        $$
        |\psi\rangle = \alpha |000\rangle + \beta |111\rangle \mapsto \alpha |100\rangle + \beta |011\rangle =: |\psi^{\prime}\rangle
        $$
        然後以各個 projectors 測量機率：
        $$
        \begin{eqnarray*}
        \langle\psi^{\prime}|P_0|\psi^{\prime}\rangle &=& 0 \\ 
        \langle\psi^{\prime}|P_1|\psi^{\prime}\rangle &=& (\alpha^* \langle100| + \beta^* \langle011|) P_1 (\alpha^* |100\rangle + \beta^* |011\rangle) \\ 
        &=& |\alpha^2| \langle100|100\rangle\langle100|100\rangle + |\beta^2| \langle011|011\rangle\langle011|011\rangle \\ 
        &=& |\alpha^2| + |\beta^2| = 1 \\ 
        \langle\psi^{\prime}|P_2|\psi^{\prime}\rangle &=& 0 \\ 
        \langle\psi^{\prime}|P_3|\psi^{\prime}\rangle &=& 0 \\ 
        \end{eqnarray*}
        $$
    * 測量結果告訴我們第一個 qubit 被翻轉了，而且因為 $|\psi^{\prime}\rangle$ 是 $P_1$ 的特徵狀態 (eigenstate)，因此量子態不會被測量所改變：
        $$
        P_1 |\psi^{\prime}\rangle = |\psi^{\prime}\rangle
        $$
* **步驟 2：Recovery**
    * 如果第 $j$ 個 qubit 被翻轉，那麼就再翻回來。
    * 使用 $\mbox{Pauli-X}$ 如下：
        ![](https://i.imgur.com/68esWl8.png =150x)

#### 第二種 Error correction procedure
* 使用 observables $Z_1Z_2 \equiv Z \otimes Z \otimes I$ 與 $Z_2Z_3 \equiv I \otimes Z \otimes Z$ 來進行測量。
    ![](https://i.imgur.com/bevGP4u.png =450x)
* 由於 $Z$ 的 eigenvalue 為 $\pm 1$ 且 eigenstate 為 $|0\rangle$ 與 $|1\rangle$：
    $$
        \begin{eqnarray*}
    Z_1Z_2|a,b,c\rangle &=& (Z|a\rangle) \otimes (Z|b\rangle) \otimes |c\rangle \\ 
    &=& ((-1)^a|a\rangle) \otimes ((-1)^b|b\rangle) \otimes |c\rangle \\ 
    &=& (-1)^{a+b} |a,b,c\rangle
        \end{eqnarray*}
    $$
* 構想：
    * $Z_1Z_2$ 可以確認前兩個 qubits 是否相等。
        * Eigenvalue 為 $1$：$a = b$
        * Eigenvalue 為 $-1$：$a \ne b$
    * $Z_2Z_3$ 則可以確認後兩個 qubits 是否相等。
* 總結：
    * 可以獲得兩個 bit 的 classical information。
    * 等價於使用投影算子 $P_0, P_1, P_2, P_3$ 進行測量。

### 6.1.2 Three qubit **"phase flip"** code
* 錯誤模型 (error model)：
    * 除了 bit flip 以外，qubits 有多種可能的錯誤型態。
    * 因為相位翻轉倒置的錯誤，稱之為 **phase flip error**：
        $$
        \alpha |0\rangle + \beta |1\rangle \mapsto \alpha |0\rangle - \beta |1\rangle
        $$
    * 也就是被施加 $\mbox{Pauli-Z}$ 後的狀態。
    * 發生機率假設為 $p$。
* 想法 (idea)：
    * 因為經典位元中沒有這種相位的問題，因此必須用一些技巧來進行錯誤偵測。
        > Phase flip error does not have classical equivalent. 
    * 將 phase flip error model 映射為 bit flip error model。
    * 將 qubit basis 轉換為 $|\pm\rangle = \frac{1}{\sqrt{2}}(|0\rangle \pm |1\rangle)$，可以觀察到 $Z$ 於此 basis 的作用如下：
        $$
        Z|\pm\rangle = \dfrac{1}{\sqrt{2}} (Z|0\rangle \pm Z|1\rangle) = \dfrac{1}{\sqrt{2}} (|0\rangle \mp |1\rangle) = |\mp\rangle
        $$
    * 也就是說，$Z$ 讓 $|+\rangle$ 與 $|-\rangle$ 互相切換，類似於 $X$ 讓 $|0\rangle$ 與 $|1\rangle$ 互相切換。
    * 使用 $\mbox{Hadamard gates}$ 變換 basis：
        $$
        \alpha |000\rangle + \beta |111\rangle \mapsto \alpha |+++\rangle + \beta |---\rangle
        $$
    * 量子電路圖：
        ![](https://i.imgur.com/riCF5fp.png =300x)

#### Error correction procedure
* **步驟 1：Error detection**
    * 使用下述投影算子 $P_j^{\prime}$ 來進行測量：
        $$
        P_j^{\prime} = H^{\otimes 3} P_j H^{\otimes 3}
        $$
        其中 $j=0, \cdots, 3$
    * 若投影算子 $P_j$ 使用 $Z_1Z_2$，則 $P_j^{\prime}$ 將等價於 $X_1X_2$：
        $$
        \begin{eqnarray*}
        H^{\otimes 3} (Z_1Z_2) H^{\otimes 3} &=& (H \otimes H \otimes H)(Z \otimes Z \otimes I)(H \otimes H \otimes H) \\ 
        &=& (HZH) \otimes (HZH) \otimes (HIH) \\ 
        &=& X \otimes X \otimes I \\
        &:=& X_1X_2
        \end{eqnarray*}
        $$
        因此，
        $$
        H^{\otimes 3} (Z_2Z_3) H^{\otimes 3} = X_2X_3
        $$
    * 量子電路圖：
        ![](https://i.imgur.com/za0FhFR.png)
    * 而 $X$ 對應於 basis $|\pm\rangle$ 的 eigenvalues $\pm 1$，可以對此 basis 的量子態進行 qubits 之間的比較，就類似於 bit flip errors。
* **步驟 2：Recovery**
    * 使用 **Hadamard-conjugated bit flip recovery  operators**。
    * 範例：第一個 qubit 發生 phase  flip
        $$
        HX_1H = Z_1
        $$

## 6.2 The Shor code
* 到目前為止，我們已經分別討論兩種 error models。
* 結果就是，我們可以針對 **single qubit** 的錯誤進行防護！

### **Shor code** 的想法
* 將 bit flip error 與 phase flip error 的過程進行**串接 (concatenation)**。
* **first stage** (**phase** flip model)
    $$
    |0\rangle \mapsto |+++\rangle \\ 
    |1\rangle \mapsto |---\rangle \\
    $$
* **Second stage** (**bit** flip model)
    $$
    |+\rangle \mapsto \dfrac{1}{\sqrt{2}}(|000\rangle+|111\rangle) \\ 
    |+\rangle \mapsto \dfrac{1}{\sqrt{2}}(|000\rangle-|111\rangle) \\
    $$
* **最後，將 1 顆 logical qubit 以此做成 9 顆 qubit 編碼的形式**：
    $$
    |0_L\rangle = \dfrac{1}{2\sqrt{2}}(|000\rangle+|111\rangle)(|000\rangle+|111\rangle)(|000\rangle+|111\rangle) \\ 
    |1_L\rangle = \dfrac{1}{2\sqrt{2}}(|000\rangle-|111\rangle)(|000\rangle-|111\rangle)(|000\rangle-|111\rangle) \\
    $$
* 特性：
    * 針對 bit flip 與 phase flip 都可以進行偵測。
    * 可以使用於隨機錯誤 (arbitrary error)。
    * 只能作用於單一 qubit 之錯誤。
* 範例：
    * 假設 $|0_L\rangle$ 的傳送過程中，第 1 顆 qubit 發生了反轉，且第 1 個 phase 也發生了反轉：
        $$
        \begin{eqnarray*}
        |0_L\rangle &=& 
        \dfrac{1}{2\sqrt{2}}(|000\rangle+|111\rangle)(|000\rangle+|111\rangle)(|000\rangle+|111\rangle) \\
        &\mapsto& 
        \dfrac{1}{2\sqrt{2}}(|100\rangle-|011\rangle)(|000\rangle+|111\rangle)(|000\rangle+|111\rangle)
        \end{eqnarray*}
        $$
    * 針對第 1 顆 **qubit 的反轉**的偵測首先使用 $Z_1Z_2$ 進行測量：
        $$
        \begin{eqnarray*}
         && \dfrac{1}{2\sqrt{2}}(|100\rangle-|011\rangle)(|000\rangle+|111\rangle)(|000\rangle+|111\rangle) \\
        \mapsto && \dfrac{1}{2\sqrt{2}}(-|100\rangle-(-|011\rangle))(|000\rangle+|111\rangle)(|000\rangle+|111\rangle) \\
        = && -\dfrac{1}{2\sqrt{2}}(|100\rangle-(|011\rangle))(|000\rangle+|111\rangle)(|000\rangle+|111\rangle)
        \end{eqnarray*}
        $$
        觀察第三行公式，我們可以知道經過 $Z_1Z_2$ 的測量後，新狀態比原狀態多了一個 eigenvalue $-1$，這代表第 1 顆或第 2 顆 qubit 有發生反轉。
        後續再使用 $Z_2Z_3$ 進行測量，便可以以此結果來確定發生反轉的是第 1 顆還是第 2 顆 qubit。
        **回復**使用：$X_1$。
    * 針對第 1 個 **phase 的反轉**的偵測首先使用 $X_1X_2X_3X_4X_5X_6$ 進行測量：
        $$
        \begin{eqnarray*}
         && \dfrac{1}{2\sqrt{2}}(|100\rangle-|011\rangle)(|000\rangle+|111\rangle)(|000\rangle+|111\rangle) \\
        \mapsto && \dfrac{1}{2\sqrt{2}}(|011\rangle-|100\rangle)(|111\rangle+|000\rangle)(|000\rangle+|111\rangle) \\
        = && -\dfrac{1}{2\sqrt{2}}(|100\rangle-|011\rangle)(|000\rangle+|111\rangle)(|000\rangle+|111\rangle) \\
        \end{eqnarray*}
        $$
        觀察第三行公式，我們可以知道經過 $X_1X_2X_3X_4X_5X_6$ 的測量後，新狀態比原狀態多了一個 eigenvalue $-1$，這代表第 1 個或第 2 個 phase 有發生反轉。
        後續再使用 $X_4X_5X_6X_7X_8X_9$ 進行測量，便可以以此結果來確定發生反轉的是第 1 個還是第 2 個 phase。
        **回復**使用：$Z_1Z_2Z_3$。

### Quantu operation
> Effect of noise in general described by a quantum operation. 
> (see also Exercise 10.2)
* 可用於描述**連續型的錯誤**。
* **Unitary time evolution**：
    * $\mathcal{E}$：量子運算 (quantum operation)。
    * $\rho$：初始量子態的密度矩陣 (density matrix)。
    * 公式：
        $$
        \rho^{\prime} = \mathcal{E}(\rho) = U \rho U^{\dagger}
        $$
        此外，unitary transformation 還可以寫成測量的形式：$\mathcal{E}_m(\rho) = M_m \rho M_m^{\dagger}$
        因此，原本公式可以改寫成以下 **operator-sum representation**：
        $$
        \mathcal{E}(\rho) = \sum_k E_k \rho E_k^{\dagger}
        $$
        其中 $E_k$ 為複數矩陣，且 $\sum_k E_k E_k^{\dagger} \le I$ (如同 measurement operator)。
    * 如果 $\sum_k E_k E_k^{\dagger} = I$，則量子運算 $\mathcal{E}$ 為 **trace-preserving**：
        $$
        \mathrm{tr}[\mathcal{E}(\rho)] = \mathrm{tr}[\rho]
        $$
    * 另外，對於純態 $\rho = |\psi\rangle\langle\psi|$：
        $$
        \mathcal{E}(|\psi\rangle\langle\psi|) = \sum_k E_k |\psi\rangle\langle\psi| E_k^{\dagger}
        $$
* 將以上代入至 quantum error correction 的背景裡。
    * $E_k$ 為作用於 single qubit 的算子，定義假設如下 (作用於第 1 顆 qubit)：
        $$
        E_k = e_{k,0} I + e_{k,1}X_1 + e_{k,2}Z_1 + e_{k,3}\underbrace{X_1Z_1}_{=-iY_1}
        $$
        其中 $e_{k,j} \in \mathbb{C}$，$j = 0,\cdots,3$。
        (此表示法永遠成立，因為 $I$、$X$、$Z$ 組成了所有 $2\times2$ 矩陣的 basis)
    * 因此以 $|0_L\rangle$ 為例進行計算：
        $$
        \begin{eqnarray*}
        E_k|0_L\rangle 
        &=& e_{k,0} \dfrac{1}{2\sqrt{2}}(|000\rangle+|111\rangle)(|000\rangle+|111\rangle)(|000\rangle+|111\rangle) \\
        &=& e_{k,1} \dfrac{1}{2\sqrt{2}}(|100\rangle+|011\rangle)(|000\rangle+|111\rangle)(|000\rangle+|111\rangle) \\
        &=& e_{k,2} \dfrac{1}{2\sqrt{2}}(|000\rangle-|111\rangle)(|000\rangle+|111\rangle)(|000\rangle+|111\rangle) \\
        &=& e_{k,3} \dfrac{1}{2\sqrt{2}}(|100\rangle-|011\rangle)(|000\rangle+|111\rangle)(|000\rangle+|111\rangle) \\
        \end{eqnarray*}
        $$
    * 同樣 $|1_L\rangle$ 計算如下：
        $$
        \begin{eqnarray*}
        E_k|1_L\rangle 
        &=& e_{k,0} \dfrac{1}{2\sqrt{2}}(|000\rangle-|111\rangle)(|000\rangle-|111\rangle)(|000\rangle-|111\rangle) \\
        &=& e_{k,1} \dfrac{1}{2\sqrt{2}}(|100\rangle-|011\rangle)(|000\rangle-|111\rangle)(|000\rangle-|111\rangle) \\
        &=& e_{k,2} \dfrac{1}{2\sqrt{2}}(|000\rangle+|111\rangle)(|000\rangle-|111\rangle)(|000\rangle-|111\rangle) \\
        &=& e_{k,3} \dfrac{1}{2\sqrt{2}}(|100\rangle+|011\rangle)(|000\rangle-|111\rangle)(|000\rangle-|111\rangle) \\
        \end{eqnarray*}
        $$
* **Syndrome diagnosis** 的效果：
    * 投影到 syndrome measurement operators 的 eigenspaces。
        * 如以第 1 個 qubit 為例，就是 $Z_1Z_2$ 與 $X_1X_2X_3X_4X_5X_6$。
    * 假設初始量子態為：$|\psi\rangle = \alpha |0_L\rangle +\beta |1_L\rangle$。
    * 假設兩個 mesurement 都測量到 eigenvalue $-1$ (代表 bit flip 與 phase flip 都有發生)：
        $$
        \begin{eqnarray*}
        E_k|\psi\rangle = E_k(\alpha |0_L\rangle +\beta |1_L\rangle) 
        \xrightarrow{\text{syndrome measurement}}
        && e_{k,3} \dfrac{\alpha}{2\sqrt{2}}(|100\rangle-|011\rangle)(|000\rangle+|111\rangle)(|000\rangle+|111\rangle) \\
        && e_{k,3} \dfrac{\beta}{2\sqrt{2}}(|100\rangle+|011\rangle)(|000\rangle-|111\rangle)(|000\rangle-|111\rangle) \\
        \end{eqnarray*}
        $$
        換句話說，經過測量後 $E_k|\psi\rangle$ 波函數坍塌至某種比例的 $X_1Z_1|\psi\rangle$。
    * 假設 $Z_1Z_2$ 測量到 $1$，而 $X_1X_2X_3X_4X_5X_6$ 測量到 $-1$ (代表只有 phase flip 都有發生)：
        $$
        \begin{eqnarray*}
        E_k|\psi\rangle = E_k(\alpha |0_L\rangle +\beta |1_L\rangle) 
        \xrightarrow{\text{syndrome measurement}}
        && e_{k,2} \dfrac{\alpha}{2\sqrt{2}}(|000\rangle-|111\rangle)(|000\rangle+|111\rangle)(|000\rangle+|111\rangle) \\
        && e_{k,2} \dfrac{\beta}{2\sqrt{2}}(|000\rangle+|111\rangle)(|000\rangle-|111\rangle)(|000\rangle-|111\rangle) \\
        \end{eqnarray*}
        $$
        換句話說，經過測量後 $E_k|\psi\rangle$ 波函數坍塌至某種比例的 (正比於) $Z_1|\psi\rangle$。
* **公式 (泛化，generalization)**：
    * 將投影至 simultaneous eigenspace 之投影算子寫作 $P$。
        * 產出結果對應到 syndrome measurement。
        * 如上例的 $Z_1Z_2$ 與 $X_1X_2X_3X_4X_5X_6$。
    * 那麼經過 syndrome measurement 的 $\rho$ 如下：
        $$
        \widetilde{\rho} \propto P \mathcal{E}(|\psi\rangle\langle\psi|)P = \sum_kPE_k|\psi\rangle\langle\psi|E_k^{\dagger}P
        $$
    * 可以將 $\widetilde{\rho}$ 視作「**未歸一化 (un-normalized) 量子態 $PE_k|\psi\rangle$**」 的系綜 (ensemble)。
    * 如同上述兩個例子的結果，經過測量後的狀態會維持相同 (獨立於 k)，有變化的只有最前面那無關緊要的因子：
        * 第一例：$PE_k|\psi\rangle \propto X_1Z_1|\psi\rangle$
        * 第二例：$PE_k|\psi\rangle \propto Z_1|\psi\rangle$
:::info
* 除了 Shor code 以外，還存在其他的 quantum error correction schemes。
* 但 Shor code 是理解 **stabilizer formalism** 的重要總體框架 (見後續章節)。
:::

## 6.3 Theory of quantum error-correction
* 令 quantum states 編碼於向量空間 $C$。 
    * $C$ 為一個較大 Hilbert space (完備的內積空間) 的子空間。
    * 例如：
        $$
        P = \mathrm{span}\{|0_L\rangle, |1_L\rangle\} = \mathrm{span}\{|000\rangle, |111\rangle\}
        $$
* 令 $P$ 為 $C$ 的投影算子 (projector)。
    * 例如：
        $$
        C = |000\rangle\langle000| + |111\rangle\langle111|
        $$
### Theorem 3 (Quantum error-correction conditions)
Let $C$ be a `quantum code`, and let $P$ be the `projector` onto $C$. 
Suppose $\mathcal{E}$ is a `quantum operation` with `operation elements` $\{E_k\}$. 
A **necessary and sufficient condition** for the existence of an `error-correction operation` $\mathcal{R}$ correcting $\mathcal{E}$ on $C$ is that
$$
PE_k^{\dagger}E_lP = \alpha_{kl}P
$$
for some Hermitian matrix $(\alpha_{kl})$ of complex numbers.
The operation elements $\{E_k\}$ are denoted **`errors`**, and we call them a "**correctable set of errors**" if such an $\mathcal{R}$ exists. Mathematically:
$$
(\mathcal{R} \circ \mathcal{E})(\rho) \propto \rho
$$
with $\circ$ the `function composition symbol` and $\propto$ meaning "`proportional to`". 

## 6.4 Stabilizer codes

### 6.4.1 The stabilizer formalism
* 先來看一個範例：令 $|\psi\rangle$ 為 bell state $\frac{1}{\sqrt{2}}(|00\rangle+|11\rangle)$，則
    $$
    \begin{eqnarray*}
    && Z_1Z_2|\psi\rangle = |\psi\rangle \\
    && X_1X_2|\psi\rangle = |\psi\rangle \\
    \end{eqnarray*}
    $$
* 總結：$|\psi\rangle$ is "**stabilized**" by these operators。
* 而 $Z_1Z_2, X_1X_2 \in G_2$ (**Pauli group**)。

#### Pauli group
* $G_n$ 的定義：
    * 由 identity matrices 與 Pauli matrices 組成的 n-fold tensor products。
    * Prefactors 為 $\pm 1$ 與 $\pm i$。
    * 以**矩陣乘法 (matrix multiplication)** 作為群運算 (group operation)。
    * 張量積的特性：
        $$
        (A_1 \otimes A_2 \otimes \cdots \otimes A_n)(B_1 \otimes B_2 \otimes \cdots \otimes B_n) = (A_1B_1) \otimes (A_2B_2) \otimes \cdots \otimes (A_nB_n)
        $$
    * 範例：
        * $G_1 = \{ \pm I, \pm iI, \pm X, \pm iX, \cdots, \pm iZ \}$
        * $-iX_1Y_3X_4Z_5 \equiv -iX \otimes I \otimes Y \otimes X \otimes Z$
* 任意兩 Pauli matrices 的乘積，仍是 identity matrix 與 Pauli matrix (將 prefactors 提出)：
    * 公式：
        $$
        \sigma_\alpha\sigma_\beta = 
        \begin{cases}
        I & \mbox{if } \alpha = \beta \\
        \sum_{\gamma=1}^{3} i \cdot \epsilon_{\alpha\beta\gamma} \cdot \sigma_{\gamma} &  \mbox{if } \alpha \ne \beta \\
        \end{cases}
        $$
    * 其中 $\epsilon_{\alpha\beta\gamma}$ 為 "**Levi-Civita  symbol**"：
        * 當 $\alpha, \beta, \gamma$ 為數字 $1,2,3$ 的「偶排列 (even  permutation)」時 (如：$3,1,2$)，$\epsilon_{\alpha\beta\gamma}=1$。
        * 當 $\alpha, \beta, \gamma$ 為數字 $1,2,3$ 的「奇排列 (odd  permutation)」時 (如：$2,1,3$)，$\epsilon_{\alpha\beta\gamma}=-1$。
        * 當 $\alpha, \beta, \gamma$ 為其他狀況時 (如：$2,2,3$)，$\epsilon_{\alpha\beta\gamma}=0$。
        * 因此，於 $\alpha \ne \beta$ 時，$\sum_{\gamma=1}^{3}$ 的總和計算中僅有一項非零。

#### Stabilizer operators
* $S$ 為 $G_n$ 的 subgroup。
* $S$ 裡的元素稱為 **stabilizer operators (穩定算子)**。
* $V_S$ 為可以被 $S$ 穩定的向量空間 (vector space)：
    * 公式：
        $$
        V_S = \{ |\psi\rangle \in \mathbb{C}^{2^{n}}: g|\psi\rangle = |\psi\rangle, \ \forall \ g \in S \}
        $$
    * 注意：
        * $V_S$ 可以是「平凡向量空間 (trivial vector space)」，意即 $V_S = 0$ (此為 zero vector，與 $|0\rangle$ 不同)。
        * 假設 $-I \in S$，那麼 $-I |\psi\rangle = |\psi\rangle$ 的唯一解 (平凡解) 就是 $|\psi\rangle = 0$。
* $S$ 可以使用 **generators** 簡化描述：
    * 定義：於 group $G$ 裡的元素 $g_1,\cdots,g_l$，可以透過相積再次得到 $G$ 裡的元素 $g_1,\cdots,g_l$ 本身。
    * 寫法：
        $$
        G = \langle g_1,\cdots,g_l \rangle
        $$
    * 例如：
        $$
        \{ I, Z_1Z_2, Z_2Z_3, Z_1Z_3 \} = \langle Z_1Z_2, Z_2Z_3 \rangle
        $$
* 令 $S$ 穩定「**非凡向量空間 (non-trivial vector space)**」的條件：
    1. $S$ 裡的元素滿足**交換律 (commute)**：對於所有 $g,h \in S$ 而言，$[g,h]=gh-hg=0$。
        * 對於任意 $g,h \in S \subseteq G_n$，不是滿足交換律就是反交換律 (anti-commute)：$gh=-hg$ (參考 Excercise 11.2)。
        * 如果是滿足反交換律，那對任意 $|\psi\rangle \in V_s$：
            $$
            \begin{eqnarray*}
            && |\psi\rangle = gh |\psi\rangle = -hg|\psi\rangle = - |\psi\rangle \\
            \Rightarrow && |\psi\rangle = 0
            \end{eqnarray*}
            $$
        * 如此便能導出 $V_S =\{0\}$ 的結論，而這違反了非凡向量空間 (non-trivial vector space) 的定義。
    2. $-I \notin S$
* 以下討論針對非凡向量空間的穩定，因此均假設上述兩個條件滿足。

#### Check matrix representation (參考 Excercise 11.2)
* $r(g)$：給定元素 $g \in G_n$，初始化一長度為 $2n$ 的 row  vector，最後按照下述表格進行定義 (此處忽略 $g$ 的 prefactor $\pm 1$ 與 $\pm i$)。
    ![](https://i.imgur.com/Y8sbMjT.png =500x)
    * 範例：$g=iX_2Y_4Z_5 \rightarrow r(g)=(0\,1\,0\,1\,0\,0\,0\,0\,1\,1)$
* 好用的特性：
    1. $\forall \, g,g^{\prime} \in G_n:\, r(gg^{\prime})=r(g)+r(g^{\prime})$：
        * 其中 $gg^{\prime}$ 為群運算 (matrix-matrix product，矩陣乘法)，
        * $r(g)+r(g^{\prime})$ 為模數加法 (modulo 2)。
    2. $g,g^{\prime} \in G_n$ 滿足交換律 ($[g,g^{\prime}]=0$)，若且唯若：
        $$
        r(g)\Lambda r(g^{\prime})^T = 0 \mod 2
        $$
        其中
        $$
        \Lambda = 
        \begin{pmatrix}
        0 & I \\
        I & 0 \\
        \end{pmatrix}
        $$
* **Check matrix** 定義如下：
    $$
    C=\begin{pmatrix} r(g_1) \\ \vdots \\ r(g_l) \end{pmatrix} \in [0,1]^{l \times 2n}
    $$
    檢查是否滿足交換律：
    $$
    C\Lambda C^T = 0 \mbox{ (zero matrix, modulo 2)}
    $$
* **Proposition** (主張)：
    * 確認 generators 是否為**線性獨立 (linear independent)**。
    * 令 $S = \langle g_1, \cdots, g_l \rangle$ 且 $-I \notin S$：
        * Generator 為線性獨立，若且唯若相對應的 check matrix 也是線性獨立。

### 6.4.2 Surface codes
* 我們可以通過 surface codes 來進行 **quantum error correction**。
* 首先，我們設定一個 **planar code (平面編碼)**：$d \times d$ grids，而且 $d$ 為奇數，以下範例 $d=3$。
    ![](https://i.imgur.com/ZIh0D8W.png =150x)
* 對應的 **quantum Hilbert space 維度**為：$2^{d^2}$
* 由四個 qubits 組成的正方形寫作 **plaquette**：
    ![](https://i.imgur.com/10z0vnl.png)
* 我們可以藉由 **plaquette** 與 **boundary pairs** 來獲得 generators ($X$ or $Z$)：
    ![](https://i.imgur.com/J5kxSE6.png =300x)
    其中圖片定義 (pictorial definitions) 如下：
    ![](https://i.imgur.com/hwhSy5o.png =350x)
* 因為是 stabilizer generators，因此對於 logical code space 進行運算後會產生**特徵值 (eigenvalues) 為 $+1$** 的原結果 (即是 eigenspace)。
* 同一個 group 內的每個 generator 都會將 logical code space 的維度除以 $2$：
    $$
    \dfrac{2^{d^2}}{2^{\mathrm{\#generators}}} = \dfrac{2^{d^2}}{2^{d^2-1}} = 2
    $$
    也就是一個 qubit 的維度。
* 如何定義這些 logical operations 施加於這顆 logical qubit 上的運算呢？
    將 $X_L$ 與 $Z_L$ 定義為由 $X$ 與 $Z$ 分別組成垂直與水平的一串 operators。
    ![](https://i.imgur.com/hdLPwqd.png =500x)
    其中 $X_L$、$Z_L$ 與所有 stabilizers 滿足**交換律**。
* 優點：
    * 可以從 **local errors** (此處指影響 grid 部分區域的 noise) 中**復原**，特別是在更大的 grid dimensions $d$ 之下。
* 還有很多其他變體，如：Toric code。