# 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 \\
$$
而相對應的量子電路為:

#### 第一種 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}$ 如下:

#### 第二種 Error correction procedure
* 使用 observables $Z_1Z_2 \equiv Z \otimes Z \otimes I$ 與 $Z_2Z_3 \equiv I \otimes Z \otimes Z$ 來進行測量。

* 由於 $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
$$
* 量子電路圖:

#### 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
$$
* 量子電路圖:

* 而 $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$)。

* 範例:$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$。

* 對應的 **quantum Hilbert space 維度**為:$2^{d^2}$
* 由四個 qubits 組成的正方形寫作 **plaquette**:

* 我們可以藉由 **plaquette** 與 **boundary pairs** 來獲得 generators ($X$ or $Z$):

其中圖片定義 (pictorial definitions) 如下:

* 因為是 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。

其中 $X_L$、$Z_L$ 與所有 stabilizers 滿足**交換律**。
* 優點:
* 可以從 **local errors** (此處指影響 grid 部分區域的 noise) 中**復原**,特別是在更大的 grid dimensions $d$ 之下。
* 還有很多其他變體,如:Toric code。