本节摘要:量子比特的状态由一对复数(概率幅)完全描述,写作 |ψ⟩ = α|0⟩ + β|1⟩,且 |α|² + |β|² = 1。本节从经典比特的局限出发,引入狄拉克记号与状态矢量,解释"状态 = 复数对"意味着什么,并用一次矩阵乘法演示状态如何被改写。这套路语言是全册的通用货币,后面每节都在用它。
经典比特是一个只回答"是/否"的开关,状态空间只有两个点。要描述它的状态,一个数字就够:0,或者 1。这个描述简单到不能再简单,但也僵死到不能再僵死——它给不出任何"倾向性"的余地,更谈不上两种可能之间的干涉。
量子力学对"状态"的理解不同:状态是足以预测一切测量统计的最小信息集。对于两能级量子系统(一个原子愿意待在基态还是激发态、一个光子偏振方向是水平还是竖直),这个最小信息集不是"哪个态",而是"两个态各占多少、彼此相位差多少"。这个信息结构天然是一个二维复矢量。
于是有了量子比特的标准写法。这一行是全册的通用货币:
|ψ⟩ = α|0⟩ + β|1⟩ , 其中 |α|² + |β|² = 1
竖线加尖括号 |·⟩ 读作"某态",它只是一个列矢量的花哨写法。把 |0⟩ 写成列矢量 (1, 0)ᵀ,|1⟩ 写成 (0, 1)ᵀ,那么叠加态就是普通的线性组合:
|ψ⟩ = α|0⟩ + β|1⟩ 等价于列矢量 (α, β)ᵀ 例:|ψ⟩ = (1/√2, 1/√2)ᵀ,即 (|0⟩ + |1⟩)/√2
为什么非要发明新记号?因为括号里可以放任意标签:|0⟩、|1⟩、|+⟩、|ψ⟩,甚至 |猫活着⟩。记号本身不携带物理,它只是让"态 = 矢量"这层关系始终显眼。我们后面会反复用到这种写法,现在花五分钟习惯它,收益贯穿全册。
测量时我们只能读到 0 或 1。玻恩规则说:读到 0 的概率是 |α|²,读到 1 的概率是 |β|²。既然每次测量必然得到其中之一,两个概率加起来必须是 1——这就是归一化条件 |α|² + |β|² = 1 的全部来源。它不是数学洁癖,而是"结果穷尽"的物理要求。
动手验证一个例子。状态 |ψ⟩ = (1/√2)|0⟩ + (1/√2)|1⟩:
|α|² = (1/√2)² = 1/2 → 读到 0 的概率 50% |β|² = (1/√2)² = 1/2 → 读到 1 的概率 50% 1/2 + 1/2 = 1 ✓ 归一化成立
再试一个带相位的:|ψ⟩ = (√3/2)|0⟩ + (1/2)|1⟩。概率分别是 3/4 和 1/4,同样归一。注意一个细节:√3/2 和 1/2 都是正实数,相位差为零;如果系数是 −1/2,概率不变仍是 1/4——单个系数的符号(更一般地,复相位)不影响这个态的测量统计。相位真正发挥作用的地方是干涉,那是下一节的主角。
这里必须拦下一个最常见的误读:|ψ⟩ = α|0⟩ + β|1⟩ 不是"有 α 的概率处于 0、有 β 的概率处于 1"的骰子。区别在于两点。
第一,α 和 β 是复数,概率表里放不下相位,而相位恰恰是干涉的载体。第二,也是更深的区别:如果系统真是一颗已掷出的骰子(只是我们不知道点数),那么一切统计都可以用一个经典概率表复现,量子计算将毫无加速能力可言——因为经典随机数生成器就够了。量子态的威力在于:概率幅之间可以发生经典概率永远不会发生的事情(相消),这已被贝尔不等式实验反复证实。所以正确的读法是:态矢量是更基本的对象,概率只是它的影子。
状态是矢量,操作就是矩阵。先不引入任何量子门术语,直接做一次线性代数。把状态写成列矢量,左乘一个 2×2 矩阵,得到新状态。下面这段代码把本节全部内容变成可运行的数字:
import numpy as np ket0 = np.array([1, 0], dtype=complex) # |0⟩ ket1 = np.array([0, 1], dtype=complex) # |1⟩ # 一个待测状态:(1/√2)|0⟩ + (i/√2)|1⟩ psi = (ket0 + 1j * ket1) / np.sqrt(2) # 归一化检查:内积模平方应为 1 print(np.vdot(psi, psi).real) # 1.0 # 测量概率:模平方逐项读出 p0 = abs(psi[0]) ** 2 # 0.5 p1 = abs(psi[1]) ** 2 # 0.5 # 任意 2x2 矩阵作用于状态 M = np.array([[0, 1], [1, 0]]) # 先当普通矩阵看 phi = M @ psi print(phi) # 交换两个分量的位置
运行后你会发现:矩阵 M 做的事就是把两个振幅对调。给这个矩阵起个名字,它就叫 X 门——你已经提前遇到了量子版的"非门"。
状态的语言建立了。下一节我们看这门语言最独特的语法:叠加与干涉。
问得好但容易问歪。复数不是"实体",是描述工具;物理内容是它与可观测量的对应规则——模平方给概率、相位差管干涉。工程上更务实的问法是:忽略相位会怎样?答案在第 2.2 节:忽略相位等于放弃干涉,等于放弃全部量子加速。复数的引入不是数学洁癖,是被干涉现象逼出来的最小描述。
Holevo 界给的答案有点反直觉:一个量子比特最多可靠传递一经典比特的信息。那"二维复矢量、无穷多参数"岂不是白给?不是——超出的部分藏在振幅与相位的关系里,要通过多比特联合测量与统计才能部分提取。这也再次呼应 1.2 节:量子的财富不是"存得多",而是"算得巧"。
把本节代码里的状态换成 (√3/2)|0⟩ + (1/2)|1⟩ 与 (1/2)|0⟩ + (i·√3/2)|1⟩,分别手算两个测量概率,再运行核对。第二个状态的第一分量是实数、第二分量带 i——概率算出来分别是一四开与三七开吗?把两个结果的差异与相位的作用联系起来,你就完成了从"知道相位存在"到"会算相位影响"的跨越。