3. 量子门分解与脉冲级编译
量子程序在进入硬件之前,通常先以逻辑门序列的形式存在,例如 H、X、RZ(θ)、CNOT。但真实量子处理器并不直接执行这些抽象门,它执行的是对控制线施加的模拟脉冲。脉冲级编译的任务,就是把逻辑门序列翻译成一组带时序、带波形参数的控制信号。这一过程大致分为三层:任意单量子比特门分解为硬件原生旋转、两比特门等效分解为原生两比特门与单比特门组合、最后把门级时序映射为脉冲调度与波形。
任意单量子比特门分解
任意单量子比特门在数学上是一个 2×2 酉矩阵,可写成 U = e^{iα} RZ(β) RY(γ) RZ(δ),即 Z-Y-Z 欧拉角分解。多数超导硬件原生支持虚拟 Z 旋转(通过改变后续脉冲相位实现,几乎无误差)和物理 X/√X 脉冲,因此编译器通常把任意门分解为 RZ 与 √X 或 RX(π/2) 的组合。例如 H 门可分解为 RZ(π) √X RZ(π),X 门可分解为 √X √X。分解的目标不是数学上唯一,而是在给定原生门集合下使脉冲数量最少、误差最低。
以 U3(θ, φ, λ) 为例,其标准分解为 RZ(λ) RY(θ) RZ(φ),再把 RY(θ) 展开为 RZ(π/2) √X RZ(θ+π) √X RZ(π/2) 形式。这样整个门就变成一串虚拟 Z 旋转与固定 √X 脉冲。虚拟 Z 只改相位,不占时间;√X 才对应真实微波脉冲。因此分解质量直接决定后续脉冲数量。
CNOT 等效分解
CNOT 是两比特纠缠门,硬件上通常不直接实现理想 CNOT,而是实现 CZ 或 iSWAP 类原生门。以超导 transmon 为例,常用 CZ 作为原生两比特门,CNOT 可分解为:
CNOT(q0, q1) = H(q1) · CZ(q0, q1) · H(q1)
= RZ(π)√X RZ(π) on q1
· CZ(q0, q1)
· RZ(π)√X RZ(π) on q1
若硬件原生门是 iSWAP,则 CNOT 需要更复杂的分解,通常引入额外的单比特门和相位校正。分解后必须检查两比特门前后单比特门的时序是否与硬件约束一致,例如是否存在同时驱动同一比特的冲突。
脉冲调度与波形生成
门级分解完成后,编译器得到一张带依赖关系的门列表。脉冲调度负责把每个门映射到具体控制通道、起始时间、持续时间和波形。调度必须满足:同一比特上的门不能时间重叠;两比特门要求两个比特同时可用;读取操作需在门序列之后并留出足够延迟。
波形生成则把逻辑旋转角转换为模拟信号。以 RX(θ) 为例,若使用高斯拖尾脉冲,其包络可写为:
A(t) = A0 · exp(-(t - t0)² / (2σ²)) · (1 + erf(...))
θ = ∫ Ω(t) dt
A0 ∝ θ / pulse_duration
其中 Ω(t) 是拉比频率包络,θ 与脉冲面积成正比。实际工具链(如 Qiskit Pulse、OpenPulse)会输出 SamplePulse 或 Waveform 数组,再交给任意波形发生器(AWG)播放。调度结果通常以时间线形式呈现,横轴为时间,纵轴为控制通道。
调度约束与波形参数
调度阶段需要处理几类硬约束。第一,同一驱动通道上的脉冲不能重叠,否则波形叠加会改变旋转角。第二,两比特门要求两个比特的脉冲在时间上对齐,且耦合器开启时间覆盖门操作窗口。第三,读取操作前需要等待比特弛豫到基态,通常插入 idle 延迟。第四,若使用 DRAG 波形抑制泄漏,需同时输出 I/Q 两路信号,Q 路为 I 路的导数乘以系数 β。
波形参数通常包括:脉冲持续时间 duration、振幅 amp、高斯标准差 σ、DRAG 系数 β、载波频率 f_lo。以 √X 门为例,若 duration=32ns、σ=8ns、amp=0.5,则旋转角约为 π/2。若振幅改为 0.25,旋转角减半,得到 √X/2 类小角度门。编译器需要根据目标角度反解振幅或持续时间。
从门到脉冲的完整示例
假设要编译 H(q0) · CNOT(q0,q1),目标硬件原生门为 √X、RZ、CZ。第一步,H(q0) 分解为 RZ(π) √X RZ(π)。第二步,CNOT 分解为 H(q1) CZ(q0,q1) H(q1),其中 H(q1) 同样展开为 RZ(π) √X RZ(π)。第三步,调度器把 q0 上的 RZ(π) √X RZ(π) 与 q1 上的 RZ(π) √X RZ(π) 对齐,随后插入 CZ 脉冲,最后再执行 q1 上的 RZ(π) √X RZ(π)。第四步,波形生成器为每个 √X 生成高斯拖尾脉冲,为 CZ 生成耦合器调制脉冲,为 RZ 只更新相位偏移表。最终输出是一组带时间戳的 I/Q 采样数组,可直接加载到 AWG。
判断编译是否成功,可观察三个指标:门序列是否全部映射到原生门集合;调度时间线是否存在通道冲突或未对齐的两比特门;波形面积是否与目标旋转角一致。若三者均满足,则脉冲级编译完成,可以进入硬件执行或进一步做脉冲级优化。