|
| 1 | +--- |
| 2 | +title: Ch.7 Quantum Gates and Circuits |
| 3 | +--- |
| 4 | + |
| 5 | +本章将上一章所讲的可逆门电路带入量子计算当中,并介绍了一些基础量子电路的实现. 从本章开始,假设所有的测量装置**都是固定的**,我们用 $(\ket{0}, \ket{1})$ 来替代之前使用的 $(\ket{\uparrow}, \ket{\downarrow})$. |
| 6 | + |
| 7 | +--- |
| 8 | + |
| 9 | +## 量子 CNOT 门 |
| 10 | + |
| 11 | +上一章提到的经典 CNOT 门对应如下左图真值表,我们将其写成右图的**张量形式**: |
| 12 | + |
| 13 | +::grid{gap=5px} |
| 14 | +:sep{span=11} |
| 15 | +```typst 经典 CNOT 门 |
| 16 | +#show table.cell.where(y: 1): text.with(weight: "bold") |
| 17 | +#table( |
| 18 | + columns: 4, |
| 19 | + inset: 9pt, |
| 20 | + align: horizon + center, |
| 21 | + stroke: none, |
| 22 | + table.hline(y: 0, stroke: 2pt), |
| 23 | + table.hline(y: 1), |
| 24 | + table.hline(y: 2, stroke: 2pt), |
| 25 | + table.vline(x: 2, stroke: 2pt), |
| 26 | + table.vline(x: 1), |
| 27 | + table.vline(x: 3), |
| 28 | + table.header(table.cell(colspan: 2)[*Input*], table.cell(colspan: 2)[*Output*]), |
| 29 | + $bold(x)$, $bold(y)$, $bold(x)$, $bold(x xor y)$, |
| 30 | + [0], [0], [0], [0], |
| 31 | + [0], [1], [0], [1], |
| 32 | + [1], [0], [1], [1], |
| 33 | + [1], [1], [1], [0] |
| 34 | +) |
| 35 | +``` |
| 36 | + |
| 37 | +:sep{span=2 .center} |
| 38 | +$\Longrightarrow$ |
| 39 | + |
| 40 | +:v{3rem} |
| 41 | + |
| 42 | +:sep{span=11} |
| 43 | +```typst 量子 CNOT 门 |
| 44 | +#import "@preview/physica:0.9.4": * |
| 45 | +#show table.cell.where(y: 1): text.with(weight: "bold") |
| 46 | +#table( |
| 47 | + columns: 2, |
| 48 | + inset: 9pt, |
| 49 | + align: horizon + center, |
| 50 | + stroke: none, |
| 51 | + table.hline(y: 0, stroke: 2pt), |
| 52 | + table.hline(y: 1, stroke: 2pt), |
| 53 | + table.vline(x: 1, stroke: 2pt), |
| 54 | + table.header([*Input*], [*Output*]), |
| 55 | + $ket(00)$, $ket(00)$, |
| 56 | + $ket(01)$, $ket(01)$, |
| 57 | + $ket(10)$, $ket(11)$, |
| 58 | + $ket(11)$, $ket(10)$ |
| 59 | +) |
| 60 | +``` |
| 61 | +:: |
| 62 | + |
| 63 | +量子 CNOT 门的函数表达可以写成如下形式,其作用可直观理解为**将 $\ket{10}$ 和 $\ket{11}$ 的概率振幅互换**. |
| 64 | + |
| 65 | +$$ |
| 66 | +\text{CNOT}(r\ket{00} + s\ket{01} + t\ket{10} + u\ket{11}) = r\ket{00} + s\ket{01} + u\ket{10} + t\ket{11} |
| 67 | +$$ |
| 68 | + |
| 69 | +经典 CNOT 门中,控制位的输入输出是一样的,但**量子 CNOT 门并不是这样**. 假设第一个输入为 $\frac{1}{\sqrt{2}}\ket{0}+\frac{1}{\sqrt{2}}\ket{1}$,第二个输入为 $\ket{0}$,将其写为张量的形式,即 |
| 70 | + |
| 71 | +$$ |
| 72 | +\left(\frac{1}{\sqrt{2}}\ket{0}+\frac{1}{\sqrt{2}}\ket{1}\right)\oplus\ket{0}=\frac{1}{\sqrt{2}}\ket{00}+\frac{1}{\sqrt{2}}\ket{10}, |
| 73 | +$$ |
| 74 | + |
| 75 | +经过 CNOT 门后,输出为 $\frac{1}{\sqrt{2}}\ket{00}+\frac{1}{\sqrt{2}}\ket{11}$,**这是一个纠缠态**. 我们用如下的电路图来表示这个过程: |
| 76 | + |
| 77 | +```typst |
| 78 | +#import "@preview/quill:0.6.0": * |
| 79 | +#import "@preview/physica:0.9.4": * |
| 80 | +#scale(180%, reflow: true, quantum-circuit( |
| 81 | + lstick($1/sqrt(2)ket(0)+1/sqrt(2)ket(1)$), 1, ctrl(1), 1, rstick($1/sqrt(2)ket(00)+1/sqrt(2)ket(11)$, n:2), [\ ], |
| 82 | + lstick($ket(0)$), 1, targ(), 1 |
| 83 | +)) |
| 84 | +``` |
| 85 | + |
| 86 | +--- |
| 87 | + |
| 88 | +## 单输入量子门 |
| 89 | + |
| 90 | +在经典逻辑中,只有两种可能的单输入门:NOT 门和恒等门. 而由于量子态的叠加性质,我们可以**有无数种单输入量子门**. 最常用的有 **Pauli 门**和 **Hadamard 门**,其中 Pauli 门包括 **I 门**、**X 门**、**Y 门**和 **Z 门**. |
| 91 | + |
| 92 | +--- |
| 93 | + |
| 94 | +### I 门和 Z 门 |
| 95 | + |
| 96 | +**I 门对应恒等矩阵 $\begin{bmatrix}1&0\\0&1\end{bmatrix}$**,其作用是保持输入不变. |
| 97 | + |
| 98 | +**Z 门对应矩阵 $\begin{bmatrix}1&0\\0&-1\end{bmatrix}$**,对于输入 $a_0\ket{0}+a_1\ket{1}$,其输出为 |
| 99 | + |
| 100 | +$$ |
| 101 | +Z(a_0\ket{0}+a_1\ket{1})=\begin{bmatrix}1&0\\0&-1\end{bmatrix}\begin{bmatrix}a_0\\a_1\end{bmatrix}=\begin{bmatrix}a_0\\-a_1\end{bmatrix}=a_0\ket{0}-a_1\ket{1}. |
| 102 | +$$ |
| 103 | + |
| 104 | +即保持 $\ket{0}$ 的概率振幅不变,而将 $\ket{1}$ 的概率振幅取反. |
| 105 | + |
| 106 | +更进一步,对于基态 $\ket{1}$,Z 门将其变为 $-\ket{1}$,而之前提到,$\ket{1}$ 和 $-\ket{1}$ 是等价的,因此 **Z 门对基态不产生任何影响**. 对于其他态,例如 $\frac{1}{\sqrt{2}}\ket{0}+\frac{1}{\sqrt{2}}\ket{1}$,输出为 $\frac{1}{\sqrt{2}}\ket{0}-\frac{1}{\sqrt{2}}\ket{1}$,**这是两个不同的量子态**,因此 **Z 门不等于 I 门**. |
| 107 | + |
| 108 | +对于这种只改变概率振幅的符号的门,我们称之为**相位门**(Phase Gate,在实际应用中,不止包括正负号的改变,还包括在复平面上的旋转). |
| 109 | + |
| 110 | +--- |
| 111 | + |
| 112 | +### X 门和 Y 门 |
| 113 | + |
| 114 | +X 门和 Y 门**类似于传统布尔逻辑当中的 NOT 门**. |
| 115 | + |
| 116 | +$$ |
| 117 | +X=\begin{bmatrix}0&1\\1&0\end{bmatrix},\quad Y=\begin{bmatrix}0&1\\-1&0\end{bmatrix}. |
| 118 | +$$ |
| 119 | + |
| 120 | +--- |
| 121 | + |
| 122 | +### Hadamard 门 |
| 123 | + |
| 124 | +Hadamard 门又称 **H 门**,对应矩阵 |
| 125 | + |
| 126 | +$$ |
| 127 | +H=\frac{1}{\sqrt{2}}\begin{bmatrix}1&1\\1&-1\end{bmatrix}. |
| 128 | +$$ |
| 129 | + |
| 130 | +通常用于**将标准基 $\ket{0}$ 和 $\ket{1}$ 变为叠加态**. |
| 131 | + |
| 132 | +$$ |
| 133 | +\begin{align*} |
| 134 | +H(\ket{0}) &= \frac{1}{\sqrt{2}}(\ket{0}+\ket{1}) \\[0.7em] |
| 135 | +H(\ket{1}) &= \frac{1}{\sqrt{2}}(\ket{0}-\ket{1}) |
| 136 | +\end{align*} |
| 137 | +$$ |
| 138 | + |
| 139 | +--- |
| 140 | + |
| 141 | +我们通过在方框内加上对应符号来表示这些门: |
| 142 | + |
| 143 | +```typst |
| 144 | +#import "@preview/quill:0.6.0": * |
| 145 | +#scale(180%, reflow: true, quantum-circuit( |
| 146 | + 3, $H$, 3 |
| 147 | +)) |
| 148 | +``` |
| 149 | + |
| 150 | +--- |
| 151 | + |
| 152 | +## 存在通用量子门吗? |
| 153 | + |
| 154 | +在经典计算中,我们知道**任何逻辑电路都可以用 NAND 门和扇出实现**,也可以**只通过 Fredkin 门实现**. 那么在量子计算中,是否存在能够表示所有量子门的**通用量子门**呢?**答案是否定的**. |
| 155 | + |
| 156 | +在经典逻辑中,$n$ 个变量最多只会有 $2^n$ 个布尔函数,而之前我们提到,在量子计算中,仅仅是一个量子比特就有无穷多种量子门. 使用有限个量子门不可能表示无穷多的量子电路,因此**不存在通用量子门**. |
| 157 | + |
| 158 | +尽管如此,我们还是有办法通过有限的门来**模拟**任何的量子电路(本书不会详细讨论这个问题). |
| 159 | + |
| 160 | +--- |
| 161 | + |
| 162 | +## 不可复制原理 |
| 163 | + |
| 164 | +注意到 $\text{CNOT}(\ket{00})=\ket{00}$,$\text{CNOT}(\ket{10})=\ket{11}$,因此对于 $\ket{x}\in\{\ket{0},\ket{1}\}$,我们有 $\text{CNOT}(\ket{x0})=\ket{xx}$,也就是说 **CNOT 门可以复制经典比特**,也即 CNOT 门可以实现经典逻辑中的扇出. |
| 165 | + |
| 166 | +因此我们尝试思考,是否存在一个量子门可以**复制**任意的量子态?**可以证明,这样的门并不存在**. 这个结论被称为**不可复制原理**(No-Cloning Theorem). |
| 167 | + |
| 168 | +假设这样的门 $G$ 存在,它输入量子态 $\ket{x}$ 和一个与 $\ket{x}$ 无关的辅助位 $\ket{k}$,将 $\ket{x}$ 复制后输出 $\ket{x}\ket{x}$,即 |
| 169 | + |
| 170 | +```typst |
| 171 | +#import "@preview/quill:0.6.0": * |
| 172 | +#import "@preview/physica:0.9.4": * |
| 173 | +#scale(180%, reflow: true, quantum-circuit( |
| 174 | + lstick($ket(x)$), 1, mqgate($G$, n: 2), 1, rstick($ket(x)$), [\ ], |
| 175 | + lstick($ket(k)$), 3, rstick($ket(x)$) |
| 176 | +)) |
| 177 | +``` |
| 178 | + |
| 179 | +那么它一定满足: |
| 180 | + |
| 181 | +1. $G(\ket{0}\ket{k})=\ket{0}\ket{0}$. |
| 182 | +2. $G(\ket{1}\ket{k})=\ket{1}\ket{1}$. |
| 183 | +3. $G\left(\left(\dfrac{1}{\sqrt{2}}\ket{0}+\dfrac{1}{\sqrt{2}}\ket{1}\right)\ket{k}\right)=\left(\dfrac{1}{\sqrt{2}}\ket{0}+\dfrac{1}{\sqrt{2}}\ket{1}\right)\left(\dfrac{1}{\sqrt{2}}\ket{0}+\dfrac{1}{\sqrt{2}}\ket{1}\right)$. |
| 184 | + |
| 185 | +其中第三个式子也可以写成 |
| 186 | + |
| 187 | +$$ |
| 188 | +G\left(\frac{1}{\sqrt{2}}\ket{0k}+\frac{1}{\sqrt{2}}\ket{1k}\right)=\frac{1}{2}\ket{00}+\frac{1}{2}\ket{11}+\frac{1}{2}\ket{01}+\frac{1}{2}\ket{10}. |
| 189 | +$$ |
| 190 | + |
| 191 | +由于 $G$ 的**线性性**,有 $G\left(\frac{1}{\sqrt{2}}\ket{0k}+\frac{1}{\sqrt{2}}\ket{1k}\right)=\frac{1}{\sqrt{2}}(G(\ket{0k})+G(\ket{1k}))=\frac{1}{\sqrt{2}}(\ket{00}+\ket{11})$,与右式不符,矛盾,命题得证. |
| 192 | + |
| 193 | +--- |
| 194 | + |
| 195 | +### 贝尔电路 |
| 196 | + |
| 197 | +**贝尔电路**是一种常用的量子电路结构. |
| 198 | + |
| 199 | +```typst 贝尔电路 |
| 200 | +#import "@preview/quill:0.6.0": * |
| 201 | +#scale(180%, reflow: true, quantum-circuit( |
| 202 | + 2, $H$, ctrl(1), 2, [\ ], |
| 203 | + 3, targ(), 2 |
| 204 | +)) |
| 205 | +``` |
| 206 | + |
| 207 | +传入 $\mathbb{R}^4$ 的常用标准正交基,输出一定也是一组标准正交基,它们被称为**贝尔态**. |
| 208 | + |
| 209 | +$$ |
| 210 | +\begin{align*} |
| 211 | +B(\ket{00}) &= \frac{1}{\sqrt{2}}(\ket{00}+\ket{11}), \quad B(\ket{01}) = \frac{1}{\sqrt{2}}(\ket{01}+\ket{10}), \\[1em] |
| 212 | +B(\ket{10}) &= \frac{1}{\sqrt{2}}(\ket{00}-\ket{11}), \quad B(\ket{11}) = \frac{1}{\sqrt{2}}(\ket{01}-\ket{10}). |
| 213 | +\end{align*} |
| 214 | +$$ |
| 215 | + |
| 216 | +由于 CNOT 门和 Hadamard 门都是可逆的,因此**贝尔电路也是可逆的**. |
| 217 | + |
| 218 | +```typst 逆贝尔电路 |
| 219 | +#import "@preview/quill:0.6.0": * |
| 220 | +#scale(180%, reflow: true, quantum-circuit( |
| 221 | + 2, ctrl(1), $H$, 2, [\ ], |
| 222 | + 2, targ() |
| 223 | +)) |
| 224 | +``` |
| 225 | + |
| 226 | +--- |
| 227 | + |
| 228 | +## 密集编码 |
| 229 | + |
| 230 | +**密集编码**(Superdense Coding)是一种量子通信协议,它可以**用一个量子比特传输两个比特的信息**. |
| 231 | + |
| 232 | +首先制备纠缠态为 $\frac{1}{\sqrt{2}}(\ket{00}+\ket{11})$(**贝尔态**)的两个量子比特,分别交给 Alice 和 Bob. Alice 想要通过手里的**一个量子比特**传输**两个传统比特**的信息给 Bob,她进行如下操作: |
| 233 | + |
| 234 | +1. 如果想要传输的信息是 $00$,她不做任何操作. |
| 235 | +2. 如果想要传输的信息是 $01$,她对自己的量子比特应用 X 门. |
| 236 | +3. 如果想要传输的信息是 $10$,她对自己的量子比特应用 Z 门. |
| 237 | +4. 如果想要传输的信息是 $11$,她对自己的量子比特应用 Y 门. |
| 238 | + |
| 239 | +这些操作的输出**恰好为一组贝尔态**,可以通过**逆贝尔电路**来解码. |
| 240 | + |
| 241 | +Alice 将处理完成的量子比特**交给 Bob**,Bob 对这 Alice 的量子比特和自己的量子比特进行**逆贝尔电路**操作,即可得到 Alice 想要传输的信息. |
| 242 | + |
| 243 | +--- |
| 244 | + |
| 245 | +## 量子隐形传态 |
| 246 | + |
| 247 | +**量子隐形传态**(Quantum Teleportation) |
| 248 | + |
| 249 | +写不动了,明天再写. |
0 commit comments