HHL 算法(Harrow-Hassidim-Lloyd Algorithm)由 Aram Harrow、Avinatan Hassidim 和 Seth Lloyd 于 2009 年提出,是量子计算领域的一项奠基性成果。它展示了量子计算机能够在关于 的多项式时间内求解线性方程组 ——而这是科学计算、机器学习和工程中最基本且最高频的问题之一。
问题背景:线性方程组为何重要
线性方程组 (其中 ,)几乎出现在所有定量学科中:
- 机器学习:最小二乘回归、高斯过程、核方法的求解核心
- 科学计算:有限元分析、流体模拟、电磁场计算
- 优化:牛顿法的每一步都涉及线性方程组
- 经济学:投入产出模型、均衡分析
在经典计算一侧,高斯消元法(Gaussian elimination)的复杂度为 。对于稀疏矩阵(sparse matrix),共轭梯度法(conjugate gradient)等迭代法每次迭代的代价为 ( 为每行非零元个数的上界),迭代次数为 ,其中 是条件数(condition number),即最大与最小特征值之比;因此总代价为 ,保守估计常写作 。当 达到 或更高时,计算代价极为可观。
HHL 算法在特定条件下将复杂度降低至 ——对 实现了指数级加速。
核心思想
HHL 算法的关键洞见在于:利用量子态编码信息的方式,将矩阵求逆转化为相位估计 + 受控旋转的量子操作。
直观理解如下:
- 将向量 编码为量子态 ;
- 利用量子相位估计(Quantum Phase Estimation, QPE)将矩阵 的特征值读出并写入辅助寄存器;
- 对特征值的倒数做受控旋转,把因子 写入辅助量子比特的振幅;
- 逆向执行相位估计以清空辅助寄存器,得到 。
整个过程避免了显式构造 或逐元素求解——量子并行性使得所有特征分量被同时处理。
前提条件与问题形式化
HHL 算法需要以下前提:
- 厄米性与稀疏性:矩阵 是厄米(Hermitian)矩阵,且是 -稀疏的,即 ,并且每行、每列至多有 个非零元素。厄米性保证 是酉算子,从而可以出现在量子电路中;稀疏性则保证模拟代价只依赖 而非 。算法需要一个量子预言机(oracle) 能高效实现 。若 非厄米但可逆,我们可以转而求解扩大一倍的系统:取 与 ,直接验证 ,即解的下半块恰为 。
- 可逆性: 是可逆的,即 不是 的特征值(;以下默认特征值均为正,否则用模长讨论)。
- 条件数: 不是指数级大的。
- 输出需求:目标是提取 的某些全局量(如 ),而非读出所有分量 。
需要强调的是:HHL 算法不直接输出经典向量 。读出全部分量需要 次测量,完全抵消量子加速。它的优势体现在提取汇总信息时。
算法步骤详解
令 ,所需量子比特如下:
| 寄存器 | 量子比特数 | 用途 |
|---|---|---|
| 寄存器 B(工作寄存器) | 编码向量 和 | |
| 寄存器 C(时钟寄存器) | 相位估计,存储特征值的二进制近似 | |
| 辅助量子比特 | 1 | 受控旋转,标记成功 |
第一步:初始化
我们将寄存器 B 初始化为归一化的 :
其中 。若 本身可高效制备(如某些标准输入态),此步代价为 。
第二步:量子相位估计(QPE)
QPE 是算法的核心引擎。设 :由 厄米可知 酉,且对每个特征态有 。取 的谱分解并将 在特征基下展开:
我们选演化时间 满足 ,使相位 。对初态 执行 QPE(电路与逐步推导见”理论推导”一节),得到
其中寄存器 C 存储整数 的二进制表示( 表示取最近整数;当 恰为 比特二进制小数时该式精确成立)。为使记号与特征值同一量纲,我们定义换算后的特征值估计
由 可知 ,即误差不超过半个最小刻度。下文为记号简洁,把 一律简记为 。
时钟比特数 由精度要求决定。由”近似误差”一节的分析,要把解的相对误差控制在 ,需要 。
第三步:受控旋转(特征值倒数的制备)
我们采用如下旋转门约定:
我们希望辅助比特 分量的振幅等于 ,为此须有 ,即旋转角为
其中 (常取 )保证 ,角度有定义;此时 分量的振幅自动为 ,与目标一致。于是系统演化为
此旋转的电路实现方式(尤其是”逐位近似”的适用范围)在”受控旋转的精确构造”一节详细讨论。
第四步:逆量子相位估计(Uncompute QPE)
我们把 QPE 的电路倒序执行——先做逆 QFT,再逆向执行各受控 ,最后再做一层 Hadamard——从而把寄存器 C 还原回 :
这一步消除了寄存器 C 与寄存器 B 之间关于特征值的纠缠,使工作寄存器不再与”时钟”纠缠。
第五步:测量辅助量子比特
我们测量辅助量子比特。由于各分支 相互正交,测得 (成功)的概率是各分支概率之和:
成功时寄存器 B 坍缩为(归一化后)
验证:由 逐项作用可得 ;在理想情形(相位精确、)下两个表达式完全一致,因此 确实正比于 。
理论推导
QPE 的数学原理
我们先对单一特征态推导 QPE 的作用,再由线性性推广到叠加态。为方便书写,本小节把时钟寄存器放在左边,讨论态 (寄存器顺序不影响结论)。
第一层:Hadamard。 对每个时钟比特作用 ,利用 , 个比特的张量积展开为均匀叠加:
其中整数 的二进制展开记为 (),且 。
第二层:受控幂次。 对第 个时钟比特施加受控- 门。由 归纳可得 :每作用一次 就给 乘上一个相位因子,共作用 次。于是任一基态分量变换为
这里关键的合并步骤是指数相乘:只有取值为 的比特触发旋转,各相位因子相乘时指数相加,,而 恰是二进制展开还原出的整数 。叠加态整体变为
第三步:识别为 QFT 的像。 量子傅里叶变换(Quantum Fourier Transform, QFT)定义为 。若 恰为整数 ,把 代入定义即见上式中时钟寄存器的状态恰为 。
第四步:逆 QFT 读出。 对寄存器 C 作用 。由 的酉性()精确恢复 ,寄存器 C 中出现 的 比特二进制表示。
一般情形: 非整数。 此时测量寄存器 C 得到 的振幅为
(推导:,与相位态内积即得上式。)用等比级数求和公式(两端同乘公比后错项相消)得闭式
因此 。取 为最近整数(),利用 于 (由 在 上的凹性,函数在连接 与 的弦之上)以及 ,我们得到
也就是说,相位估计以至少 的概率给出 的最近 比特近似;失败分支带来的扰动可以通过在目标精度之外多加 个时钟比特压到 。
线性推广。 对一般叠加态 ,QPE 对每一项独立地执行上述变换,故得到第二步所述的 (以高概率)。相应地,逆 QPE 就是把电路倒序执行,把 映回 ,从而解除纠缠。
受控旋转的精确构造
我们需要实现的酉算子是
即角度为 的多受控 门。注意量纲:角度以弧度计, 与 必须是同一尺度下的特征值;若寄存器存的是整数 ,则公式中每处 都要乘同一换算因子 ,而角度本身不变。
逐位实现的思路与局限。 的角度具有可加性:因为 与 是同一生成元 的指数,故
因此,若对寄存器 C 的第 个比特施加角度为固定常数 的受控 ,则实际施加的总角度是比特的线性函数
一种流传较广的表述是”第 个比特控制的旋转角度取 “,其意图是让只有第 位为 时角度正确,即 。这个赋值在 恰为 的幂时是精确的,但一般并不正确:其一,按此写法每个 仍依赖寄存器中的值 ,而逐位受控门的固定角度必须是事先确定的常数,量纲上不能自洽;其二, 关于比特不是线性函数,各比特贡献的角度相加并不等于所需的总角度。我们用一个具体数值展示偏差:取 、、换算后 (比特 均为 )。逐位方案的总角为 ,辅助比特 分量的振幅为 ;而正确值应为 ,误差很大。
标准的正确做法有三种。
- 角度经可逆算术计算。 新增一个角度寄存器,用可逆经典算术电路计算 (除法可用牛顿迭代化为乘法与加减),再计算 ——可以利用收敛幂级数 (;在 接近 处收敛较慢,实际宜用切比雪夫多项式逼近)——然后执行一次以角度寄存器控制的 ,最后反计算(uncompute)角度寄存器。总代价是 个门,这是文献中通用的技术路线。
- 小规模演示电路。 当 较小时(教学例子中 ),可以对每个可能的 用经典计算机预先算出 ,用一组多受控 门实现,共 个门。演示性实现(如 Qiskit 教材中的 HHL 例子)常这样做,但门数随 指数增长,不适用于大规模计算。
- 多项式滤波。 更现代的做法是不逐特征值旋转,而是用多项式整体逼近函数 并与相位估计配合直接缩放振幅,这正是 Childs–Kothari–Somma(2017)与量子奇异值变换所走的路线,详见本百科的下一篇教程。
成功概率与后选择
由第五步之前的态,测得辅助比特为 的概率为
其中用到 (近似误差足够小时)与归一化条件 。取 即得
独立重复 次至少成功一次的概率为 (最后一步用了 )。因此取 就能以至少 的概率成功;使用振幅放大(amplitude amplification)可以把重复次数进一步降到 ,代价是要求整个 HHL 电路能够相干地反演执行。注意无论哪种方式,对 的依赖都是多项式级的,不是指数级的。
稀疏矩阵的哈密顿量模拟
HHL 要求高效实现 ,这属于哈密顿量模拟(Hamiltonian simulation)问题。对 -稀疏的厄米矩阵 ,我们有两个基本工具。
其一,切片恒等式。由指数律,对任意正整数 有
这是精确的代数恒等式;其意义在于把单步演化时间从 缩短为 ,使每一步内乘积公式的误差可控。
其二,乘积公式(Lie–Trotter–Suzuki 分解)。先把 拆成 -稀疏矩阵(每行每列至多一个非零元)之和:。做法是把 的非零元看成二部图(左部为行、右部为列)的边;由 König 边染色定理,最大度不超过 的二部图的边可以分成 个匹配,每个匹配对应的矩阵恰是 -稀疏的。对每个小步 ,一阶 Trotter 公式给出近似
其误差由 Baker–Campbell–Hausdorff 展开控制:对厄米算子 ,,故 。对 项求和,每个小步的误差为 ( 为最大元绝对值,用于界定交换子范数), 个小步累加后总误差为
要它不超过模拟精度 ,需 。每个 因 -稀疏而可用 个门实现,故一阶方法总门数为 量级。高阶 Suzuki 乘积公式以及 Berry 等人(2015)的截断泰勒级数方法把模拟代价进一步改进到 ;复杂度分析中采用的就是这一最优界。
量子电路结构
完整的 HHL 电路可表示为:
|0⟩_B ─── 初始化|b⟩ ─────────────────────────────────── 测量⟨M⟩
│ ↑
|0⟩_C ─── H⊗m ─── ctrl-U^(2^k) ─── QPE⁻¹ ───|0⟩ (解纠缠)
│
|0⟩_aux ───────────── ctrl-Ry(θ) ─── 测量 ──→ 后选择
关键子电路说明:
- 初始化:若 有结构(如均匀叠加态),可用 门实现
- 受控-:共 个不同的受控幂次,每个需要稀疏哈密顿量模拟(Suzuki 分解或泰勒级数方法)
- 逆 QPE:逆向执行 QPE 电路,门数与正向相同
- 受控旋转:按”受控旋转的精确构造”一节实现,通用方案的代价是 个门
具体例子
考虑最简单的非平凡案例, 为 对角矩阵:
精确解:。归一化:,,故归一化向量为 。下面逐走一遍 HHL 流程。
-
初始化:,用一个 门实现。
-
QPE: 是对角矩阵,特征对为 与 。取 、,则相位
都是 比特精确值;换算系数 ,因此寄存器中的整数就是特征值本身。验证相位:,。QPE 精确输出
-
受控旋转:取 。
- 对 :,,必成功;
- 对 :,。
-
逆 QPE + 测量:由于相位精确可表示,逆 QPE 把寄存器 C 干净地还原为 。辅助比特测得 的概率为
它满足下界 (此处 )。测得 后寄存器 B 坍缩为
其中两个振幅的平方分别为 与 ,恰好归一。
验证:测量得 的概率为 ,得 的概率为 ,振幅平方比 ,与经典解的分量比 一致;并且 。
-
提取期望值:若需计算 ,对 施加实现 的电路并测量即可,无需读出全部分量。
复杂度分析
经典方法的复杂度为:
| 经典方法 | 复杂度 |
|---|---|
| 高斯消元法 | |
| 共轭梯度法(稀疏矩阵) |
HHL 的各项开销之间存在明确的相乘关系(总门数 = 单次运行门数 × 重复次数):
| HHL 算法的开销项 | 量级 | 来源 |
|---|---|---|
| 时钟比特数 | 特征值须分辨到相对误差 (见”近似误差”一节) | |
| 单次运行门数 | (一阶乘积公式为 ) | 相位估计的总演化时间 ,乘以稀疏模拟的单次代价 |
| 后选择重复 | 次;使用振幅放大可降至 次 | 成功概率 |
| 总门数 | 朴素后选择:;振幅放大: | 单次运行门数 × 重复次数 |
其中 (态制备与 QFT 还会各贡献 或 的门), 为稀疏度, 为条件数, 抑制了 一类的对数因子。单次运行门数中的 因子来自相位估计:取 、,受控幂次的总演化时间为 (利用 )。
文献中常把原始 HHL 的复杂度引用为 ,其中默认使用了振幅放大。对精度的多项式依赖 正是 Childs–Kothari–Somma(2017)的改进对象——他们用多项式滤波把精度依赖降到 ,见下表。
对比:当 ,,、精度固定时,经典高斯消元需 次操作,而 HHL 的门数是 量级(例如三次多项式约 次门操作)——理论上有多个数量级的加速。
局限性与注意事项
输入问题(Input Problem)
HHL 的加速假定 能高效制备。若 是任意 维向量,制备 本身就需要 操作,抵消了量子优势。只有当 具有结构(稀疏、可高效采样)时,整体加速才成立。
输出问题(Output Problem)
编码了全部解分量,但要读出某个 ,需要以常数概率观察到基态 ,这需要 次测量;完整读出所有分量需要 次。HHL 的优势体现在:
- 计算期望值 ,一次测量即可
- 计算内积
- 采样解的某些分布
条件数依赖
复杂度中 (振幅放大后 )的因子意味着:对病态矩阵(),加速可能被抵消。实际应用中,预处理(preconditioning)能否保持量子兼容性是一个开放问题。
近似误差
比特 QPE 给出的特征值估计满足 。误差向振幅的传播可以显式算出:
其中分母用了 ,分子取 。再化为相对误差需乘以 ,得相对误差 。要它不超过 ,需 ,即 ;它与习惯写法 至多相差一个 因子。除 QPE 外,误差还来自哈密顿量模拟、受控旋转的角度实现与态制备,均为可加性小量,可各自控制到 。
后续发展与应用
算法改进
| 年份 | 贡献 | 改进内容 |
|---|---|---|
| 2009 | HHL 原始论文 | |
| 2015 | Berry et al. | 高阶乘积公式与截断泰勒级数模拟,稀疏模拟门数中 降至 |
| 2017 | Childs, Kothari, Somma | 多项式滤波将精度依赖从 降至 ,并把线性系统纳入更一般的量子线性代数框架 |
| 2020 | Gilyén, Su, Low, Wiebe | 量子奇异值变换(QSVT)统一框架,改进 依赖至 |
应用方向
- 量子机器学习:最小二乘拟合、支持向量机、玻尔兹曼机训练
- 量子化学:求解薛定谔方程的离散化形式
- 有限元分析:结构力学、电磁场模拟的量子加速
- 组合优化:作为子程序用于 SDP 求解器
实验进展
- 自 2013 年以来,光量子平台率先实现了 线性系统的 HHL 演示;此后核磁共振、超导、离子阱等平台先后完成了规模至 的小规模实验验证
- 当前实验规模距实用()仍有显著差距
总结
HHL 算法揭示了量子计算在数值线性代数中的潜力:对稀疏、良态矩阵,可在 时间内求解线性方程组。尽管存在输入/输出瓶颈和条件数依赖,它作为量子算法设计的里程碑,催生了量子机器学习、量子线性代数等蓬勃发展的研究方向。
理解 HHL 不仅有助于把握量子算法的设计范式——相位估计 + 受控旋转 + 后选择——也为理解量子奇异值变换(QSVT)等更现代的统一框架奠定了基础。
参考文献:
- Harrow, A. W., Hassidim, A., & Lloyd, S. (2009). Quantum algorithm for linear systems of equations. Physical Review Letters, 103(15), 150502.
- Berry, D. W., Childs, A. M., Cleve, R., Kothari, R., & Somma, R. D. (2015). Simulating Hamiltonian dynamics with a truncated Taylor series. Physical Review Letters, 114(9), 090502.
- Gilyén, A., Su, Y., Low, G. H., & Wiebe, N. (2019). Quantum singular value transformation and beyond. STOC 2019.
- Nielsen, M. A., & Chuang, I. L. (2010). Quantum Computation and Quantum Information. Cambridge University Press.
参考资料
- 本词条整理自《量子计算算法教程》原文:ch06-scientific-computing/hhl-algorithm-tutorial
- 内容遵循 CC BY-NC-SA 4.0 许可协议