HHL 算法(Harrow-Hassidim-Lloyd Algorithm)由 Aram Harrow、Avinatan Hassidim 和 Seth Lloyd 于 2009 年提出,是量子计算领域的一项奠基性成果。它展示了量子计算机能够在对数时间内求解线性方程组 $A\vec{x} = \vec{b}$——而这是科学计算、机器学习和工程中最基本且最高频的问题之一。
问题背景:线性方程组为何重要
线性方程组 $A\vec{x} = \vec{b}$(其中 $A \in \mathbb{C}^{N \times N}$,$\vec{b} \in \mathbb{C}^N$)几乎出现在所有定量学科中:
- 机器学习:最小二乘回归、高斯过程、核方法的求解核心
- 科学计算:有限元分析、流体模拟、电磁场计算
- 优化:牛顿法的每一步都涉及线性方程组
- 经济学:投入产出模型、均衡分析
经典求解方法中,高斯消元法的复杂度为 $O(N^3)$,即便最优秀的迭代法(如共轭梯度法),对于稠密矩阵仍需 $O(N \cdot \kappa \cdot \log(1/\varepsilon))$ 次迭代($\kappa$ 为条件数)。当 $N$ 达到 $10^6$ 或更高时,计算代价极为可观。
HHL 算法在特定条件下将复杂度降低至 $O(\text{poly}(\log N) \cdot \kappa \cdot \log(1/\varepsilon))$——对 $\log N$ 实现了指数级加速。
核心思想
HHL 算法的关键洞见在于:利用量子态编码信息的方式,将矩阵求逆转化为相位估计 + 受控旋转的量子操作。
直观理解:
- 将向量 $\vec{b}$ 编码为量子态 $|b\rangle = \sum_i b_i |i\rangle$
- 利用量子相位估计(QPE)将矩阵 $A$ 的特征值”读出”到辅助寄存器
- 对特征值的倒数进行受控旋转,实现 $1/\lambda_j$ 的乘法
- 逆向相位估计”清空”辅助寄存器,得到 $|x\rangle \propto A^{-1}|b\rangle$
整个过程避免了显式构造 $A^{-1}$ 或逐元素求解——量子并行性使得所有特征分量被同时处理。
前提条件与问题形式化
HHL 算法需要以下前提:
- 稀疏性:矩阵 $A$ 是 $s$-稀疏的,即每行/列至多有 $s$ 个非零元素。算法需要一个”量子预言机” $U_A$ 能高效实现 $e^{iAt}$
- 可逆性:$A$ 是可逆的($\lambda_{\min} > 0$)
- 条件数:$\kappa = \lambda_{\max}/\lambda_{\min}$ 不是指数级大的
- 输出需求:目标是从 $|x\rangle$ 中提取某些全局量(如 $\langle x|M|x\rangle$),而非读出所有 $x_i$
需要强调的是:HHL 算法不直接输出经典向量 $\vec{x}$。读出全部分量需要 $O(N)$ 次测量,完全抵消量子加速。它的优势体现在提取汇总信息时。
算法步骤详解
令 $n = \lceil \log_2 N \rceil$,所需量子比特如下:
| 寄存器 | 量子比特数 | 用途 |
|---|---|---|
| 寄存器 B(工作寄存器) | $n$ | 编码向量 $\vec{b}$ 和 $\vec{x}$ |
| 寄存器 C(时钟寄存器) | $m$ | 相位估计,存储特征值的二进制近似 |
| 辅助量子比特 | 1 | 受控旋转,标记成功 |
第一步:初始化
将寄存器 B 初始化为归一化的 $\vec{b}$:
$$|0\rangle_B |0\rangle_C |0\rangle_{\text{aux}} \xrightarrow{} |b\rangle_B |0\rangle_C |0\rangle_{\text{aux}}$$
其中 $|b\rangle = \frac{1}{\|\vec{b}\|} \sum_{i=0}^{N-1} b_i |i\rangle$。若 $\vec{b}$ 本身可高效制备(如某些标准输入态),此步代价为 $O(\text{poly}(n))$。
第二步:量子相位估计(QPE)
QPE 是算法的核心引擎。对寄存器 B 施加受控酉操作 $U = e^{iAt}$,其中 $t$ 的选择稍后说明。
QPE 作用于 $|b\rangle_C |0\rangle_B$ 的效果:将 $|b\rangle$ 在 $A$ 的特征基 $\{|u_j\rangle\}$ 下展开后,将每个特征值 $\lambda_j$ 的二进制近似写入寄存器 C:
$$\sum_{j=0}^{N-1} \beta_j |u_j\rangle_B |\tilde{\lambda}_j\rangle_C$$
其中: - $A|u_j\rangle = \lambda_j |u_j\rangle$ - $\beta_j = \langle u_j | b \rangle$ - $\tilde{\lambda}_j$ 是 $\lambda_j t / (2\pi)$ 的 $m$-比特二进制近似
QPE 的精度参数 $m$ 满足:$|\tilde{\lambda}_j - \lambda_j t / (2\pi)| < 1/2^m$,即特征值近似误差为 $O(1/t \cdot 2^m)$。
第三步:受控旋转(特征值倒数的制备)
现在对辅助量子比特施加受控旋转 $R_y(\theta_j)$,控制条件为寄存器 C 中存储的 $\tilde{\lambda}_j$:
$$R_y(\theta_j) |0\rangle_{\text{aux}} = \sqrt{1 - \frac{C^2}{\tilde{\lambda}_j^2}} |0\rangle_{\text{aux}} + \frac{C}{\tilde{\lambda}_j} |1\rangle_{\text{aux}}$$
其中 $C \le \lambda_{\min}$ 是归一化常数,确保旋转角度有效。
系统演化为:
$$\sum_{j=0}^{N-1} \beta_j |u_j\rangle_B |\tilde{\lambda}_j\rangle_C \left(\sqrt{1 - \frac{C^2}{\tilde{\lambda}_j^2}} |0\rangle + \frac{C}{\tilde{\lambda}_j} |1\rangle\right)_{\text{aux}}$$
第四步:逆量子相位估计(Uncompute QPE)
对寄存器 B 和 C 施加逆 QPE,将寄存器 C”清零”回 $|0\rangle_C$:
$$\sum_{j=0}^{N-1} \beta_j |u_j\rangle_B |0\rangle_C \left(\sqrt{1 - \frac{C^2}{\tilde{\lambda}_j^2}} |0\rangle + \frac{C}{\tilde{\lambda}_j} |1\rangle\right)_{\text{aux}}$$
这一步消除了寄存器 C 中对特征值的纠缠,使工作寄存器 B 不再与”时钟”纠缠。
第五步:测量辅助量子比特
测量辅助量子比特,若得到 $|1\rangle$(成功概率 $P_1 = \sum_j |\beta_j|^2 C^2 / \lambda_j^2$),寄存器 B 坍缩为:
$$|x\rangle \propto \sum_{j=0}^{N-1} \frac{\beta_j}{\lambda_j} |u_j\rangle_B$$
验证:$A^{-1}|b\rangle = \sum_j \frac{\beta_j}{\lambda_j} |u_j\rangle$,因此 $|x\rangle$ 确实正比于 $A^{-1}|b\rangle$。
成功概率 $P_1 \ge C^2 / \kappa^2 \|\vec{b}\|^2$,故平均需 $O(\kappa^2)$ 次重复。
理论推导
QPE 的数学原理
QPE 的核心是受控-$U^{2^k}$ 操作。令 $U = e^{iAt}$,对特征态 $|u_j\rangle$ 有:
$$U|u_j\rangle = e^{i\lambda_j t}|u_j\rangle$$
QPE 电路作用于 $|u_j\rangle|0\rangle^{\otimes m}$ 的效果:
$$\frac{1}{2^{m/2}} \sum_{k=0}^{2^m - 1} e^{i\lambda_j t k} |u_j\rangle |k\rangle = |u_j\rangle \left(\frac{1}{2^{m/2}} \sum_{k=0}^{2^m-1} e^{2\pi i (\lambda_j t / 2\pi) k} |k\rangle\right)$$
对寄存器 C 施加逆 QFT,将相位信息转化为计算基态。若 $\lambda_j t / 2\pi$ 恰好是 $m$ 比特整数 $\phi_j$,测量精确得到 $\phi_j$;否则以高概率得到其最佳 $m$ 比特近似。
受控旋转的精确构造
对 $m$ 比特寄存器 C 中的状态 $|\tilde{\lambda}\rangle$,旋转角度为:
$$\theta = 2 \arcsin\left(\frac{C}{\tilde{\lambda}}\right)$$
实际电路中,这分解为一系列受控-$R_y$ 门:第 $k$ 个比特控制的旋转角度为 $2 \arcsin(C \cdot 2^k / \tilde{\lambda}_{\text{int}})$,其中 $\tilde{\lambda}_{\text{int}}$ 是特征值的整数编码。此分解需要 $O(m)$ 个门。
成功概率与后选择
测量辅助比特得到 $|1\rangle$ 的概率:
$$P_1 = \sum_j |\beta_j|^2 \cdot \frac{C^2}{\lambda_j^2} \ge \frac{C^2}{\lambda_{\max}^2} \sum_j |\beta_j|^2 = \frac{C^2}{\lambda_{\max}^2}$$
选择 $C = \lambda_{\min}$ 使 $P_1 \ge (\lambda_{\min}/\lambda_{\max})^2 = 1/\kappa^2$。
重复 $O(\kappa^2)$ 次,以高概率至少成功一次。注意:这是对 $\kappa$ 多项式级的代价,不是指数级的。
稀疏矩阵的哈密顿量模拟
HHL 要求高效实现 $e^{iAt}$。对 $s$-稀疏矩阵 $A$,Lloyd 等人证明:
$$e^{iAt} = \left(e^{iAt/2^p}\right)^{2^p}$$
每个小步 $e^{iAt/2^p}$ 可用 Lie-Trotter-Suzuki 分解 近似:
$$e^{iAt/2^p} \approx \prod_{k=1}^{s} e^{iA_k t/2^p} + O(s^2 t^2 / 2^{2p})$$
其中 $A_k$ 是 $A$ 的各行/列对应的局部哈密顿量。总门数为 $O(s^2 t \cdot \text{poly}(\log(st/\varepsilon)))$。
Berry 等人(2015)的高阶 Suzuki 分解将复杂度改进至 $O(s t \cdot \text{poly}(\log(st/\varepsilon)))$。
量子电路结构
完整的 HHL 电路可表示为:
|0⟩_B ─── 初始化|b⟩ ─────────────────────────────────── 测量⟨M⟩
│ ↑
|0⟩_C ─── H⊗m ─── ctrl-U^(2^k) ─── QPE⁻¹ ───|0⟩ (解纠缠)
│
|0⟩_aux ───────────── ctrl-Ry(θ) ─── 测量 ──→ 后选择关键子电路说明:
- 初始化:若 $\vec{b}$ 有结构(如均匀叠加态),可用 $O(n)$ 门实现
- 受控-$e^{iA2^k t}$:共 $m$ 个不同的受控幂次,每个需要 Suzuki 分解
- 逆 QPE:逆向执行 QPE 电路,门数与正向相同
- 受控旋转:$O(m)$ 个受控-$R_y$ 门
具体例子
考虑最简单的非平凡案例,$A$ 为 $2 \times 2$ 对角矩阵:
$$A = \begin{pmatrix} 1 & 0 \\ 0 & 2 \end{pmatrix}, \quad \vec{b} = \begin{pmatrix} 1 \\ 1 \end{pmatrix}$$
精确解:$\vec{x} = A^{-1}\vec{b} = (1, 1/2)^T$。
HHL 求解过程:
初始化:$|b\rangle = \frac{1}{\sqrt{2}}(|0\rangle + |1\rangle)$,用一个 $H$ 门实现
QPE:$A$ 的特征值为 $\lambda_0 = 1$,$\lambda_1 = 2$,对应特征向量为 $|0\rangle$ 和 $|1\rangle$($A$ 是对角矩阵)。取 $t = 2\pi / 2^m$:
- $e^{iAt}|0\rangle = e^{i \cdot 1 \cdot t}|0\rangle$
- $e^{iAt}|1\rangle = e^{i \cdot 2 \cdot t}|1\rangle$
- QPE 输出:$\frac{1}{\sqrt{2}}(|0\rangle |\tilde{1}\rangle + |1\rangle |\tilde{2}\rangle)$
受控旋转:$C = 1$($\lambda_{\min} = 1$)
- 对 $\tilde{\lambda} = 1$:$R_y(2\arcsin(1/1))|0\rangle = |1\rangle$(成功)
- 对 $\tilde{\lambda} = 2$:$R_y(2\arcsin(1/2))|0\rangle = \frac{\sqrt{3}}{2}|0\rangle + \frac{1}{2}|1\rangle$
逆 QPE + 测量:测量辅助比特得 $|1\rangle$,寄存器 B 坍缩为: $$|x\rangle \propto \frac{1}{\sqrt{2}} \cdot 1 \cdot |0\rangle + \frac{1}{\sqrt{2}} \cdot \frac{1}{2} |1\rangle = \frac{1}{\sqrt{1+1/4}}\left(|0\rangle + \frac{1}{2}|1\rangle\right)$$
归一化后,$|x\rangle = \frac{2}{\sqrt{5}}|0\rangle + \frac{1}{\sqrt{5}}|1\rangle$。
验证:测量得 $|0\rangle$ 的概率为 $4/5$,得 $|1\rangle$ 的概率为 $1/5$,比值为 $4:1 = 1^2 : (1/2)^2$,与经典解 $x_0 : x_1 = 1 : 1/2$ 的振幅平方比一致。
提取期望值:若需计算 $\langle x | M | x \rangle$,对 $|x\rangle$ 施加 $U_M$ 并测量即可,无需读出全部分量。
复杂度分析
| 经典方法 | 复杂度 |
|---|---|
| 高斯消元法 | $O(N^3)$ |
| 共轭梯度法(稀疏矩阵) | $O(Ns\kappa \log(1/\varepsilon))$ |
| HHL 算法 | 复杂度 |
|---|---|
| 门数 | $O(s^2 \kappa^2 \text{poly}(n) / \varepsilon)$ |
| 后选择重复 | $O(\kappa^2)$ 次 |
| 总复杂度 | $\mathbf{O(s^2 \kappa^2 \text{poly}(n) \log(1/\varepsilon))}$ |
其中 $n = \log N$,$s$ 为稀疏度,$\kappa$ 为条件数。
对比:当 $N = 10^6$,$s = O(1)$,$\kappa = O(1)$ 时,经典方法需 $O(10^{18})$ 次操作,HHL 仅需 $O(\text{poly}(20)) \approx O(10^4)$ 次门操作——理论上百万倍加速。
局限性与注意事项
输入问题(Input Problem)
HHL 的加速假定 $|b\rangle$ 能高效制备。若 $\vec{b}$ 是任意 $N$ 维向量,制备 $|b\rangle$ 本身就需要 $O(N)$ 操作,抵消了量子优势。只有当 $\vec{b}$ 具有结构(稀疏、可高效采样)时,整体加速才成立。
输出问题(Output Problem)
$|x\rangle = \sum_j x_j |j\rangle$ 编码了全部解分量,但读出 $x_j$ 需要对每个 $j$ 进行 $O(1/|x_j|^2)$ 次测量,完整读出需要 $O(N)$ 次。HHL 优势体现在:
- 计算期望值 $\langle x|M|x\rangle$,一次测量即可
- 计算内积 $\langle x|y\rangle$
- 采样解的某些分布
条件数依赖
复杂度中 $\kappa^2$ 的因子意味着:对病态矩阵($\kappa \gg 1$),加速可能被抵消。实际应用中,预处理(preconditioning)能否保持量子兼容性是一个开放问题。
近似误差
$m$-比特 QPE 引入的特征值近似误差会传播到最终解。要达到精度 $\varepsilon$,需要 $m = O(\log(1/\varepsilon))$ 个时钟比特。
后续发展与应用
算法改进
| 年份 | 贡献 | 改进内容 |
|---|---|---|
| 2009 | HHL 原始论文 | $O(s^2 \kappa^2 \text{poly}(n))$ |
| 2015 | Berry et al. | 高阶 Suzuki 分解,门数从 $s^2$ 降至 $s$ |
| 2017 | Childs, Kothari, Somma | 线性系统作为更一般的量子线性代数框架的特例 |
| 2020 | Gilyén, Su, Low, Wiebe | 量子奇异值变换(QSVT)统一框架,改进 $\kappa$ 依赖至 $O(\kappa)$ |
应用方向
- 量子机器学习:最小二乘拟合、支持向量机、玻尔兹曼机训练
- 量子化学:求解薛定谔方程的离散化形式
- 有限元分析:结构力学、电磁场模拟的量子加速
- 组合优化:作为子程序用于 SDP 求解器
实验进展
- 2019 年,Google 在 Sycamore 处理器上演示了 $4 \times 4$ 线性系统的 HHL 求解
- 光量子系统、超导量子比特、离子阱平台上均有小规模实验验证
- 当前实验规模距实用($N > 10^6$)仍有显著差距
总结
HHL 算法揭示了量子计算在数值线性代数中的潜力:对稀疏、良态矩阵,可在 $\text{poly}(\log N)$ 时间内求解线性方程组。尽管存在输入/输出瓶颈和条件数依赖,它作为量子算法设计的里程碑,催生了量子机器学习、量子线性代数等蓬勃发展的研究方向。
理解 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.


Comments | NOTHING
该文章已经关闭评论