1. 量子计算与量子门导论

量子计算的核心思想,是用量子比特(qubit)而不是经典比特来承载信息。经典比特只能处于 0 或 1,而量子比特可以处于两者的叠加态。用狄拉克符号表示,一个量子比特的态矢写作

|ψ⟩ = α|0⟩ + β|1⟩,   α, β ∈ ℂ,   |α|² + |β|² = 1

其中 |0⟩ 与 |1⟩ 是计算基,α、β 是复数振幅。测量时得到 0 的概率为 |α|²,得到 1 的概率为 |β|²。这个归一化约束说明:量子比特的“信息量”并不体现在单次测量结果上,而体现在振幅的相位与干涉关系上。也正因如此,量子算法往往不是靠“同时试所有答案”取胜,而是靠精心设计的相位关系让错误答案相互抵消、正确答案相互增强。

为了直观理解单个量子比特,常用布洛赫球(Bloch sphere)表示。把 |ψ⟩ 写成

|ψ⟩ = cos(θ/2)|0⟩ + e^{iφ} sin(θ/2)|1⟩

则 θ 是极角、φ 是方位角,态对应球面上一点。北极是 |0⟩,南极是 |1⟩,赤道上是等幅叠加态,例如 |+⟩ = (|0⟩+|1⟩)/√2 位于 x 轴正方向,|−⟩ = (|0⟩−|1⟩)/√2 位于 x 轴负方向。需要强调:布洛赫球只描述单量子比特的纯态;多比特纠缠态无法用单个球面点表示,这是后续学习多比特门时必须跨过的一道坎。此外,全局相位 e^{iγ} 不改变测量统计,通常视为同一物理态,而相对相位(如 |0⟩ 与 |1⟩ 之间的相位)会显著影响干涉结果。

量子门就是作用在量子态上的酉变换 U,满足 U†U = I。酉性保证演化前后总概率守恒,也保证量子门可逆。单比特门可理解为布洛赫球上的旋转:

  • X 门:绕 x 轴旋转 π,实现 |0⟩↔|1⟩,相当于经典非门。
  • Z 门:绕 z 轴旋转 π,保持 |0⟩ 不变、给 |1⟩ 加 π 相位,即 |1⟩→−|1⟩。
  • H 门:把 |0⟩ 变为 |+⟩、把 |1⟩ 变为 |−⟩,是制造叠加与干涉的关键。
  • S 门、T 门:分别引入 π/2 与 π/4 相位,是构造通用门集的重要相位资源。

两比特门中,受控非门 CNOT 最具代表性:控制比特为 1 时翻转目标比特,否则保持不变。CNOT 与单比特门配合,可以产生纠缠。例如对 |00⟩ 先作用 H 到第一个比特,再作用 CNOT(控制位为第一个比特),得到

H|0⟩ = (|0⟩+|1⟩)/√2
CNOT · (|0⟩+|1⟩)/√2 ⊗ |0⟩ = (|00⟩+|11⟩)/√2

这就是贝尔态之一。它无法写成两个单比特态的直积,说明纠缠已经产生。纠缠是量子并行、量子通信和量子纠错等能力的共同基础。

那么,量子门在量子计算中扮演什么角色?可以这样理解:量子算法 = 初始态制备 + 一系列量子门 + 测量。量子门负责在受控精度下操纵振幅与相位,测量负责把量子信息转成经典结果。门序列的深度、保真度和连通性,直接决定算法能否在真实硬件上跑出有意义的结果。因此,学习量子门不是背矩阵,而是学会把算法意图翻译成可执行的门序列。

通用量子电路设计的目标,是找到一组有限的门,使得任意多比特酉变换都能以任意精度被近似实现。常见结论是:单比特门 + CNOT 构成通用门集;若考虑容错,则常用 Clifford 门加 T 门。设计时通常要回答三个问题:目标变换是什么、允许的门集和连接拓扑是什么、如何在深度与精度之间取舍。例如,一个三比特算法可能先被分解为单比特旋转和 CNOT 网络,再根据硬件拓扑插入 SWAP 门,最后做门合并与相位跟踪优化。

下面这张图把本节的关键对象放在同一张“信号链”里:从量子比特的态矢与布洛赫球表示,到单比特门、两比特门,再到通用门集与电路设计目标。它强调的不是步骤顺序,而是“表示—操作—能力—目标”之间的结构关系。

量子比特表示 → 量子门操作 → 通用电路设计目标 量子比特表示 态矢 |ψ⟩ = α|0⟩ + β|1⟩ |α|² + |β|² = 1 布洛赫球 |0⟩ |1⟩ 关键区分 全局相位:不可观测 相对相位:影响干涉 量子门:酉变换 U†U = I 单比特门(布洛赫球旋转) X:π 翻转 Z:π 相位 H:叠加 S/T:相位资源 两比特门 CNOT:控制为 1 时翻转目标 H + CNOT → 贝尔态纠缠 通用门集 单比特门 + CNOT 容错场景:Clifford + T 通用电路设计目标 任意酉变换 以任意精度近似实现 设计三问 目标变换?门集与拓扑? 深度与精度如何取舍? 典型流程 分解 → 映射拓扑 → 合并优化 → 验证 量子算法 = 初始态制备 + 量子门序列 + 测量;门序列的深度、保真度与连通性决定实际可执行性

从学习路径看,建议按“单比特表示 → 单比特门 → 两比特门与纠缠 → 通用门集 → 电路分解与优化 → 真实硬件约束”推进。每一步都要动手算一个小例子:例如用矩阵乘法验证 HXH = Z,或手算 CNOT 对 |10⟩ 的作用,确认控制位与目标位的关系。只有把态矢、矩阵和布洛赫球三种语言对应起来,后续设计通用量子电路时才能既看得懂算法意图,也写得出可执行的门序列。

初学阶段最容易混淆的是“叠加”与“纠缠”:叠加是单个量子比特的振幅组合,纠缠是多个量子比特之间无法拆分的整体关联。布洛赫球只能画前者,不能画后者。