2. 多量子比特电路的核心组件
在单比特电路中,我们只需考虑绕布洛赫球的旋转;一旦进入多比特世界,真正制造“量子关联”的关键角色就变成了受控门。受控门的作用机制可以概括为一句话:控制位决定是否执行,目标位承受变换。理解它们的矩阵表示,是读懂电路图、估算资源、乃至后续做纠缠制备的第一步。
一、三种核心受控门的矩阵表示
先约定基矢顺序。本文统一采用 \(|q_0 q_1\rangle\) 的字典序,即两比特基矢依次为 \(|00\rangle, |01\rangle, |10\rangle, |11\rangle\),其中 \(q_0\) 为高位。这个约定在全文和图示中保持一致,切换时必须显式说明。
CNOT(受控非门):控制位为 1 时对目标位施加 \(X\)。以 \(q_0\) 为控制、\(q_1\) 为目标,其矩阵为分块对角形式:
CNOT = |0><0| ⊗ I + |1><1| ⊗ X
= [[1,0,0,0],
[0,1,0,0],
[0,0,0,1],
[0,0,1,0]]
注意它把 \(|10\rangle\) 与 \(|11\rangle\) 互换,而 \(|00\rangle,|01\rangle\) 保持不变。若控制位换成 \(q_1\),矩阵中非零元素的位置随之改变——这正是初学者最容易出错的地方:CNOT 的矩阵依赖于控制位与目标位的指定。
CZ(受控 Z 门):控制位为 1 时对目标位施加 \(Z\)。由于 \(Z\) 只改变相位,CZ 是对称门,控制与目标互换不改变矩阵:
CZ = diag(1, 1, 1, -1)
它只给 \(|11\rangle\) 添一个 \(-1\) 相位。这个“只动一个基矢相位”的特性使 CZ 在超导硬件中常作为原生门,因为实现比 CNOT 更直接。
Toffoli(CCNOT,双控非门):两个控制位同时为 1 时才翻转目标位。三比特下它是 \(8\times 8\) 矩阵,作用为 \(|110\rangle \leftrightarrow |111\rangle\),其余基矢不变。它等价于一个“与”条件触发的 \(X\),是构造可逆经典逻辑(如与、或、加法器)的基础。
二、多比特门分解为单比特门与 CNOT 的基本规则
真实硬件通常只原生支持少数几种门,因此任意多比特门都要拆成“单比特门 + CNOT”的组合。这里给出几条可直接使用的规则。
规则一:受控 \(U\) 的通用分解。任意单比特酉算符 \(U\) 都可写成 \(U = e^{i\alpha} A X B X C\),其中 \(ABC = I\)。于是受控 \(U\) 可分解为:控制位先施加 \(C\),再做 CNOT,目标位施加 \(B\),再做 CNOT,目标位施加 \(A\),最后控制位施加相位 \(e^{i\alpha}\)。这条规则把“任意受控旋转”统一到 CNOT 骨架加单比特门上。
规则二:CZ 与 CNOT 互转。\( \text{CNOT}_{q_0\to q_1} = (I\otimes H)\, \text{CZ}\, (I\otimes H) \)。也就是说,在目标位前后各加一个 Hadamard,就能在 CNOT 与 CZ 之间切换。工程上若硬件原生 CZ,就把所有 CNOT 用此式改写,减少编译开销。
规则三:Toffoli 的标准分解。Toffoli 可用 6 个 CNOT 加若干 \(T\)、\(T^\dagger\)、\(H\) 门实现(常见构造为 6 CNOT + 7 个单比特门,总计约 13 个门)。分解的核心思路是:先用 CNOT 把两个控制位的信息“汇聚”到一个辅助比特上,形成条件相位,再把它转回目标位的翻转。分解不是唯一的,选择哪种取决于目标硬件的连通性与原生门集。
三、电路深度与门数量的度量
评价一个多比特电路,常用两个指标。门数量是电路中所有门的总数,直接关联错误累积;电路深度是沿任一路径从输入到输出经过的最多门层数,它决定电路的最短执行时间。关键点是:能并行执行的门算作同一层。例如三个分别作用在不相交比特对上的 CNOT 可以排在同一层,深度只加 1,而门数量加 3。
下面这张图以一个“制备三比特 GHZ 态”的电路为例,把受控门的作用链、分解后的门层与深度度量放在一起对照,帮助看清“门数量”与“深度”为何不是一回事。
从图中可以读出两个要点。第一,GHZ 制备的门数量很小(1 个 H 加 2 个 CNOT),但深度是 4,因为 CNOT 之间存在数据依赖:第二个 CNOT 必须等第一个完成、\(q_1\) 状态确定后才能执行。第二,测量虽然不改变量子态演化,但在资源统计中通常计入门数量与深度,做公平比较时要说明是否包含测量。
四、一个可操作的估算示例
假设要把一个 Toffoli 编译到“仅原生 CNOT + 单比特门、且比特线性连通(\(q_0\!-\!q_1\!-\!q_2\))”的硬件上。Toffoli 的控制位是 \(q_0,q_1\),目标位是 \(q_2\)。标准分解需要 \(q_0\) 与 \(q_2\) 直接交互,但二者不相邻,因此每个跨比特 CNOT 都要用 SWAP 路由。一次 SWAP 由 3 个 CNOT 构成,把 \(q_0\) 的信息搬到 \(q_1\) 再交互,交互后再搬回,额外增加约 6 个 CNOT。于是实际门数量从约 13 上升到约 19,深度也相应增加。这个例子说明:分解规则给出的是逻辑门数,物理代价还要叠加路由开销,二者必须分开统计、分别报告。
小结本节的三条主线:受控门的矩阵表示决定了“控制位为 1 时发生什么”;分解规则把任意多比特门归约到 CNOT 与单比特门的骨架;门数量与电路深度分别刻画“错误累积”和“执行时间”,且必须结合硬件连通性才能换算成真实代价。掌握这三点,才能在后续设计纠缠制备电路时,既写得出正确的门序列,也算得清它的实际开销。