HHL 算法(Harrow-Hassidim-Lloyd Algorithm)由 Aram Harrow、Avinatan Hassidim 和 Seth Lloyd 于 2009 年提出,是量子计算领域的一项奠基性成果。它展示了量子计算机能够在关于 的多项式时间内求解线性方程组 ——而这是科学计算、机器学习和工程中最基本且最高频的问题之一。

问题背景:线性方程组为何重要

线性方程组 (其中 )几乎出现在所有定量学科中:

  • 机器学习:最小二乘回归、高斯过程、核方法的求解核心
  • 科学计算:有限元分析、流体模拟、电磁场计算
  • 优化:牛顿法的每一步都涉及线性方程组
  • 经济学:投入产出模型、均衡分析

在经典计算一侧,高斯消元法(Gaussian elimination)的复杂度为 。对于稀疏矩阵(sparse matrix),共轭梯度法(conjugate gradient)等迭代法每次迭代的代价为 为每行非零元个数的上界),迭代次数为 ,其中 是条件数(condition number),即最大与最小特征值之比;因此总代价为 ,保守估计常写作 。当 达到 或更高时,计算代价极为可观。

HHL 算法在特定条件下将复杂度降低至 ——对 实现了指数级加速

核心思想

HHL 算法的关键洞见在于:利用量子态编码信息的方式,将矩阵求逆转化为相位估计 + 受控旋转的量子操作。

直观理解如下:

  1. 将向量 编码为量子态
  2. 利用量子相位估计(Quantum Phase Estimation, QPE)将矩阵 的特征值读出并写入辅助寄存器;
  3. 对特征值的倒数做受控旋转,把因子 写入辅助量子比特的振幅;
  4. 逆向执行相位估计以清空辅助寄存器,得到

整个过程避免了显式构造 或逐元素求解——量子并行性使得所有特征分量被同时处理。

前提条件与问题形式化

HHL 算法需要以下前提:

  1. 厄米性与稀疏性:矩阵 是厄米(Hermitian)矩阵,且是 -稀疏的,即 ,并且每行、每列至多有 个非零元素。厄米性保证 是酉算子,从而可以出现在量子电路中;稀疏性则保证模拟代价只依赖 而非 。算法需要一个量子预言机(oracle) 能高效实现 。若 非厄米但可逆,我们可以转而求解扩大一倍的系统:取 ,直接验证 ,即解的下半块恰为
  2. 可逆性 是可逆的,即 不是 的特征值(;以下默认特征值均为正,否则用模长讨论)。
  3. 条件数 不是指数级大的。
  4. 输出需求:目标是提取 的某些全局量(如 ),而非读出所有分量

需要强调的是: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 的第 个比特施加角度为固定常数 的受控 ,则实际施加的总角度是比特的线性函数

一种流传较广的表述是”第 个比特控制的旋转角度取 “,其意图是让只有第 位为 时角度正确,即 。这个赋值在 恰为 的幂时是精确的,但一般并不正确:其一,按此写法每个 仍依赖寄存器中的值 ,而逐位受控门的固定角度必须是事先确定的常数,量纲上不能自洽;其二, 关于比特不是线性函数,各比特贡献的角度相加并不等于所需的总角度。我们用一个具体数值展示偏差:取 、换算后 (比特 均为 )。逐位方案的总角为 ,辅助比特 分量的振幅为 ;而正确值应为 ,误差很大。

标准的正确做法有三种。

  1. 角度经可逆算术计算。 新增一个角度寄存器,用可逆经典算术电路计算 (除法可用牛顿迭代化为乘法与加减),再计算 ——可以利用收敛幂级数 ;在 接近 处收敛较慢,实际宜用切比雪夫多项式逼近)——然后执行一次以角度寄存器控制的 ,最后反计算(uncompute)角度寄存器。总代价是 个门,这是文献中通用的技术路线。
  2. 小规模演示电路。 较小时(教学例子中 ),可以对每个可能的 用经典计算机预先算出 ,用一组多受控 门实现,共 个门。演示性实现(如 Qiskit 教材中的 HHL 例子)常这样做,但门数随 指数增长,不适用于大规模计算。
  3. 多项式滤波。 更现代的做法是不逐特征值旋转,而是用多项式整体逼近函数 并与相位估计配合直接缩放振幅,这正是 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(θ) ─── 测量 ──→ 后选择

关键子电路说明:

  1. 初始化:若 有结构(如均匀叠加态),可用 门实现
  2. 受控-:共 个不同的受控幂次,每个需要稀疏哈密顿量模拟(Suzuki 分解或泰勒级数方法)
  3. 逆 QPE:逆向执行 QPE 电路,门数与正向相同
  4. 受控旋转:按”受控旋转的精确构造”一节实现,通用方案的代价是 个门

具体例子

考虑最简单的非平凡案例, 对角矩阵:

精确解:。归一化:,故归一化向量为 。下面逐走一遍 HHL 流程。

  1. 初始化,用一个 门实现。

  2. QPE 是对角矩阵,特征对为 。取 ,则相位

    都是 比特精确值;换算系数 ,因此寄存器中的整数就是特征值本身。验证相位:。QPE 精确输出

  3. 受控旋转:取

    • ,必成功;
  4. 逆 QPE + 测量:由于相位精确可表示,逆 QPE 把寄存器 C 干净地还原为 。辅助比特测得 的概率为

    它满足下界 (此处 )。测得 后寄存器 B 坍缩为

    其中两个振幅的平方分别为 ,恰好归一。

    验证:测量得 的概率为 ,得 的概率为 ,振幅平方比 ,与经典解的分量比 一致;并且

  5. 提取期望值:若需计算 ,对 施加实现 的电路并测量即可,无需读出全部分量。

复杂度分析

经典方法的复杂度为:

经典方法复杂度
高斯消元法
共轭梯度法(稀疏矩阵)

HHL 的各项开销之间存在明确的相乘关系(总门数 = 单次运行门数 × 重复次数):

HHL 算法的开销项量级来源
时钟比特数特征值须分辨到相对误差 (见”近似误差”一节)
单次运行门数(一阶乘积公式为 相位估计的总演化时间 ,乘以稀疏模拟的单次代价
后选择重复 次;使用振幅放大可降至 成功概率
总门数朴素后选择:;振幅放大:单次运行门数 × 重复次数

其中 (态制备与 QFT 还会各贡献 的门), 为稀疏度, 为条件数, 抑制了 一类的对数因子。单次运行门数中的 因子来自相位估计:取 ,受控幂次的总演化时间为 (利用 )。

文献中常把原始 HHL 的复杂度引用为 ,其中默认使用了振幅放大。对精度的多项式依赖 正是 Childs–Kothari–Somma(2017)的改进对象——他们用多项式滤波把精度依赖降到 ,见下表。

对比:当 、精度固定时,经典高斯消元需 次操作,而 HHL 的门数是 量级(例如三次多项式约 次门操作)——理论上有多个数量级的加速。

局限性与注意事项

输入问题(Input Problem)

HHL 的加速假定 能高效制备。若 是任意 维向量,制备 本身就需要 操作,抵消了量子优势。只有当 具有结构(稀疏、可高效采样)时,整体加速才成立。

输出问题(Output Problem)

编码了全部解分量,但要读出某个 ,需要以常数概率观察到基态 ,这需要 次测量;完整读出所有分量需要 次。HHL 的优势体现在:

  • 计算期望值 ,一次测量即可
  • 计算内积
  • 采样解的某些分布

条件数依赖

复杂度中 (振幅放大后 )的因子意味着:对病态矩阵(),加速可能被抵消。实际应用中,预处理(preconditioning)能否保持量子兼容性是一个开放问题。

近似误差

比特 QPE 给出的特征值估计满足 。误差向振幅的传播可以显式算出:

其中分母用了 ,分子取 。再化为相对误差需乘以 ,得相对误差 。要它不超过 ,需 ,即 ;它与习惯写法 至多相差一个 因子。除 QPE 外,误差还来自哈密顿量模拟、受控旋转的角度实现与态制备,均为可加性小量,可各自控制到

后续发展与应用

算法改进

年份贡献改进内容
2009HHL 原始论文
2015Berry et al.高阶乘积公式与截断泰勒级数模拟,稀疏模拟门数中 降至
2017Childs, Kothari, Somma多项式滤波将精度依赖从 降至 ,并把线性系统纳入更一般的量子线性代数框架
2020Gilyén, Su, Low, Wiebe量子奇异值变换(QSVT)统一框架,改进 依赖至

应用方向

  • 量子机器学习:最小二乘拟合、支持向量机、玻尔兹曼机训练
  • 量子化学:求解薛定谔方程的离散化形式
  • 有限元分析:结构力学、电磁场模拟的量子加速
  • 组合优化:作为子程序用于 SDP 求解器

实验进展

  • 自 2013 年以来,光量子平台率先实现了 线性系统的 HHL 演示;此后核磁共振、超导、离子阱等平台先后完成了规模至 的小规模实验验证
  • 当前实验规模距实用()仍有显著差距

总结

HHL 算法揭示了量子计算在数值线性代数中的潜力:对稀疏、良态矩阵,可在 时间内求解线性方程组。尽管存在输入/输出瓶颈和条件数依赖,它作为量子算法设计的里程碑,催生了量子机器学习、量子线性代数等蓬勃发展的研究方向。

理解 HHL 不仅有助于把握量子算法的设计范式——相位估计 + 受控旋转 + 后选择——也为理解量子奇异值变换(QSVT)等更现代的统一框架奠定了基础。


参考文献:

  1. Harrow, A. W., Hassidim, A., & Lloyd, S. (2009). Quantum algorithm for linear systems of equations. Physical Review Letters, 103(15), 150502.
  2. 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.
  3. Gilyén, A., Su, Y., Low, G. H., & Wiebe, N. (2019). Quantum singular value transformation and beyond. STOC 2019.
  4. Nielsen, M. A., & Chuang, I. L. (2010). Quantum Computation and Quantum Information. Cambridge University Press.


参考资料