前置阅读:Deutsch-Jozsa 算法。本词条是相位估计和 Shor 算法的共同基石。
本词条要点:
- 理解量子傅里叶变换 (Quantum Fourier Transform, QFT) 的定义,以及它与经典离散傅里叶变换 (DFT) 的关系。
- 掌握 QFT 的**张量积结构**——它是整个线路实现的核心,也是最精妙的一步推导。
- 学会用受控相位门搭出 规模的 QFT 线路,并与经典 FFT 的 比较。
- 弄清一个初学者最容易困惑的问题:为什么 QFT 不能用来”快速计算傅里叶变换”。
- 为(相位估计)做好准备:QPE 中真正被使用的是逆 QFT。
1. 从经典 DFT 到量子 QFT
回忆经典离散傅里叶变换:给定长度为 的复向量 ,DFT 把它变成另一个长度为 的向量,第 个分量为
它是一个线性变换,写成矩阵就是 的 DFT 矩阵。快速傅里叶变换 (FFT) 把计算它的时间从 压到 。
量子版本的定义方式不同:QFT 不是作用在一个向量上的”计算”,而是一个作用在 个量子比特上的酉算子,它把基矢 (这里把比特串 与它表示的整数 混用)映为
换句话说,QFT 的矩阵元素恰好是 DFT 矩阵的元素(差一个归一化因子 )。因为 DFT 矩阵是酉的,所以 QFT 是合法的量子操作。
一个立刻值得注意的事实:当 ()时,
单比特 QFT 就是 Hadamard 门。这提示我们:QFT 是 Hadamard 变换的”带相位”推广——我们在 D-J 算法里已经体会过 配合相位回踢能做什么,QFT 把这套干涉工具推广到更细的相位分辨率。
2. 最重要的结构:张量积形式
直接看定义式,QFT 似乎把信息”搅”在一起。但一个优美的代数事实是:QFT 的输出态可以精确地写成逐比特的张量积。记 为二进制小数(即 ),则
为什么这个式子成立? 把定义中的 写成二进制 ,则 (二进制小数乘法),于是
注意每个因子只依赖单个 : 时因子为 1, 时因子为 (只有 的低 位进入这个相位——因为 恰好由低 位决定)。把 拆回张量积,就得到上式。推导完毕。
这个形式告诉我们三件事:
- 第 个输出比特只依赖 的低 位所决定的相位 (对第 1 个比特是全部 位)。
- 相位 是若干个 型相位的和,而”给某比特加 的相位”正是受控相位门能做的事。
- 整个变换无需任何纠缠残留——输出是乘积态(在正确的比特顺序下)。QFT 的”复杂性”全部藏在相位里,而不藏在纠缠里。
3. 线路实现
定义受控相位门
标准 QFT 线路对第 1 个比特依次执行:(产生 相位 的叠加)、然后一串受控旋转(把 的精细相位逐级加到 上);对第 2 个比特重复(少一级),以此类推。最后把比特顺序翻转(一排 SWAP 门)。总门数为
而经典 FFT 计算同样大小的变换需要 个基本操作——就”实现这个酉变换”而言,量子线路有指数优势。
4. 手算例子: 的完整走查
取 ,计算 (即 )。按定义():
再按张量积公式(注意二进制小数 、):
对比两式:振幅的模完全一致,但 与 的位置互换了——这正是”最后要加 SWAP”的原因。张量积形式自然给出的是比特倒序 (bit-reversal) 的输出,交换比特顺序后才与定义式逐项吻合。建议读者动手验证 的情形,体会 等相位的来源。
5. 关键澄清:QFT 不是”快速傅里叶变换的量子版”
初学者最常见误解:有了 的 QFT,是不是就能比 FFT 更快地做信号处理?不能,原因有两层:
- 读出障碍:QFT 把 的信息编码在振幅 中。若直接测量输出,得到 的概率是 级别的均匀混合——相位信息(DFT 结果里最有价值的部分)在一次测量中全部丢失。要恢复完整的 需要重复整个流程 次,指数优势荡然无存。
- 输入障碍:要把经典数据 制备成叠加态 本身一般就需要 量级的操作。
那 QFT 有什么用?它的正确用法是作为干涉子程序:先把相位信息回踢到一个基矢的相对相位上(比如经相位估计的受控演化,或 Simon/Shor 中周期函数的相位回踢),再用(逆)QFT 让不同相位的分量发生干涉,把”藏在相位里的周期性”转化为”测量结果中的可读模式”。相位估计正是这一模式最干净的范例。
另一个容易忽略的事实:QFT 作用在计算基矢上时,测量结果的分布完全不变( 等概率地变成所有 的均匀叠加)。QFT 的一切作用都通过改变相对相位来实现——这与 D-J 算法中”干涉发生在最后一步 Hadamard”的图像一脉相承。
本词条总结
- QFT 是 DFT 矩阵对应的酉算子; 时退化为 Hadamard 门,可视为”带相位分辨率的 Hadamard 推广”。
- 核心结构是张量积形式:第 个输出比特只带相位 ,这直接给出 的受控相位线路(输出为比特倒序,需 SWAP 翻转)。
- QFT 不能用来加速经典的傅里叶变换计算(读出障碍 + 输入障碍);它的角色是干涉引擎,服务于相位估计与周期查找。
- 下一篇将看到:相位估计 = 受控幂 + 逆 QFT,请读者留意本词条的线路在彼处”反着用”的样子。
习题
- 写出 的张量积形式,并化简每个相位因子(它们都是 的 8 次单位根)。
- 证明 ,并说明逆 QFT 线路与正 QFT 线路的关系(每个 换成 ,门的顺序倒排)。
- 验证 QFT 把”平移”变成”相位”:证明对任意 ,(模归一化)。这正是相位估计最后一步能读出相位的原理。
- 统计 QFT 线路中受控相位门的角度:证明若允许近似线路(丢弃所有角度小于 的受控旋转),门数可以降到 。
参考资料
- 本词条整理自《量子计算算法教程》原文:ch03-algo-basics/quantum-fourier-transform
- 内容遵循 CC BY-NC-SA 4.0 许可协议