块编码(Block Encoding)是量子计算中实现矩阵操作的基础原语。它的核心思想是:将一个(可能非酉的)矩阵 嵌入一个更大的酉算符 的”子块”中,从而在量子电路上实现对 的操作。块编码是 QSVT、Qubitization、量子线性代数等现代量子算法的基石。

问题背景

量子计算机只能执行酉操作(量子门),但科学计算中需要处理的矩阵往往不是酉的:它们可能不是方阵、不满足 、甚至不是 Hermitian 的。如何在量子电路上”执行”一个非酉矩阵?

朴素方案的失败

  • 直接将 编码为量子门: 不是酉算符,不能作为量子门;
  • 先计算 再酉化:计算 本身就需要 经典资源;
  • 用 QPE 提取特征值再构造:仅限可对角化且只需谱信息的场景。

块编码方案:构造一个更大的酉算符 ,使其”子块”恰好等于 (乘以某个缩放因子)。

数学定义

块编码的定义

定义:矩阵 )的 -块编码-量子比特酉算符 ,满足:

其中:

  • 归一化常数。由三角不等式与 可得 ,因此 必须至少与 同阶;
  • 辅助量子比特数
  • 近似误差
  • 表示在辅助寄存器上投影到

几何直觉-量子比特空间上的酉矩阵。将 Hilbert 空间按辅助寄存器是否处于 分块,则 的分块矩阵形式为

即左上角的 块近似等于 ,其余块(记作 )无约束,只要求整体酉性。

广义块编码

对非方阵 ),我们先将其零填充为方阵

再按方阵定义构造 的块编码,它作用在 个量子比特上;在其”左上块”处取到的就是 。等价地,也可以把块编码定义为连接两个同维数 Hilbert 空间的酉算子,本词条一律采用方阵零填充的写法。

块编码的构造方法

方法一:LCU(线性组合酉操作)

适用场景 可表示为酉矩阵的线性组合

这是最通用的块编码构造方法。

构造

  1. PREP 操作:在辅助寄存器上制备振幅态 其中 。该态是归一化的,因为平方振幅之和

  2. SELECT 操作:受控酉选择 其中符号 已吸收进受控酉中。

  3. 组合

验证:我们需要计算 。由于 ,插入

再利用 ,把 SELECT 的谱分解逐项代入:

因此 -块编码,即

门复杂度

操作门数
PREP(取决于 的结构)
SELECT 为单个 的门数)
总计

方法二:Pauli 分解

适用场景(泡利字符串线性组合)。

泡利字符串是幺模酉算符,因此这是 LCU 的特例:

SELECT 的实现

每个泡利字符串 可由 个单比特门与 CNOT 实现(受控版本只需常数因子额外开销)。

PREP 的实现:制备 ,通常用均匀叠加态加受控相位旋转实现。

复杂度

其中 为非零泡利字符串项数,

方法三:直接构造(对角矩阵)

对某些结构化矩阵,可以找到更高效的块编码。

例子(对角矩阵),,且

个辅助比特,取

其中 。验证左上块:由于 ,代入

门数为 ,但 指数增长,因此该方法仅对小系统或具有结构(如稀疏、平滑)的对角矩阵实用。

方法四:量子随机存取存储器(QRAM)

对任意 ,若有 QRAM 可以高效访问矩阵元素,则可构造 复杂度的块编码。但 QRAM 本身的物理实现是重大技术挑战(详见 QRAM 教程)。

块编码的基本性质

性质一:缩放

-块编码,则同一个酉算符 可以视为 -块编码()。

验证:,左上块不变;误差按范数放大 倍,即 。注意我们不能把块编码乘以 ,因为 )不是酉算符;改变的是”归一化常数”这一标注方式,而非电路本身。

性质二:乘积

-块编码,-块编码,且两者使用互不重叠的辅助寄存器,则 -块编码。

证明:记 (分别作用于两个辅助寄存器),,并记 同理。由于 不触碰 B-辅助寄存器, 对易,且 。于是辅助投影可以”穿过”互不触碰的酉算符逐层剥离:

其中交叉项(例如 型乘积)恒为零,因为右端因子中 与非投影部分正交。接着估计误差:由 与分解

取范数得

注意:若 共用同一个辅助寄存器,则上述交叉项一般不为零, 的左上块是 加上一个无法控制的 -块乘积,结论不成立。这正是需要独立辅助寄存器的原因。

性质三:线性组合

分别是 的块编码,则 )一般不是酉算符,因此不能直接作为块编码。正确的做法是再引入一个辅助比特做受控选择:

引理(线性组合):在性质二的记号下,对任意 ,存在 -块编码。

验证:新增一个辅助比特并制备叠加态 ,其中取

(注意 ,故该两分量叠加态可以用一个单比特旋转制备)。以该比特为控制执行”控 0 施加 、控 1 施加 “的受控酉 。把辅助投影 作用到 上,受控结构使两个分支分别贡献 ,于是左上块为

误差项按三角不等式不超过 ,换算回矩阵范数即得所证。

性质四:伴随

-块编码。

验证:对块编码不等式取伴随,注意 ,范数在取伴随下不变。

块编码与量子线性代数

块编码的真正威力在于它为量子线性代数提供了统一接口。

矩阵函数:QSVT

给定 的块编码 ,QSVT 可以实现 的块编码,深度 ,其中 的多项式逼近。可实现的 需满足幅值约束 ,必要时先做归一化缩放)并具有确定的奇偶性;一般函数可拆为奇部与偶部分别实现后再线性组合。

常用矩阵函数(设已归一化到 上):

函数多项式次数 应用
线性方程组
时间演化
奇异值变换
投影
Gibbs 态

其中 为条件数。各次数的来源见 QSP 教程的”逼近精度”一节。

量子行走:Qubitization

由 LCU 块编码可以构造量子行走酉算符

其特征相位编码了 的奇异值信息,详见 Qubitization 教程。

量子相位估计(QPE)

对块编码或行走算符执行 QPE,可以读出 的奇异值或特征值(精度 需要 次调用)。

块编码在具体算法中的应用

应用一:HHL 线性方程组求解

给定方程 的块编码 (归一化常数 、条件数 )。

步骤

  1. 用 QSVT 构造多项式 ,次数 ),将 QSP 相位插入量子行走,得到 的块编码,也就是缩放后 的块编码;
  2. 作用到 上,得到近似 的态(成功幅度由归一化因子决定,可用振幅放大补足);
  3. 测量提取 等汇总信息。

门数——对 线性依赖,优于原始 HHL 的

应用二:哈密顿量模拟

的 LCU 块编码归一化常数为 ,单次调用代价

的 QSVT 实现需要逼近整函数 ,次数 ;当存在归一化常数更紧的块编码( 接近 )时,相应地有

应用三:量子 Gibbs 态制备

目标:制备

  1. 构造 的块编码 (归一化 );
  2. 用 QSVT 实现 的块编码,所需次数为
  3. 作用到最大混合态或均匀叠加态上并做后选择,得到温度 的 Gibbs 态。

应用四:奇异值阈值

给定 ,保留奇异值大于阈值 的分量,将其余置零:

QSVT 实现阈值函数 的多项式逼近(在 附近做 宽度的平滑过渡),所需次数 ;若记 ,即

块编码的资源估计

量子比特开销

矩阵结构(项数)辅助比特 总量子比特
稀疏矩阵(-稀疏)
泡利分解( 项)
稠密矩阵
局部哈密顿量

门开销

对泡利分解的 哈密顿量

来自 SELECT( 个泡利字符串,每个 门), 来自 PREP。

当前进展与挑战

理论进展

年份贡献
2016Low & Chuang:块编码 + Qubitization
2019Gilyén et al.:QSVT 统一块编码上的多项式变换
2022Camps & Van Beeumen:FABLE,稠密矩阵的快速近似块编码
2023多项工作:高效块编码的构造优化

实现挑战

  1. PREP 电路深度:对一般系数 ,制备 需要 门——可能成为瓶颈;
  2. SELECT 的串行性 个受控酉操作串行执行,总深度
  3. 辅助比特数 对大 可能较高;
  4. 数值精度:PREP 中的旋转角度需高精度,门错误会累积。

总结

块编码是量子线性代数的基石原语。它将”在量子电路上执行非酉矩阵”这一困难问题,归约为”构造更大的酉操作”的可模块化问题:LCU 给出最通用的构造,乘积与线性组合性质保证块编码在代数运算下封闭,QSVT 与 Qubitization 则在块编码之上实现任意多项式的矩阵函数。块编码由此为矩阵求逆、哈密顿量模拟、Gibbs 态制备等核心量子算法提供了统一的接口。


参考文献:

  1. Low, G. H., & Chuang, I. L. (2016). Hamiltonian simulation by qubitization. arXiv:1610.06546.
  2. Gilyén, A., Su, Y., Low, G. H., & Wiebe, N. (2019). Quantum singular value transformation and beyond. STOC 2019.
  3. Camps, D., & Van Beeumen, R. (2022). FABLE: Fast Approximate BLock Encodings. arXiv:2205.00099.
  4. Childs, A. M., Kothari, R., & Somma, R. D. (2017). Quantum algorithm for systems of linear equations with exponentially improved dependence on precision. SIAM Journal on Computing, 46(6), 1920-1950.


参考资料