Skip to content

Commit ca94059

Browse files
committed
docs: update quantum chapter3
1 parent b3e9955 commit ca94059

File tree

6 files changed

+179
-2
lines changed

6 files changed

+179
-2
lines changed

.cache/plugin/git-committers/page-authors.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.
60.3 KB
Loading
110 KB
Loading
56.9 KB
Loading
121 KB
Loading

docs/cs/quantum/chapter3.md

Lines changed: 178 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,4 +180,181 @@ QFT 的量子门复杂度为 \(\mathcal{O}(n^2)\)。
180180
\frac{1}{\sqrt{2^n}} (\left\lvert 0 \right\rangle + e^{2\pi i \overline{0.\varphi_n}} \left\lvert 1 \right\rangle) \otimes \cdots \otimes (\left\lvert 0 \right\rangle + e^{2\pi i \overline{0.\varphi_1 \varphi_2 \cdots \varphi_n}} \left\lvert 1 \right\rangle)
181181
\]
182182

183-
最后,对 \(R_p\) 的量子态进行逆量子傅立叶变换(IQFT),得 \(\left\lvert \varphi_1 \varphi_2 \cdots \varphi_n \right\rangle\),从而得到 \(\varphi\) 的估计值。
183+
最后,对 \(R_p\) 的量子态进行逆量子傅立叶变换(IQFT),得 \(\left\lvert \varphi_1 \varphi_2 \cdots \varphi_n \right\rangle\),从而得到 \(\varphi\) 的估计值。
184+
185+
## Shor 算法
186+
187+
### RSA
188+
189+
制造公钥和私钥:
190+
191+
1. 获得两个大质数 \(p_1\)\(p_2\)
192+
2. 计算 \(n = p_1 p_2\)\(\phi(n) = (p_1 - 1)(p_2 - 1)\)
193+
3. 取一个与 \(\phi(n)\) 互质的整数 \(e\)
194+
4. 计算 \(e\) 在模 \(\phi(n)\) 下的逆元 \(d\),满足 \(ed \equiv 1 \mod \phi(n)\)
195+
5. 公钥为 \((n, e)\),私钥为 \((n, d)\)
196+
197+
接收方计算出公钥和私钥后,将公钥发送给发送方,发送方使用公钥加密信息,接收方使用私钥解密信息。
198+
199+
- 发送方加密信息 \(a\)\(C = a^e \mod n\)。发送密文 \(C\)
200+
- 接收方解密信息 \(C\)\(a = C^d \mod n\)
201+
202+
破解 RSA 的难度在于分解 \(n\)
203+
204+
### Shor 算法
205+
206+
Shor 算法包含经典计算和量子计算。
207+
208+
经典计算部分:
209+
210+
!!! note "阶"
211+
212+
定义 \(r = \mathrm{ord}_n(a)\) 为满足 \(a^r \equiv 1 \mod n\) 的最小正整数 \(r\),称为 \(a\) 关于模 \(n\) 的阶。
213+
214+
1. 随机选取小于 \(n\) 的整数 \(a\),且 \(\gcd(a, n) = 1\)
215+
2. 计算 \(r = \mathrm{ord}_n(a)\)。(量子计算部分)
216+
3.\(r\) 为奇数,回到第一步。
217+
4.\(r\) 为偶数,计算 \(x \equiv a^{r/2} \mod n\),则
218+
219+
\[
220+
\begin{aligned}
221+
x^2 &\equiv 1 \mod n \\
222+
(x - 1)(x + 1) &\equiv 0 \mod n
223+
\end{aligned}
224+
\]
225+
226+
则设 \((x - 1)(x + 1) = tn = (t_1p_1)(t_2p_2)\),有
227+
228+
\[
229+
\begin{aligned}
230+
x - 1 &\equiv 0 \mod p_1 \Rightarrow p_1 = \gcd(x - 1, n) \\
231+
x + 1 &\equiv 0 \mod p_2 \Rightarrow p_2 = \gcd(x + 1, n)
232+
\end{aligned}
233+
\]
234+
235+
\(p_1 = 1\)\(p_2 = 1\),回到第一步。否则,得到 \(p_1\)\(p_2\)\(n\) 的质因数。
236+
237+
### Shor 算法求阶
238+
239+
定义酉变换 \(U\)
240+
241+
\[
242+
\begin{aligned}
243+
&U\left\lvert y \right\rangle = \left\lvert ay \mod n \right\rangle \\
244+
\Rightarrow\ &U^2\left\lvert y \right\rangle = U\left\lvert ay \mod n \right\rangle = \left\lvert a^2 y \mod n \right\rangle \\
245+
\Rightarrow\ &U^t\left\lvert y \right\rangle = \left\lvert a^t y \mod n \right\rangle
246+
\end{aligned}
247+
\]
248+
249+
定义量子态 \(\left\lvert u_s \right\rangle\)
250+
251+
\[
252+
\left\lvert u_s \right\rangle = \frac{1}{\sqrt{r}} \sum_{k=0}^{r-1} e^{-\frac{2\pi i sk}{r}} \left\lvert a^k \mod n \right\rangle
253+
\]
254+
255+
性质:
256+
257+
- \(U\left\lvert u_s \right\rangle = e^{2\pi i s / r} \left\lvert u_s \right\rangle\)
258+
- \(\displaystyle\frac{1}{\sqrt{r}} \sum_{s=0}^{r-1} \left\lvert u_s \right\rangle = \left\lvert 1 \right\rangle\)
259+
260+
\(U\)\(\left\lvert 1 \right\rangle\) 进行 QPE,即可等概率得到相位 \(\{0, 1/r, 2/r, \cdots, (r-1)/r\}\)
261+
262+
构造算子 \(U\):令 \(f(x) = a^x \mod n\),枚举所有可能的 \(x\),写出变换前的量子态 \(\left\lvert x \right\rangle \left\lvert 0 \right\rangle\),变换后的量子态 \(\left\lvert x \right\rangle \left\lvert f(x) \right\rangle\),构造 \(U\)
263+
264+
\[
265+
U = \sum_{x=0}^{n-1} \left\lvert x \right\rangle \left\lvert 0 \right\rangle \left\langle x \right\rvert \left\langle f(x) \right\rvert
266+
\]
267+
268+
## Grover 算法
269+
270+
搜索算法,用于在无序数据库中搜索目标元素,将 \(\mathcal{O}(N)\) 的经典时间复杂度降低到 \(\mathcal{O}(\sqrt{N})\)
271+
272+
设所有正解的叠加态为 \(\left\lvert \beta \right\rangle\),所有错误解的叠加态为 \(\left\lvert \alpha \right\rangle\),则:
273+
274+
<div align="center"><img src="/assets/img/CS/quantum/chapter3/grover_circuit.png" width="40%"></div>
275+
276+
Grover 算法通过旋转初始量子态,使其不断接近 \(\left\lvert \beta \right\rangle\)
277+
278+
### Oracle
279+
280+
Oracle 用于判断当前量子态是否为目标态。
281+
282+
\[
283+
\left\lvert x \right\rangle \xrightarrow{\mathrm{Oracle}} (-1)^{f(x)} \left\lvert x \right\rangle
284+
\]
285+
286+
其中 \(f(x) = 1\) 表示目标态,\(f(x) = 0\) 表示非目标态。
287+
288+
### Grover 算子
289+
290+
<div align="center"><img src="/assets/img/CS/quantum/chapter3/grover_operator.png" width="70%"></div>
291+
292+
#### 作用 Oracle
293+
294+
几何意义是将量子态关于 \(\left\lvert \alpha \right\rangle\) 翻转。
295+
296+
<div align="center"><img src="/assets/img/CS/quantum/chapter3/grover_oracle.png" width="50%"></div>
297+
298+
#### 作用 Diffusion
299+
300+
酉矩阵表示为 \(H^{\otimes n} (2\left\lvert 0^n \right\rangle \left\langle 0^n \right\rvert - I) H^{\otimes n}\),令 \(\left\lvert \psi \right\rangle = H^{\otimes n} \left\lvert 0^n \right\rangle\),则 Diffusion 算子为 \(U_s = (2\left\lvert \psi \right\rangle \left\langle \psi \right\rvert - I)\)。即将量子态关于 \(\left\lvert \psi \right\rangle\) 翻转。
301+
302+
<div align="center"><img src="/assets/img/CS/quantum/chapter3/grover_rest.png" width="50%"></div>
303+
304+
!!! note "翻转算子"
305+
306+
设 \(\left\lvert v \right\rangle = p\left\lvert \psi \right\rangle + q\left\lvert \psi \right\rangle_{\perp}\),则:
307+
308+
\[
309+
\begin{aligned}
310+
U_s \left\lvert v \right\rangle &= (2\left\lvert \psi \right\rangle \left\langle \psi \right\rvert - I) (p\left\lvert \psi \right\rangle + q\left\lvert \psi \right\rangle_{\perp}) \\
311+
&= 2p\left\lvert \psi \right\rangle \left\langle \psi \vert \psi \right\rangle + 2q\left\lvert \psi \right\rangle \left\langle \psi \right\rvert \left\lvert \psi \right\rangle_{\perp} - p\left\lvert \psi \right\rangle - q\left\lvert \psi \right\rangle_{\perp}
312+
\end{aligned}
313+
\]
314+
315+
由于归一化条件,有 \(\left\lvert \psi \vert \psi \right\rangle = 1\),所以
316+
317+
\[
318+
\begin{aligned}
319+
U_s \left\lvert v \right\rangle &= 2p\left\lvert \psi \right\rangle - p\left\lvert \psi \right\rangle - q\left\lvert \psi \right\rangle_{\perp} \\
320+
&= p\left\lvert \psi \right\rangle - q\left\lvert \psi \right\rangle_{\perp}
321+
\end{aligned}
322+
\]
323+
324+
故翻转算子 \(U_s\) 的作用是将量子态关于 \(\left\lvert \psi \right\rangle\) 翻转。
325+
326+
#### 几何意义
327+
328+
证明作用一次 G 算子,可以将量子态向目标态 \(\left\lvert \beta \right\rangle\) 旋转 \(\theta\) 角度。即
329+
330+
\[
331+
G^k \left\lvert \psi \right\rangle = \cos(\frac{2k + 1}{2} \theta) \left\lvert \alpha \right\rangle + \sin(\frac{2k + 1}{2} \theta) \left\lvert \beta \right\rangle
332+
\]
333+
334+
设初始态中有 \(M\) 个目标态,\(N - M\) 个非目标态,则
335+
336+
\[
337+
\psi = \sqrt{\frac{N - M}{N}} \left\lvert \alpha \right\rangle + \sqrt{\frac{M}{N}} \left\lvert \beta \right\rangle
338+
\]
339+
340+
\(\theta/2\) 为初始态与 \(\left\lvert \alpha \right\rangle\) 的夹角,有
341+
342+
\[
343+
\theta = 2 \arccos(\sqrt{\frac{N - M}{N}})
344+
\]
345+
346+
#### 复杂度分析
347+
348+
假设 \(M \ll N\),则有近似
349+
350+
\[
351+
\theta \approx \sin(\theta) = \frac{2\sqrt{M(N - M)}}{N} \approx 2\sqrt{\frac{M}{N}}
352+
\]
353+
354+
要让量子态接近 \(\left\lvert \beta \right\rangle\),即令 \(\displaystyle\frac{2k + 1}{2} \theta = \frac{\pi}{2}\),代入上式得
355+
356+
\[
357+
k = \frac{\pi}{2\theta} - \frac{1}{2} \approx \frac{\pi}{4} \sqrt{\frac{N}{M}} - \frac{1}{2} = \mathcal{O}(\sqrt{N/M})
358+
\]
359+
360+
所以 Grover 算法的复杂度为 \(\mathcal{O}(\sqrt{N/M})\)

0 commit comments

Comments
 (0)