量子算法基础5:Grover算法¶
本课知识点
无结构搜索与两个核心算子——能写出无结构搜索问题的设定、预言机 \(U_O = 2|x_0\rangle\langle x_0| - I\) 与扩散算子 \(U_S = 2|s\rangle\langle s| - I\),并计算内积 \(\langle x_0|s\rangle = \frac{1}{\sqrt{N}}\)、写出 \(|s\rangle\) 在目标方向与非目标方向上的分解。
不变子空间:降维分析工具——能用定义判断 \(\mathrm{span}\{x_0, x_1\}\) 是否为变换 \(A\) 的不变子空间,解释它为何允许把 \(N\) 维演化约化为二维矩阵问题,并说明基不正交时须先用 Gram–Schmidt 正交化。
二维不变子空间与 Grover 旋转矩阵——能证明 \(\mathrm{span}\{|x_0\rangle, |s\rangle\}\) 是 \(U_O\) 与 \(U_S\) 的公共不变子空间、构造正交归一基 \(\{|x_0\rangle, |x_0^\perp\rangle\}\),并推导 \(G = U_S U_O\) 在该平面上是角度 \(\pi - 2\theta\) 的旋转。
成功概率与最优迭代次数——能推导 \(T\) 次迭代后命中目标的精确概率 \(P_T = \sin^2\big((2T+1)\theta\big)\),并证明取 \(T \approx \frac{\pi}{4}\sqrt{N}\) 时成功率至少 \(1 - \frac{1}{N}\)。
去随机化:从随机重启到相干演化——能计算经典随机搜索的平均查询次数 \(\Theta(N)\),并解释 Grover 如何用确定性的相干旋转取代"随机尝试 + 后选择",把查询次数降到 \(O(\sqrt{N})\)。
为什么需要振幅放大——能解释量子线路只能直接实现幺正映射的原因、辅助寄存器如何把非幺正性转移到可后选择的标志比特上,并比较朴素重复的 \(O(\frac{1}{p})\) 与振幅放大的 \(O(\frac{1}{\sqrt{p}})\)。
Grover 与振幅放大的关系——能把 Grover 搜索写成子程序 \(U = H^{\otimes n}\)、成功概率 \(p = \frac{1}{N}\) 的振幅放大实例,并对 \(N = 4\) 逐振幅验证一次迭代后必得目标条目。
振幅放大的理论——能写出两个反射在基 \(\{|g\rangle, |b\rangle\}\) 下的矩阵,证明迭代 \(Q = U_S U_O\) 是角度 \(-2\omega\)(\(\omega = \arcsin\sqrt{p}\))的旋转,并推导迭代次数 \(n \approx \frac{\pi}{4\sqrt{p}}\) 与成功率下界 \(1 - p\)。
1. 问题:无结构搜索与两个核心算子¶
我们要解决的是无结构搜索 (unstructured search) 问题:数据库中有 \(N = 2^n\) 个条目,其中恰好有一个目标条目 (marked item) \(x_0\);除了通过预言机查询之外,我们对数据库的结构一无所知。经典算法(即使允许随机性)平均需要 \(\Theta(N)\) 次查询才能找到 \(x_0\);Grover 算法只需要 \(O(\sqrt{N})\) 次,而且这已被证明是最优的查询次数。
整个算法只用到两个酉算子。第一个是预言机 (Oracle),它利用目标条目的信息:
按我们的约定,\(U_O\) 保持 \(|x_0\rangle\) 不变、把其余所有基矢变号。(更常见的约定是 \(I - 2|x_0\rangle\langle x_0|\),即"翻转目标相位";两者恰好相差一个整体符号 \(-1\),由此得到的 Grover 迭代也只差一个整体符号,不影响任何测量概率。)
第二个算子是扩散算子 (diffusion operator)。定义均匀叠加态(\(s\) 取 superposition 的首字母)
则
第二个等号的验证:由 \(H^{\otimes n}|0\rangle = |s\rangle\)(\(n\) 个 Hadamard 把 \(|0\rangle^{\otimes n}\) 叠加成所有基矢的均匀和)与 \(H^{\otimes n}H^{\otimes n} = I\),
而 \(H^{\otimes n} I H^{\otimes n} = I\),两项相减即得。由定义直接计算关键内积(\(|s\rangle\) 的分量全为实数,故 \(\langle x_0|s\rangle = \langle s|x_0\rangle\)):
这个数是后文一切推导的出发点。
在分析算法之前,我们先把计算空间分解清楚。\(N\) 个计算基矢可以分为目标态与其余基矢两部分:
其中 \(\{|x\rangle : x \neq x_0\}\) 张成 \(|x_0\rangle\) 的正交补。把它代入 \(|s\rangle\) 的定义(注意 \(\sum_{x \neq x_0}|x\rangle\) 的范数是 \(\sqrt{N-1}\)),得到
也就是说,均匀叠加态是"目标方向"与"非目标方向"的叠加,权重由 \(\langle x_0|s\rangle = \frac{1}{\sqrt{N}}\) 决定。Grover 算法做的正是把权重从非目标方向转移到目标方向。算法本身一句话就能说完:从 \(|s\rangle\) 出发,把迭代算子 \(G = U_S U_O\) 重复大约 \(\frac{\pi}{4}\sqrt{N}\) 次,然后测量。下面两节解释为什么。
2. 分析工具:不变子空间¶
本节介绍不变子空间 (invariant subspace) 的概念,它是我们分析 Grover 算法的主要工具。
设 \(\{x_0, x_1\}\) 为一组线性无关的矢量(这里是一般的矢量记号,与上文的目标条目无关)。若存在变换 \(A\),它作用在 \(x_0\) 和 \(x_1\) 上之后,结果仍然落在 \(\mathrm{span}\{x_0, x_1\}\) 之中,即运算封闭:
则 \(\mathrm{span}\{x_0, x_1\}\) 称为 \(A\) 的不变子空间。此时 \(A\) 限制在这个子空间上是一个二维变换,可以写成矩阵形式(第 \(j\) 列是第 \(j\) 个基矢的像的系数):
不变子空间的价值在于降维:只要初态落在子空间内,我们就不必在完整的 \(N\) 维空间中跟踪演化,而只需在二维平面上分析一个 \(2\times 2\) 矩阵。对 Grover 算法而言,态将始终落在 \(\mathrm{span}\{|x_0\rangle, |s\rangle\}\) 内,因此整个算法约化为平面上的旋转。
子空间性质¶
封闭性与线性组合:子空间中矢量的任意线性组合仍在子空间中。因此,若 \(A\) 保持该子空间,则 \(A\) 的幂以及 \(A\) 的多项式都保持该子空间——这对"反复迭代同一个算子"的算法尤为重要。
特征值与特征矢量:变换限制在子空间上的特征值可以由这个 \(2\times 2\) 矩阵的特征方程求得。特征值不依赖于基的选取(换基是相似变换,特征多项式不变),特征矢量本身则随基的变化而变化。
基不正交的情形:若 \(x_0\) 和 \(x_1\) 线性无关但不正交,我们可以先用 Gram–Schmidt 正交化 (Gram–Schmidt orthogonalization) 构造一组正交归一 (orthonormal) 基,再写矩阵。对酉算子而言,只有在正交归一基下的矩阵才仍是酉矩阵,这样才能进一步把矩阵识别为旋转或反射。
3. Grover 迭代:二维平面上的旋转¶
一次 Grover 迭代 (Grover iteration) 定义为
其中算符乘法按从右到左的顺序作用:先用预言机 \(U_O\),再用扩散算子 \(U_S\)。算法从 \(|s\rangle\) 出发,迭代 \(T\) 次后测量。本节统一记 \(\theta := \arcsin\frac{1}{\sqrt{N}}\)。我们将证明:整个演化被限制在一个二维不变子空间内,且 \(G\) 在该子空间上是旋转变换,每迭代一次把态向目标方向推进 \(2\theta\)。
3.1 公共不变子空间与旋转矩阵¶
Lemma 1. \(\mathrm{span}\{|x_0\rangle, |s\rangle\}\) 是 \(U_O\) 和 \(U_S\) 共同的不变子空间;但 \(|x_0\rangle\) 与 \(|s\rangle\) 不正交。
证明。
Part 1. 我们直接计算两个生成元在算子下的像。一方面,\(U_O|x_0\rangle = 2|x_0\rangle\langle x_0|x_0\rangle - |x_0\rangle = 2|x_0\rangle - |x_0\rangle = |x_0\rangle\);另一方面,\(U_S|s\rangle = 2|s\rangle\langle s|s\rangle - |s\rangle = 2|s\rangle - |s\rangle = |s\rangle\)。两个生成元分别被 \(U_O\)、\(U_S\) 映到自身。
Part 2. 由 \(\langle x_0|s\rangle = \frac{1}{\sqrt{N}}\),
Part 3. 同理,
最后,\(\langle x_0|s\rangle = \frac{1}{\sqrt{N}} \neq 0\),因此两个生成元不正交,\(\{|x_0\rangle, |s\rangle\}\) 不是现成的正交基。Q.E.D.
Lemma 2. 定义
则 \(\{|x_0\rangle, |x_0^\perp\rangle\}\) 是上述子空间的一组正交归一基。
证明。先验证正交性:
再实际计算范数(利用 \(\langle s|s\rangle = 1\)、\(\langle s|x_0\rangle = \langle x_0|s\rangle = \frac{1}{\sqrt{N}}\)、\(\langle x_0|x_0\rangle = 1\)):
因此 \(|x_0^\perp\rangle\) 的范数是 \(\frac{\sqrt{N-1}}{\sqrt{N-1}} = 1\)。由定义反解出
所以 \(\{|x_0\rangle, |x_0^\perp\rangle\}\) 与 \(\{|x_0\rangle, |s\rangle\}\) 张成同一个二维子空间。Q.E.D.
为方便引用,我们把两个关键内积写在一起,并指出它们与 \(\theta\) 的关系:
其中第二个等号用了 \(\sqrt{N} - \frac{1}{\sqrt{N}} = \frac{N-1}{\sqrt{N}}\)。这正是 \(\theta := \arcsin\frac{1}{\sqrt{N}}\) 的来历。
Corollary 3. \(G = U_S U_O\)(同理 \(U_O U_S\))保持该子空间;并且在子空间的正交补 \(\mathcal{H}^\perp = \{v : \langle x_0|v\rangle = \langle s|v\rangle = 0\}\)(维数 \(N-2\))上,\(G\) 是恒等变换。
证明。\(U_O\) 与 \(U_S\) 各自保持该子空间(Lemma 1 的 Part 1–3),复合保持。对 \(v \in \mathcal{H}^\perp\):\(\langle x_0|v\rangle = 0\) 给出 \(U_O|v\rangle = -|v\rangle\);\(\langle s|v\rangle = 0\) 给出 \(U_S|v\rangle = -|v\rangle\);于是 \(G|v\rangle = U_S(U_O|v\rangle) = (-1)(-1)|v\rangle = |v\rangle\)。Q.E.D.
这个推论说明:算法的初态 \(|s\rangle\) 完全落在二维子空间内,且演化永远不会离开;其余 \(N-2\) 个维度从头到尾不参与。因此整个算法的分析只需要一个 \(2\times 2\) 矩阵。
Theorem 4. 在正交归一基 \(\{|x_0\rangle, |x_0^\perp\rangle\}\) 下,
其中 \(\theta = \arcsin\frac{1}{\sqrt{N}}\)。即 \(G\) 是这个平面上角度为 \(\pi - 2\theta\) 的旋转 (rotation),等价地 \(G = -R(-2\theta)\),其中 \(R(\varphi) = \begin{pmatrix}\cos\varphi & -\sin\varphi\\ \sin\varphi & \cos\varphi\end{pmatrix}\) 是标准旋转矩阵。这一旋转图像与 Nielsen & Chuang (QCQI) 第 6.1.2 节(式 6.13–6.14)的分析一致。
证明。分三步。
第一步,计算 \(U_S\) 在两个基矢上的作用。由 Lemma 2 的分解式以及 \(\langle s|x_0\rangle = \frac{1}{\sqrt{N}}\)、\(\langle s|x_0^\perp\rangle = \sqrt{\frac{N-1}{N}}\):
其中最后一个等号用了 \(\frac{2(N-1)}{N} - 1 = \frac{N-2}{N} = 1 - \frac{2}{N}\)。
第二步,计算 \(U_O\)。Part 1 已证 \(U_O|x_0\rangle = |x_0\rangle\);而 \(\langle x_0|x_0^\perp\rangle = 0\)(Lemma 2)给出
第三步,按"\(U_O\) 先、\(U_S\) 后"的顺序合成:
把两个像的系数依次写成矩阵的第 1、2 列,即得定理中的第一个矩阵。
最后把它识别为旋转。直接验证
所以这四个元素确实具有旋转矩阵的形状。取 \(\theta = \arcsin\frac{1}{\sqrt{N}}\)(从而 \(\cos\theta = \sqrt{\frac{N-1}{N}}\)),由倍角公式
于是矩阵可写成 \(\begin{pmatrix}-\cos 2\theta & -\sin 2\theta\\ \sin 2\theta & -\cos 2\theta\end{pmatrix}\)。它既等于 \(R(\pi - 2\theta)\)(因为 \(\cos(\pi - 2\theta) = -\cos 2\theta\)、\(\sin(\pi - 2\theta) = \sin 2\theta\)),也等于 \(-R(-2\theta)\)。Q.E.D.
从几何上看这个结果很自然:\(U_O\) 是关于 \(|x_0\rangle\) 轴的反射 (reflection),\(U_S\) 是关于 \(|s\rangle\) 轴的反射,而两个反射的复合必为旋转,旋转角等于两轴夹角的两倍。两轴夹角 \(\varphi\) 满足 \(\cos\varphi = \langle x_0|s\rangle = \frac{1}{\sqrt{N}}\),即 \(\varphi = \frac{\pi}{2} - \theta\),故旋转角为 \(2\varphi = \pi - 2\theta\),与矩阵结果完全一致。
3.2 成功概率与最优迭代次数¶
Theorem 5. 从 \(|s\rangle\) 出发迭代 \(T\) 次后,测得 \(x_0\) 的概率精确等于
证明。记 \(|\psi(\alpha)\rangle := \sin\alpha\,|x_0\rangle + \cos\alpha\,|x_0^\perp\rangle\);由 Lemma 2,初态 \(|s\rangle = |\psi(\theta)\rangle\)。用 Theorem 4 的矩阵(即 \(G = -R(-2\theta)\))作用于坐标 \((\sin\alpha, \cos\alpha)^T\):
第一分量为 \(-\cos 2\theta\sin\alpha - \sin 2\theta\cos\alpha = -\sin(\alpha + 2\theta)\);
第二分量为 \(\sin 2\theta\sin\alpha - \cos 2\theta\cos\alpha = -\cos(\alpha + 2\theta)\)。
(两行分别用了和角公式 \(\sin(a+b) = \sin a\cos b + \cos a\sin b\) 与 \(\cos(a+b) = \cos a\cos b - \sin a\sin b\)。)因此
每迭代一次,角度推进 \(2\theta\),代价是一个全局相位 \(-1\);由于算法的态始终位于该二维子空间内,这个符号在测量概率中完全不可观测。迭代 \(T\) 次即得
目标振幅为 \((-1)^T\sin((2T+1)\theta)\),概率为 \(\sin^2((2T+1)\theta)\)。Q.E.D.
我们也可以按坐标直接展开,这能看清楚"大 \(N\) 近似"的来源。由 \(G^T = (-1)^T R(-2T\theta)\) 与 \(|s\rangle = \frac{1}{\sqrt{N}}|x_0\rangle + \sqrt{\frac{N-1}{N}}|x_0^\perp\rangle\):
其中第二个等号就是和角公式 \(\sin(\theta + 2T\theta) = \sin\theta\cos 2T\theta + \cos\theta\sin 2T\theta\)。当 \(N \gg 1\) 时,\(\sqrt{\frac{N-1}{N}} \approx 1\) 且 \(\frac{1}{\sqrt{N}} \approx 0\),于是
这正是"\(\sqrt{N-1} \gg 1\),因此振幅 \(\sim \sin(2T\theta)\)"这一近似的严格含义。另一个极端是小角度情形:当 \((2T+1)\theta \ll 1\) 时,\(\sin((2T+1)\theta) \approx (2T+1)\theta \approx \frac{2T+1}{\sqrt{N}}\),即最初的若干次迭代中目标振幅近似线性增长,每迭代一次增加约 \(\frac{2}{\sqrt{N}}\)。
Corollary 6. 取
(\(\theta\) 小时后者成立;实际取最接近的整数),则测得 \(x_0\) 的概率至少为 \(1 - \frac{1}{N}\)。因此 Grover 算法用 \(O(\sqrt{N})\) 次预言机查询找到目标条目。
证明。要最大化 \(\sin^2((2T+1)\theta)\),应取 \((2T+1)\theta\) 尽可能接近 \(\frac{\pi}{2}\),解出 \(T = \frac{\pi/2 - \theta}{2\theta} = \frac{\pi}{4\theta} - \frac{1}{2}\);再由小角度近似 \(\theta = \arcsin\frac{1}{\sqrt{N}} \approx \frac{1}{\sqrt{N}}\) 得 \(T \approx \frac{\pi}{4}\sqrt{N}\)。由于 \(T\) 只能取整数、而 \((2T+1)\theta\) 随 \(T\) 变化的步长是 \(2\theta\),取最接近的整数保证 \(|(2T+1)\theta - \frac{\pi}{2}| \le \theta\),于是
Q.E.D.
4. 从 Grover 到振幅放大¶
4.1 去随机化:从随机重启到相干演化¶
经典的随机搜索是这样工作的:每次独立地、均匀随机地查询一个条目,单次命中目标 \(x_0\) 的概率为 \(p = \frac{1}{N}\);未命中就丢弃结果、随机重启。由几何分布,平均需要 \(\frac{1}{p} = \Theta(N)\) 次查询才能成功。这类算法的本质是"随机尝试 + 后选择 (post-selection)":把成功的希望寄托在随机性上。
Grover 算法可以看作对这个过程的去随机化 (derandomization):我们把"随机重启"替换为相干的酉演化。量子态不再以概率 \(p\) "落在"目标上,而是以振幅 \(\frac{1}{\sqrt{N}}\) 叠加在目标方向上;每一步 Grover 迭代都在同一个二维子空间内、确定性地把态向目标方向旋转 \(2\theta\)。演化过程中没有任何随机选择——随机性被确定性的干涉所取代,查询次数从 \(O(\frac{1}{p})\) 降到 \(O(\frac{1}{\sqrt{p}})\)。
4.2 为什么需要振幅放大¶
量子线路中的每个操作都必须是酉的(可逆的),而许多我们想实现的映射并不是酉的。以量子线性方程组求解器(如 HHL 类算法)为例:给定矩阵 \(A\) 与输入态 \(|b\rangle\),我们想制备
也就是实现线性映射 \(|b\rangle \mapsto A^{-1}|b\rangle\)。然而 \(A^{-1}\) 通常不是幺正的:若 \(A^{-1}\) 幺正,则它的逆 \(A\) 也幺正(幺正算子的逆仍是幺算子),等价于 \(A^\dagger A = I\);一般矩阵并不满足这一条件。因此我们不能把 \(A^{-1}\) 直接做成一个量子门。
实现"非幺正映射"的标准办法是引入辅助寄存器,把非幺正性转移到一个可以后选择的标志比特上:
其中 \(|x\rangle\) 与 \(|\mathrm{garbage}\rangle\) 都是归一化态,整个 \(U_{A^{-1}}\) 是酉的。测量第二个寄存器:若得到 \(|0\rangle\)(概率为 \(p\)),第一个寄存器恰好坍缩到我们想要的 \(|x\rangle\),算法成功;若得到 \(|1\rangle\),得到的是垃圾态,只能整体重来。朴素策略下,我们平均需要重复 \(O(\frac{1}{p})\) 次测量才能获得正确的结果。
振幅放大 (amplitude amplification) 把 \(O(\frac{1}{p})\) 降为 \(O(\frac{1}{\sqrt{p}})\)。这就是我们需要它的原因:任何"以概率 \(p\) 成功的量子子过程"都可以被二次加速。
4.3 Grover 与振幅放大的关系¶
我们可以把 Grover 搜索写成上述框架:把一层 Hadamard 变换视为子程序 \(U = H^{\otimes n}\),它把 \(|0\rangle\) 制备成均匀叠加 \(|s\rangle\);把"成功"定义为结果落在目标方向上,即好态取 \(|x_0\rangle\)。于是单次运行的成功概率为
朴素做法是"制备—测量"重复 \(O(\frac{1}{p}) = O(N)\) 次;振幅放大把它降到 \(O(\frac{1}{\sqrt{p}}) = O(\sqrt{N})\) 次,与第 3 节 Corollary 6 的 \(T \approx \frac{\pi}{4}\sqrt{N}\) 一致。
作为具体例子,取 \(N = 4\):
此时 \(\theta = \arcsin\frac{1}{2} = 30^\circ\),一次迭代后 \((2T+1)\theta = 90^\circ\),成功率恰为 \(1\)。我们也可以把振幅逐步算出来验证。初始四个振幅均为 \(\frac{1}{2}\);\(U_O\)(保持目标、翻转其余)给出
接着 \(U_S = 2|s\rangle\langle s| - I\) 把每个振幅 \(a_x\) 映为 \(2\bar{a} - a_x\),其中 \(\bar{a} = \frac{1}{N}\sum_x a_x = -\frac{1}{4}\) 是振幅的平均值(这就是"关于平均值的翻转"):
一次迭代后态为 \(-|1\rangle\)(多出的负号是全局相位),测量必得目标条目。
4.4 振幅放大的理论¶
Proposition 1. 设酉算子 \(U\) 满足
其中 \(|\mathrm{good}\rangle\) 与 \(|\mathrm{bad}\rangle\) 都归一化,第二个寄存器是标志比特。那么存在一个只调用 \(U\) 与 \(U^\dagger\) 共 \(O(\frac{1}{\sqrt{p}})\) 次的算法,以至少 \(\max(p, 1-p) \ge \frac{1}{2}\) 的概率制备出 \(|\mathrm{good}\rangle\);把该算法重复 \(O(\log\frac{1}{\delta})\) 次,成功概率可以提升到 \(1 - \delta\)。下面的 Lemma 2、Lemma 3、Theorem 4 给出构造与证明。
注意:振幅放大实现的映射是 \(|0\rangle|0\rangle \mapsto |\mathrm{good}\rangle|0\rangle\),而不是 \(|\psi\rangle \mapsto |\mathrm{good}\rangle|0\rangle\)。它是一个以 \(U\) 为子过程的过程:把 \(U\) 嵌入一个更大的算法中,共调用 \(O(\frac{1}{\sqrt{p}})\) 次,从而制备出 \(|\mathrm{good}\rangle\)。
构造需要两个反射。第一个是关于 \(|\psi\rangle\) 的反射
右端的等式说明:只要能实现 \(U\) 与 \(U^\dagger\),就能实现 \(U_S\)。第二个是标志 Oracle,它翻转好态的相位:
其中 \(\Pi_{\mathrm{good}}\) 是向好子空间的投影(在二维情形 \(\Pi_{\mathrm{good}} = |\mathrm{good}\rangle|0\rangle\langle 0|\langle\mathrm{good}|\))。它与 Grover 部分的 \(U_O = 2|x_0\rangle\langle x_0| - I\) 恰好相差一个整体符号;两种约定给出的迭代互为相反数,只差全局相位,不影响任何结论。振幅放大的迭代取为 \(Q = U_S U_O\):先用 \(U_O\),再用 \(U_S\),与 Grover 迭代结构相同。为书写简便,记
则 \(|\psi\rangle = \sqrt{p}\,|g\rangle + \sqrt{1-p}\,|b\rangle = \sin\omega\,|g\rangle + \cos\omega\,|b\rangle\),且 \(\langle\psi|g\rangle = \sqrt{p}\)、\(\langle\psi|b\rangle = \sqrt{1-p}\)。
Lemma 2. \(\mathrm{span}\{|g\rangle, |b\rangle\}\) 是 \(U_S\) 与 \(U_O\) 的公共不变子空间,并且在正交归一基 \(\{|g\rangle, |b\rangle\}\) 下
证明。\(U_O\) 翻转好态、保持坏态:\(U_O|g\rangle = -|g\rangle\)、\(U_O|b\rangle = |b\rangle\),这给出第一个矩阵。对 \(U_S\),我们把两个基矢的像实际算出来:
其中第二个式子 \(|b\rangle\) 的系数用了 \(2(1-p) - 1 = 1 - 2p\)。两个像都落在子空间内,把系数写成列即得第二个矩阵。Q.E.D.
Lemma 3. \(Q = U_S U_O\) 在基 \(\{|g\rangle, |b\rangle\}\) 下是旋转矩阵
证明。做矩阵乘法(右乘 \(\mathrm{diag}(-1, 1)\) 相当于把第一列取反):
验证它具有旋转的形状:\((1-2p)^2 + 4p(1-p) = 1 - 4p + 4p^2 + 4p - 4p^2 = 1\)。取 \(\omega = \arcsin\sqrt{p}\),由倍角公式
所以 \(Q\) 是角度为 \(-2\omega\) 的旋转(旋转的幅度是 \(2\omega\))。当 \(p \ll 1\) 时,由 \(\arcsin x = x + O(x^3)\) 得 \(\omega \approx \sqrt{p}\),即每次迭代把态旋转约 \(2\sqrt{p}\)——这就是"小 \(p\) 时角度 \(\sim \sqrt{p}\)"这一近似的来源。Q.E.D.
Theorem 4. 取
(实际取最接近的整数),则 \(Q^n|\psi\rangle\) 落在 \(|g\rangle\) 上的概率至少为 \(1 - p\)。因此,\(O(\frac{1}{\sqrt{p}})\) 次 \(U\) 调用就能以高概率制备出 \(|\mathrm{good}\rangle\)。
证明。与 Grover 部分 Theorem 5 的计算完全相同。记 \(|\varphi(\alpha)\rangle := \sin\alpha\,|g\rangle + \cos\alpha\,|b\rangle\),初态 \(|\psi\rangle = |\varphi(\omega)\rangle\)。由 \(Q = R(-2\omega)\),
即 \(Q|\varphi(\alpha)\rangle = |\varphi(\alpha + 2\omega)\rangle\),每迭代一次角度推进 \(2\omega\)。迭代 \(n\) 次:
成功概率为 \(\sin^2((2n+1)\omega)\)。要让它接近 \(1\),取 \((2n+1)\omega \approx \frac{\pi}{2}\),解出 \(n = \frac{\pi/2 - \omega}{2\omega} = \frac{\pi}{4\omega} - \frac{1}{2} \approx \frac{\pi}{4\sqrt{p}}\)(用 \(\omega \approx \sqrt{p}\))。把 \(n\) 四舍五入到最近的整数带来的偏差至多是 \(\omega\),因此成功概率至少为 \(\cos^2\omega = 1 - \sin^2\omega = 1 - p\)。每次迭代需要一次 \(U\) 与一次 \(U^\dagger\)(用来合成 \(U_S\)),故总的调用次数是 \(O(\frac{1}{\sqrt{p}})\)。Q.E.D.
对 Grover 搜索套用本节结果:\(p = \frac{1}{N}\),\(\omega = \arcsin\frac{1}{\sqrt{N}} = \theta\),迭代次数 \(\approx \frac{\pi}{4}\sqrt{N}\)——与 Corollary 6 完全一致。
练习题¶
练习 1【无结构搜索与两个核心算子】(→ 第 1 节)
写出 \(n=3\)(\(N=8\))时均匀叠加态 \(|s\rangle\) 的表达式与预言机 \(U_O = 2|x_0\rangle\langle x_0| - I\) 的定义,计算 \(\langle x_0|s\rangle\) 与 \(\sqrt{\frac{N-1}{N}}\),并把 \(|s\rangle\) 写成 \(\frac{1}{\sqrt{N}}|x_0\rangle + \sqrt{\frac{N-1}{N}}\,|x_0^\perp\rangle\) 的形式。
说明约定 \(U_O = 2|x_0\rangle\langle x_0| - I\) 与"翻转目标相位"约定 \(I - 2|x_0\rangle\langle x_0|\) 相差整体符号 \(-1\),并解释为什么由此得到的两个 Grover 迭代只差全局相位、不影响任何测量概率。
验证 \(U_S = H^{\otimes n}(2|0\rangle\langle 0| - I)H^{\otimes n} = 2|s\rangle\langle s| - I\),并证明 \(U_O\) 与 \(U_S\) 都是幺正算子。
提示:幺正性可对归一化态 \(|\psi\rangle\) 直接展开 \(\left(2|\psi\rangle\langle\psi| - I\right)^2 = I\)。
练习 2【不变子空间:降维分析工具】(→ 第 2 节)
设 \(x_0, x_1\) 线性无关,\(Ax_0 = 2x_0 + x_1\),\(Ax_1 = x_0 - x_1\)。写出 \(A\) 限制在 \(\mathrm{span}\{x_0, x_1\}\) 上的矩阵,并说明该子空间是 \(A\) 的不变子空间。
证明:若子空间 \(\mathcal{H}\) 在 \(A\) 下不变,则 \(\mathcal{H}\) 在 \(A\) 的任意次幂以及任意多项式 \(f(A)\) 下也不变;并解释这一性质对"反复迭代同一个算子 \(G\)"的算法为什么重要。
提示:先对 \(k\) 归纳证明 \(A^k x \in \mathcal{H}\),再利用子空间对线性组合的封闭性。
练习 3【二维不变子空间与 Grover 旋转矩阵】(→ 3.1 节)
证明 \(U_O|x_0\rangle = |x_0\rangle\)、\(U_O|x_0^\perp\rangle = -|x_0^\perp\rangle\),并写出 \(U_O\) 在正交归一基 \(\{|x_0\rangle, |x_0^\perp\rangle\}\) 下的矩阵。
取 \(N = 4\):算出 \(\theta\),逐一算出 Theorem 4 中旋转矩阵的四个元素,并验证矩阵每一列的范数都是 1。
用"两个反射的复合是旋转、旋转角等于两反射轴夹角的两倍"解释 \(U_S U_O\) 的旋转角为何是 \(\pi - 2\theta\),并判断 \(U_O U_S\) 的旋转角与旋转方向。
提示:两反射轴 \(|x_0\rangle\) 与 \(|s\rangle\) 的夹角 \(\varphi\) 满足 \(\cos\varphi = \langle x_0|s\rangle = \frac{1}{\sqrt{N}}\)。
练习 4【成功概率与最优迭代次数】(→ 3.2 节)
取 \(N = 1024\):用 \(\theta \approx \frac{1}{\sqrt{N}}\) 估算最优迭代次数 \(T \approx \frac{\pi}{4}\sqrt{N}\)(取最接近的整数),并写出此时成功概率的理论下界 \(1 - \frac{1}{N}\) 的数值。
证明:若把迭代次数加倍(取 \(T' = 2T\),其中 \(T\) 使 \((2T+1)\theta \approx \frac{\pi}{2}\)),成功概率反而回落到约 \(\frac{1}{N}\);据此说明为什么运行 Grover 算法之前需要(近似)知道 \(N\)。
提示:\((4T+1)\theta = 2(2T+1)\theta - \theta \approx \pi - \theta\),再用 \(\sin(\pi - \theta) = \sin\theta\)。
练习 5【去随机化:从随机重启到相干演化】(→ 4.1 节)
经典随机搜索单次命中概率 \(p = \frac{1}{N}\)。说明平均需要 \(\frac{1}{p} = N\) 次查询,并计算 \(N = 10^6\) 时经典查询次数与 Grover 的 \(\frac{\pi}{4}\sqrt{N}\) 次之比。
解释"随机尝试 + 后选择"与 Grover 的相干演化在随机性出现位置上的本质区别,并说明量子态以振幅 \(\frac{1}{\sqrt{N}}\)(而非概率 \(\frac{1}{N}\))叠加在目标方向上,为什么使得干涉式加速成为可能。
提示:对比"未命中就丢弃结果、随机重启"与"演化过程中没有任何随机选择"两种机制。
练习 6【为什么需要振幅放大】(→ 4.2 节)
写出用辅助寄存器与后选择实现非幺正映射的标准形式 \(U_{A^{-1}}|b\rangle|0\rangle = \sqrt{p}\,|x\rangle|0\rangle + \sqrt{1-p}\,|\mathrm{garbage}\rangle|1\rangle\),并计算 \(p = 0.01\) 时朴素重复的平均测量次数与振幅放大所需调用次数的对比。
证明:若 \(A^{-1}\) 是幺正的,则 \(A\) 也是幺正的;据此说明映射 \(|b\rangle \mapsto A^{-1}|b\rangle\) 一般不能直接做成一个量子门。
提示:用 \((A^{-1})^\dagger = (A^\dagger)^{-1}\) 与幺正刻画 \(U^\dagger = U^{-1}\)。
练习 7【Grover 与振幅放大的关系】(→ 4.3 节)
指出把 Grover 搜索写成振幅放大框架时的子程序 \(U\)、好态 \(|\mathrm{good}\rangle\) 与成功概率 \(p\),并验证 \(p = |\langle x_0|U|0\rangle|^2 = \frac{1}{N}\)。
证明 \(U_S = 2|s\rangle\langle s| - I\) 把任意态的振幅 \(a_x\) 映为 \(2\bar{a} - a_x\)(\(\bar{a} = \frac{1}{N}\sum_x a_x\),即"关于平均值的翻转");再对 \(N=4\)、\(x_0=1\) 从初始振幅 \((\frac12,\frac12,\frac12,\frac12)\) 出发完成一次完整迭代,验证结果为 \(\pm|1\rangle\)。
提示:\(\langle s|\psi\rangle = \sqrt{N}\,\bar{a}\),因为 \(|s\rangle\) 的每个分量都是 \(\frac{1}{\sqrt{N}}\)。
练习 8【振幅放大的理论】(→ 4.4 节)
在基 \(\{|g\rangle, |b\rangle\}\) 下写出 \(U_O = I - 2\Pi_{\mathrm{good}}\) 与 \(U_S = 2|\psi\rangle\langle\psi| - I\) 的矩阵,取 \(p = \frac14\) 算出 \(Q = U_S U_O\) 的四个元素,并指出 \(Q\) 是哪个角度的旋转。
仿照第 3 节 Theorem 5 的推导证明 \(Q|\varphi(\alpha)\rangle = |\varphi(\alpha + 2\omega)\rangle\)(\(\omega = \arcsin\sqrt{p}\)),并由此推出取 \(n \approx \frac{\pi}{4\sqrt{p}}\) 时成功概率至少 \(1 - p\);说明每次迭代为何需要一次 \(U\) 与一次 \(U^\dagger\)。
提示:把 \(R(-2\omega)\) 作用于坐标 \((\sin\alpha, \cos\alpha)^T\),用和角公式合并。