3. 量子门与电路语义基础
量子电路验证的第一步,不是去跑模拟器,而是把电路图上的每个符号翻译成精确的数学对象。只有当我们能对任意一条电路写出它的状态演化算符和测量概率分布时,才谈得上判断"这条电路是否实现了目标功能"。本节复习单量子比特门、受控门、多量子比特门与测量操作的语义,并建立从电路图到状态演化、再到概率分布的映射规则。
一、约定与记号
全文采用以下约定,图示与公式保持一致:
- 计算基为 |0⟩ = (1,0)ᵀ,|1⟩ = (0,1)ᵀ,列向量按基态顺序排列。
- n 个量子比特的基态按字典序排列,例如 2 比特顺序为 |00⟩, |01⟩, |10⟩, |11⟩,对应下标 0,1,2,3。
- 矩阵作用在态上写作 U|ψ⟩,电路从左到右对应矩阵从右到左相乘:先作用的最右。
- 测量使用计算基投影,结果比特串按 q_{n-1}…q_0 书写,q_0 为最低位。
二、单量子比特门
单比特门是 2×2 酉矩阵。最常用的几个门及其矩阵为:
X = [[0,1],[1,0]] Y = [[0,-i],[i,0]]
Z = [[1,0],[0,-1]] H = (1/√2)[[1,1],[1,-1]]
S = [[1,0],[0,i]] T = [[1,0],[0,e^{iπ/4}]]
Rx(θ) = [[cos(θ/2), -i sin(θ/2)], [-i sin(θ/2), cos(θ/2)]]
语义上,X 是比特翻转,Z 是相位翻转,H 把 |0⟩ 变成 (|0⟩+|1⟩)/√2,S 与 T 只改相位不改概率。验证时最常检查的性质是酉性 U†U = I,以及门的平方或组合是否等于已知门,例如 HXH = Z、S² = Z、T² = S。这些恒等式可以直接作为单元测试的断言。
三、受控门与多量子比特门
受控门由"控制位 + 目标位 + 基础门"三要素定义。以 CNOT 为例,控制位为 c、目标位为 t 时,其 4×4 矩阵在基序 |c t⟩ 下为:
CNOT = [[1,0,0,0],
[0,1,0,0],
[0,0,0,1],
[0,0,1,0]]
它的语义是:当 c = 0 时对 t 作用 I,当 c = 1 时对 t 作用 X。推广到 C-U 门,只需把上面矩阵中的 X 块替换为任意 2×2 酉矩阵 U。多控制门(如 Toffoli、C²Z)遵循同一规则:仅当所有控制位为 1 时才对目标位作用基础门,其余基态保持原样。
多量子比特门还包括交换门 SWAP 与 iSWAP,以及通用两比特门。SWAP 的语义是交换两个比特的态,其矩阵在 |00⟩,|01⟩,|10⟩,|11⟩ 基下把下标 1 与 2 互换。验证时要注意:受控门的控制位与目标位顺序不同,矩阵不同;CNOT(c=0,t=1) 与 CNOT(c=1,t=0) 是两个不同的算符,不能混用。
四、测量操作的语义
计算基测量由一组投影算符 {M_m} 描述,m 为测量结果。对单比特,M_0 = |0⟩⟨0|,M_1 = |1⟩⟨1|。若测量前态为 |ψ⟩ = α|0⟩ + β|1⟩,则:
p(0) = ⟨ψ|M_0†M_0|ψ⟩ = |α|²
p(1) = |β|²
测量后态 = M_m|ψ⟩ / √p(m)
多比特测量是各比特投影算符的张量积。若只测部分比特,未测比特的态会被条件化到与结果一致的分支上,这就是"塌缩"在电路语义中的精确含义。验证时常见的错误是把测量当成可逆门,或在测量后继续使用未归一化的态。
五、从电路图到状态演化与概率分布
给定一条含 n 个比特、深度为 d 的电路,其语义映射可按以下步骤建立:
- 初始化:|ψ₀⟩ = |0⟩^{⊗n},对应 2ⁿ 维列向量,第 0 个分量为 1,其余为 0。
- 逐列作用门:对第 k 列的门 U_k,若它作用在比特子集 S 上,则把 U_k 张量上其余比特的恒等算符,得到 2ⁿ×2ⁿ 的算符 Ũ_k,然后 |ψ_k⟩ = Ũ_k |ψ_{k-1}⟩。
- 测量:对最终态 |ψ_d⟩ 按投影算符计算各结果概率 p(m) = |⟨m|ψ_d⟩|²,其中 |m⟩ 为计算基态。
举例:电路 H(q0) → CNOT(q0,q1) → 测量(q0,q1)。初始 |00⟩,H 后为 (|00⟩+|10⟩)/√2,CNOT 后为 (|00⟩+|11⟩)/√2,即 Bell 态。测量概率 p(00) = p(11) = 1/2,p(01) = p(10) = 0。这个例子说明:电路图上的符号序列,经过上述映射后,唯一确定了一个概率分布,验证就是检查这个分布是否符合预期。
六、验证中的常见语义陷阱
把上述映射落到代码或手工推导时,有几类错误反复出现,值得在验证清单中单列:
- 比特序颠倒:多数模拟器用 q0 为最低位,而某些文献用 q0 为最高位。若矩阵按 |q0 q1⟩ 构造而模拟器按 |q1 q0⟩ 解释,CNOT 会变成反向控制。
- 控制位与目标位混淆:CNOT 不对称,写反后得到的是另一个算符,Bell 态会变成 |00⟩ 与 |10⟩ 的叠加。
- 测量后未归一化:只测部分比特时,剩余态必须除以 √p(m),否则后续门的概率计算全部失真。
- 全局相位误判:Z 与 S 只差一个相位,若验证只比较概率分布,两者无法区分;需要比较态矢或使用过程层析。
- 门顺序写反:电路图先 H 后 CNOT,矩阵应写 CNOT·(H⊗I),而不是 (H⊗I)·CNOT。
七、可直接使用的语义检查表
下表给出对一条电路做语义核对时的最小字段,可直接用于测试用例设计或代码评审。
| 检查项 | 输入 | 判断依据 |
|---|---|---|
| 门矩阵酉性 | U | U†U = I,误差 < 1e-10 |
| 比特序约定 | n、基序 | 与模拟器文档一致,q0 位置明确 |
| 受控门方向 | c、t | 控制=1 时目标位翻转 |
| 态矢演化 | |ψ₀⟩、门序列 | 逐列作用后与手算一致 |
| 测量概率 | |ψ_d⟩ | Σp(m)=1,各 p(m)≥0 |
| 条件态归一化 | 部分测量 | 剩余态模长为 1 |
| 全局相位 | |ψ_d⟩ | 与目标态相差 e^{iφ} 视为等价 |