2. 量子计算资源度量体系

在量子计算资源估算工程中,最忌讳的一件事是“只报一个数”。例如说“这个算法需要 1000 个量子比特”,这句话在工程上几乎不可用,因为它没有说明是逻辑量子比特还是物理量子比特,也没有说明需要多少个 T 门、多深的电路、多长的运行时间。资源估算的本质,是把一个算法需求翻译成一组相互约束的度量指标,并让这些指标能够与硬件能力对齐。本节先建立这套度量体系,明确每个指标的定义、量纲和彼此之间的换算关系。

一、两类量子比特:逻辑与物理

逻辑量子比特(logical qubit)是算法层面的抽象单位,是量子程序正确运行所需的“无差错”量子比特数量。它由算法本身决定,例如 Shor 算法分解一个 n 位整数,逻辑量子比特数大致与 n 成正比。物理量子比特(physical qubit)是硬件实际提供的、带噪声的量子比特。两者之间通过量子纠错码连接:一个逻辑量子比特需要若干个物理量子比特编码,这个比例称为编码率。

以表面码(surface code)为例,在给定的物理错误率 p 和目标逻辑错误率 ε 下,码距 d 需要满足 ε ≈ (p/p_th)^((d+1)/2),其中 p_th 是纠错阈值(约 1%)。一个逻辑量子比特大约需要 2d² 个物理量子比特。若 p = 0.1%、目标 ε = 10⁻¹⁰,则 d 约为 21,单个逻辑量子比特约需 882 个物理量子比特。这个换算关系是资源估算中最关键的一步:物理量子比特数 ≈ 逻辑量子比特数 × 每个逻辑比特的物理开销。注意,这里的开销不是常数,它随错误率、码型和目标精度变化,因此估算时必须把假设写清楚。

二、门级指标:T 门、CNOT 与电路深度

量子程序最终被编译成基本门序列。在容错计算中,最昂贵的操作是 T 门,因为它通常需要魔术态蒸馏(magic state distillation)来制备,而蒸馏本身要消耗大量物理量子比特和门操作。T 门数量是算法所需 T 门的总个数,直接决定蒸馏工厂的规模和运行时间。T 深度是电路中 T 门串行层数,即无法并行执行的 T 门层数,它决定算法的最短时间下界。

CNOT 数量是两比特纠缠门的总数,反映电路的整体复杂度;电路深度是所有门(含单比特门、CNOT、T 门)串行层数的最大值,决定时钟周期数。它们的关系可以概括为:T 门数量 ≥ T 深度,CNOT 数量 ≥ CNOT 深度,电路深度 ≥ max(T 深度, CNOT 深度)。并行度越高,深度相对数量越小,但受限于量子比特连接拓扑,并行往往不能任意展开。

三、时间与内存:从门数到工程约束

运行时间由电路深度乘以单层门时间得到。容错场景下,单层时间通常由纠错周期决定,例如表面码一个周期约 1 μs。若电路深度为 10⁹ 层,运行时间约 1000 秒。但 T 门蒸馏往往成为瓶颈:若蒸馏工厂每 10 μs 产出一个魔术态,而算法需要 10⁸ 个 T 门,则仅蒸馏就需 1000 秒,且需要多个工厂并行。内存占用则指存储量子态、魔术态缓冲和经典控制数据所需的资源,在容错架构中通常以物理量子比特数乘以每比特的经典控制开销来估算。

估算时务必区分“算法需求”和“硬件开销”。逻辑量子比特、T 门数量、T 深度、CNOT 数量、电路深度属于算法侧指标;物理量子比特、运行时间、内存占用属于硬件侧指标。换算关系是连接两侧的桥梁。
量子计算资源度量体系与换算关系 算法侧指标(逻辑层) 逻辑量子比特数 T 门数量 T 深度 CNOT 数量 电路深度 硬件侧指标(物理层) 物理量子比特数 运行时间 内存占用 蒸馏工厂规模 时钟周期 / 纠错周期 × 2d² × 单层时间 ÷ 并行度 核心换算关系 ① 物理量子比特数 ≈ 逻辑量子比特数 × 2d²(表面码,d 由错误率与目标精度决定) ② 运行时间 ≈ 电路深度 × 单层门时间(容错下由纠错周期主导) ③ T 门蒸馏时间 ≈ T 门数量 ÷ 工厂产出率,需与运行时间取较大者 ④ 内存占用 ≈ 物理量子比特数 × 每比特经典控制开销 + 魔术态缓冲 ⑤ 电路深度 ≥ max(T 深度, CNOT 深度),并行度受连接拓扑限制

四、指标之间的约束与权衡

这些指标不是独立的,它们之间存在硬约束。增加纠错码距 d 可以降低逻辑错误率,但物理量子比特数按 d² 增长,同时每个纠错周期变长,运行时间上升。减少 T 门数量可以缩短蒸馏时间,但可能增加 CNOT 数量或电路深度。提高并行度可以压缩深度,但需要更多物理量子比特同时工作,内存占用随之上升。因此资源估算不是求单个最小值,而是在给定硬件约束下寻找可行解。

一个实用的做法是建立参数表,把假设固定下来,再逐项推算。例如:

指标符号示例值来源/假设
逻辑量子比特数n_L1000算法分析
物理错误率p0.1%硬件标定
目标逻辑错误率ε10⁻¹⁰算法容错要求
码距d21由 p、ε 推算
物理量子比特数n_P≈ 8.8×10⁵n_L × 2d²
T 门数量N_T10⁸算法编译
T 深度D_T10⁶并行度分析
电路深度D10⁹编译结果
单层时间t_g1 μs纠错周期
运行时间T_run≈ 1000 sD × t_g

这张表的意义在于:任何一项估算结果都可以追溯到假设。当硬件参数变化时,只需替换对应行,重新推算即可。例如把 p 从 0.1% 改为 0.05%,d 可能降到 15,物理量子比特数降到约 4.5×10⁵,运行时间也因纠错周期缩短而下降。资源估算工程的核心能力,就是维护这样一套可追溯、可更新的度量体系。

常见误区:把逻辑量子比特数直接当作物理量子比特数上报,或忽略 T 门蒸馏时间而只报电路深度对应的时间。这两类错误会导致资源需求被低估一到三个数量级。

最后需要强调,所有指标都必须带单位和假设。逻辑量子比特是“个”,T 门数量是“个”,T 深度和电路深度是“层”,运行时间是“秒”,内存占用是“比特”或“字节”。在跨团队沟通时,建议统一使用“逻辑量子比特数 / 物理量子比特数 / T 门数量 / T 深度 / CNOT 数量 / 电路深度 / 运行时间 / 内存占用”这八个字段作为最小报告集,任何一项缺失都会让估算结果失去可比性。