读懂电路图
读量子电路就像读乐谱:时间从左到右流动,每一条横线都是一个量子比特在电路中穿行。横线上的方块是门——你按顺序施加的操作。经典电路图是把比特沿导线推送,而量子电路图则是把一个量子态推过一连串可逆的变换。
每个量子比特通常从 |0> 态开始,画在最左端。像 H(Hadamard)或 X(一种 Pauli 门)这样的单量子比特门,就是某一条横线上的一个方块。看下面这张图:横线就是量子比特,[H] 是施加在它上面的一个门,最右边的仪表符号代表一次测量。
┌───┐ ┌───┐
|0> ────┤ H ├─┤ X ├──── 📏
└───┘ └───┘
^wire ^gates ^measure
(the qubit) (applied (read out
in order) a result)CNOT 与纠缠门
单量子比特门能做的事毕竟有限。要搭建有意思的电路,你需要一个双量子比特门,而最主力的就是 CNOT(受控非门,controlled-NOT)。它有一个控制比特和一个目标比特:如果控制比特是 |1>,就翻转目标比特;如果控制比特是 |0>,就保持目标比特不变。在图中,控制比特画成一个实心圆点,目标比特画成一个 ⊕(带圈的加号),两者由一条竖线相连。
control ───●───
│
target ──⊕──
● = control qubit ⊕ = target (flips if control is |1>)CNOT 真正的威力,要在控制比特处于叠加态时才显现出来——也就是 |0> 与 |1> 的混合。这时对于“控制比特究竟是 0 还是 1?”并没有唯一的经典答案,于是这个门把两个量子比特连结成一个无法分开描述的共享态。这种连结就是纠缠:测量其中一个量子比特,会立刻告诉你另一个的某些信息——这是因为它们的结果是相关联的,而不是因为有什么信号在它们之间传递。
通用门集
可能的量子操作有无穷多种,所以想把它们全都造出来,似乎是没有指望的。好消息和经典计算如出一辙:你并不需要每一种门,只要一小套通用工具就够了。一个通用门集就是少数几个门,只要叠加足够多的层数,它们就能把任何量子操作逼近到你想要的任意精度。
一个常见的通用门集是 {H, T, CNOT}:Hadamard、T 门(一个小小的相位旋转)以及 CNOT。仅凭这三个门,你就能搭建出任意复杂的电路。H 和 T 给你所有的单量子比特操作;CNOT 则在量子比特之间提供纠缠的“黏合剂”。
还有一个值得认识的特殊门:Toffoli,也就是受控受控非门(controlled-controlled-NOT)。它只有在两个控制比特都为 |1> 时才翻转目标比特,这让它能够在量子电路内部重现普通经典逻辑(比如 AND)的可逆版本——当一个算法在通往量子结果的路上需要做些老式的算术时,它就是一座好用的桥。
末尾的测量
所有这些可逆的门,最终总得给你一个答案,而取出答案的唯一办法就是测量。这是量子计算最诚实的核心,所以值得把话说清楚:当你测量一个处于 alpha|0> + beta|1> 态的量子比特时,你得到的要么是 0(概率为 |alpha|^2),要么是 1(概率为 |beta|^2)。你永远读不出 alpha 和 beta 本身——只能得到一个经典比特。
仅这一个事实,就重塑了量子算法的设计方式。由于每次运行你只能得到一个结果,一个好的电路会利用干涉,在你测量*之前*让正确的答案彼此加强、错误的答案相互抵消——这样你读到的那个比特就很可能是有用的。这正是为什么“量子计算机同时尝试所有答案”这种说法会误导人:那种并行性在数学内部确实存在,但测量只会交给你恰好一个结果,而整门手艺的关键,就是去调控振幅,让那一个结果正好是你想要的。
第一个电路:贝尔对
我们来把这一切组装起来。贝尔对是最简单的纠缠态,它只需要在两个量子比特上施加两个门:先对第一个量子比特施加一个 Hadamard,再施加一个 CNOT,以第一个为控制、第二个为目标。两个量子比特都从 |0> 开始。
- 从两个量子比特开始,二者都处于 |0>(即 |00> 态)。
- 对量子比特 0 施加 H。它进入叠加态,给出 |00> 与 |10> 的等量混合。
- 施加 CNOT,以量子比特 0 为控制、量子比特 1 为目标。这时 |10> 的那一部分会把目标翻转成 |11>,于是留下 |00> 与 |11> 的等量混合。
- 测量这两个量子比特。你会得到 00 或 11——各约一半的几率——但绝不会得到 01 或 10。
┌───┐
q0 |0> ────┤ H ├──●──── 📏
└───┘ │
q1 |0> ───────────⊕──── 📏
Result over many runs: 00 ~50% 11 ~50% (01, 10 never)所得到的态是 (|00> + |11>)/√2。诚实地解读这些结果:每个量子比特单看都像一枚随机的硬币(五五开),可这两枚硬币总是一致。这种完美的关联——保证一致,且任何一个量子比特内部都没有预先藏好的答案——就是你亲手用一个 Hadamard 和一个 CNOT 搭建出来的纠缠。