【Under Construction】应用线性代数学习笔记 (1) 无结构搜索
Abstract. 实际上是量子计算课程的学习笔记。但是在我对底层原理有充分理解之前,我会将我学的东西称为“应用线性代数”。
本片
Grover’s Algorithm
我们期望解决下面所述的无结构搜索问题:
问题. 给定一个函数 $f : [n] \rightarrow \{0, 1\}$,包装成一个 oracle:
$$
|x, z\rangle \xmapsto{U_f} |x, z \oplus f(z)\rangle
$$
搜索其中的一个 $x$,满足 $f(x) = 1$。
首先考虑使用 phase kickback 技巧:
$$
|x, -\rangle \xmapsto{U_f \otimes I} (-1)^{f(x)}|x, -\rangle
$$
这个操作(带有一个辅助比特)成为一次 phase query。考虑这个操作作用在一个均一叠加态 $|\psi\rangle = 1 / \sqrt{n} \sum_{x = 1}^n |x\rangle$ 上:
$$
|\psi\rangle\xmapsto{\text{phase query}} \left(\sum_{x:f(x) = 0}|x\rangle\right) - \left(\sum_{x:f(x) = 1}|x\rangle\right)
$$
这个操作形如某种“反射”。Grover 算法的出发点是,用两种“反射”构造“旋转”,将均一叠加态转到 $f(x) = 1$ 的方向。
首先考虑只有一个元素 $w$ 使得 $f(w) = 1$ 的情况。那么上述的 phase query 写成酉矩阵就是
$$
U = I - 2|w\rangle\langle w|
$$
接下来定义($\psi$ 是均一叠加态)
$$
V = 2|\psi\rangle\langle\psi| - I
$$
我们来制备此门。注意为了实现类似于分支判断的操作,受控门是一个很好的选择,但是受控门对叠加态并不友好。所幸我们注意到
$$
V = H^{\otimes m}(2|0^m\rangle\langle0^m| - I)H^{\otimes m}
$$
因此下图用 $O(\log n)$ 个门制备了该门。
万事俱备。Grover 算法的完整过程如下:
- 制备均一叠加态 $|\psi\rangle$($O(\log n)$ 个门)
- 重复 $t = \pi / 4\sqrt{n}$ 次
- 作用 $U$。
- 作用 $V$。
- 测量。
做一些简单的计算:
$$
\begin{align}
U|\psi\rangle &= |\psi\rangle - \frac{2}{\sqrt n}|w\rangle \\
U|w\rangle &= -|w\rangle \\
V|\psi\rangle &= |\psi\rangle \\
V|w\rangle &= \frac{2}{\sqrt n} |\psi\rangle - |w\rangle
\end{align}
$$
因此 $|\psi\rangle, |w\rangle$ 生成 $U, V$ 下的不变子空间。方便起见,我们将这组基 Schmidt 正交化为 $|w\rangle, |w^\perp\rangle$,其中
$$
|w^\perp\rangle = \frac{|\psi\rangle - \langle w|\psi\rangle|w\rangle}{\parallel |\psi\rangle - \langle w|\psi\rangle|w\rangle\parallel}
$$
于是(假设 $\theta = \arcsin \frac{1}{\sqrt n}$)
$$
\begin{align}
|\psi\rangle &= \frac{1}{\sqrt n}|w\rangle + \sqrt{1 - \dfrac{1}{n}}|w^\perp\rangle \\
&= \sin\theta |w\rangle + \cos\theta|w^\perp\rangle
\end{align}
$$
现在可以方便地在 $|w\rangle, |w^\perp\rangle$ 下研究 $U, V$ 的矩阵表示,我们将看到它正是平面内旋转 $2\theta$ 度:
$$
U = \begin{pmatrix}
-1 & 0 \\
0 & 1
\end{pmatrix}, V = \begin{pmatrix}
-\cos 2\theta & \sin 2\theta \\
\sin 2\theta & \cos 2\theta
\end{pmatrix},
VU = \begin{pmatrix}
\cos 2\theta & \sin 2\theta \\
-\sin 2\theta & \cos 2\theta
\end{pmatrix}
$$
因此
$$
(VU)^t|\psi\rangle = \sin (2t + 1)\theta|w\rangle + \cos(2t + 1)\theta|w^\perp\rangle
$$
如果在标准正交基下测量,想要使得 $w$ 的出现概率尽可能大,就要使得 $(2t + 1)\theta \rightarrow \frac{\pi}{2}$,即 $t\simeq \frac{\pi}{4}\sqrt n$。