2. 量子门与指令的基础表示
量子程序从人写下的门级描述,到最终在超导或离子阱硬件上执行,中间要穿过好几层表示。理解这些表示之间的对应关系,是掌握“门集分解与硬件指令映射”的前提。本节把这条链路上的四类表示讲清楚:酉矩阵(数学语义)、量子门符号(电路图语言)、OpenQASM / QIR(中间表示)、硬件原生指令(物理脉冲或校准门)。
一、酉矩阵:门的数学语义
一个作用在 n 个量子比特上的量子门,其数学本质是一个 2ⁿ×2ⁿ 的酉矩阵 U,满足 U†U = I。酉性保证门操作可逆且保内积,即概率幅总长度不变。单比特门是 2×2 矩阵,最常用的几个如下(约定基矢 |0⟩=(1,0)ᵀ,|1⟩=(0,1)ᵀ):
X = [[0,1],[1,0]] H = (1/√2)[[1,1],[1,-1]]
Z = [[1,0],[0,-1]] S = [[1,0],[0,i]]
T = [[1,0],[0,e^{iπ/4}]] Rx(θ) = [[cos(θ/2), -i sin(θ/2)],
[-i sin(θ/2), cos(θ/2)]]
多比特门的关键是受控结构。CNOT 在计算基下是 4×4 矩阵,可写成 |0⟩⟨0|⊗I + |1⟩⟨1|⊗X,即控制位为 0 时目标位不变,为 1 时目标位翻转。矩阵表示的价值在于:门分解的正确性可以用矩阵乘法验证。例如要确认 H·T·H 是否等价于某个旋转,只需把三个矩阵相乘,与目标矩阵逐元素比较(允许全局相位差 e^{iφ})。这是后续判断“分解是否等价”的最终依据。
二、量子门符号:电路图语言
电路图是门级表示的图形化形式,每个符号对应一个矩阵。常见约定:单比特门画成带字母的方框(H、X、S、T、Rx 等);CNOT 用实心圆(控制)+ ⊕(目标)加竖线连接;CZ 用两个实心圆加竖线;Toffoli 用两个控制圆加 ⊕;测量用带指针的仪表框;SWAP 用两个 × 加连线。电路图从左到右表示时间顺序,同一列的门表示可并行执行。符号表示便于人阅读和快速检查线路结构,但它本身不含参数精度、时序约束和物理实现信息。
三、中间表示:OpenQASM 与 QIR
中间表示(IR)是连接“门级描述”和“硬件指令”的桥梁,核心作用是与具体硬件解耦,让上层优化和下层映射可以独立进行。
OpenQASM 是文本化的量子汇编语言,语法接近 C。一个典型片段:
OPENQASM 2.0;
include "qelib1.inc";
qreg q[2];
creg c[2];
h q[0];
cx q[0], q[1];
measure q -> c;
它声明量子寄存器 q 和经典寄存器 c,逐条给出门和测量。OpenQASM 2.0 的门集由 qelib1.inc 定义,包含 u1、u2、u3、cx 等;OpenQASM 3.0 增加了定时、脉冲和经典控制流。它的优点是直观、可读、工具链支持广(Qiskit、Cirq、tket 等都能导出)。
QIR(Quantum Intermediate Representation)基于 LLVM IR,把量子操作表示为对量子类型值的函数调用,例如 __quantum__qis__h__body(%Qubit*)、__quantum__qis__cnot__body(%Qubit*, %Qubit*)。QIR 的价值在于复用 LLVM 的优化、链接和代码生成基础设施,并支持经典-量子混合控制流。相比 OpenQASM 的“线路列表”风格,QIR 更接近编译器后端可处理的通用 IR。
两者的分工可以这样理解:OpenQASM 偏“人读、工具交换”,QIR 偏“编译器优化、跨后端生成”。实际流程中常见 OpenQASM → QIR → 硬件指令的逐级下降。
四、硬件原生指令格式
硬件不认识 H 或 CNOT,它只认识自己物理上能执行的操作。超导量子处理器通常提供两类原生指令:
- 单比特门:通过微波脉冲实现,参数包括脉冲包络(如 DRAG)、幅度、频率、相位、持续时间。例如一个 X 门可能对应 20 ns 的高斯脉冲,Rx(π/2) 对应幅度减半的同类脉冲。
- 两比特门:通过交叉共振(CR)或可调耦合器实现,参数包括脉冲形状、耦合强度、相位。典型 CNOT 时长约 200–500 ns,CZ 类似。
硬件原生指令的格式因平台而异。以 OpenPulse 为例,它用 play(frame, waveform)、shift_phase(frame, phase)、acquire(frame, duration) 等语句描述脉冲级操作,并绑定到具体的通道(drive、control、measure)。离子阱平台则常用激光脉冲的拉比频率和持续时间作为原生参数。关键点是:原生指令集通常很小(如 {Rx(±π/2), Rz(θ), CZ}),所有其他门都必须分解到这个集合上。
五、四层表示的对应关系
下面这张图把四层表示串起来,并标出每层的核心对象和转换动作。注意箭头方向是“从抽象到具体”的下降过程,而验证方向则相反——用矩阵乘法回验分解正确性。
理解这张图的关键在于:下降过程每一步都可能引入误差或约束。例如把 H 分解为 Rx(π/2)·Rz(π/2)·Rx(π/2) 时,矩阵乘积与 H 只差一个全局相位,这在物理上不可观测,可以接受;但把 CNOT 映射到 CR 脉冲时,耦合强度误差会直接降低门保真度。因此实际工具链会在每一层做验证:矩阵层比对等价性,IR 层做门集合法性检查,硬件层做校准数据核对。