量子比特 · 把 qubit 的状态打印出来看
经典 bit 只能是 0 或 1,量子比特(qubit)却能处于两者的「叠加」。这一章用 Qiskit 的状态向量把 qubit 的内部状态直接打印出来,配上刚好够用的数学,讲清振幅、概率,以及 n 个 qubit 为什么能装下 2ⁿ 个数。
量子比特 · 把 qubit 的状态打印出来看
上一章那个 H 门,把 qubit「置于叠加态」。可叠加态内部到底长什么样?好在模拟器能让我们作弊——直接把 qubit 的完整状态打印出来看。这一章就这么干:先看到,再理解。
qubit 的状态,是一个向量
经典 bit 只有两个值:0 或 1。量子比特(qubit)的状态,是这两个「基础状态」的线性组合,写成向量最清楚。约定两个基础态:
那个尖括号记号 (读作「ket 0」)就是「状态 0」的意思——你先把它当成一个列向量的名字即可。一个一般的 qubit 状态是:
、 是两个复数,叫振幅(amplitude)。经典 bit 是这个向量的两个特例( 或 );而 qubit 可以是任意满足下面这条归一化约束的组合:
打印出来看
空口无凭。上一章那个过了 H 门的 qubit,它的 、 到底是多少?用 Qiskit 的 Statevector 直接打印(注意:看状态时不要加测量——测量会破坏它,下一章说):
from qiskit import QuantumCircuit
from qiskit.quantum_info import Statevector
qc = QuantumCircuit(1)
qc.h(0) # 只加 H,不测量
print(Statevector(qc))Statevector([0.70710678+0.j, 0.70710678+0.j],
dims=(2,))两个振幅都是 。也就是说,H 门把初始的 变成了:
这个「两个振幅相等」的叠加态太常用,有个专门的名字叫 。作为对照,一个什么都没做的 qubit(初始就是 ):
print(Statevector(QuantumCircuit(1)))
# Statevector([1.+0.j, 0.+0.j], dims=(2,)) → 就是 |0⟩ = [1, 0]现在「叠加」不再是玄学了——它就是那个 [0.707, 0.707] 向量,你亲眼看到了。
振幅不是概率,概率是振幅的模平方
这是最关键、也最容易搞混的一点:
一个 qubit 两个数,n 个 qubit 呢
上面一个 qubit 的状态,要两个复数(、)才能描述。那两个 qubit 呢?四个数(对应 四个基础态的振幅)。三个 qubit,八个数。规律是:
这就是量子计算「指数级」威力的源头。 300 个 qubit 的状态,需要 个振幅——这个数比宇宙里的原子总数还多,任何经典计算机都存不下。而一台量子计算机,用 300 个物理 qubit 就「装下」了这个状态,并能让一个门操作同时作用在所有 个振幅上。
但先泼盆冷水:这不等于「量子计算机能同时算 个答案然后挑一个」——那是最常见的误解。测量时你只能得到一个结果,且是概率的。量子算法的精妙,在于用干涉让错误答案的振幅相消、正确答案的振幅相长,使你测量时大概率测到想要的那个。这个「怎么把答案『放大』出来」的门道,是算法那一站 的核心。
顺带:Bloch 球
单个 qubit 的状态还能画成一个球面上的点——Bloch 球。 在北极, 在南极, 在赤道上。量子门就是旋转这个球。Qiskit 能画:
from qiskit.visualization import plot_bloch_multivector
plot_bloch_multivector(Statevector(qc)) # 需要 matplotlibBloch 球是建立单比特直觉的好工具(调试那章 会用它来「看」门做了什么);不过多比特就画不下了(维度太高),那时得靠别的手段。
小结与下一章
qubit 的状态是一个振幅向量 ,满足 ;我们用 Statevector 把它打印了出来,亲眼确认了叠加就是 [0.707, 0.707]。记住那条铁律:概率 = 振幅的模平方,而振幅的正负号(相位)藏着量子计算的全部魔法。n 个 qubit 需要 个振幅——这是威力之源,但别误以为能「同时读出所有答案」。
我们一直在回避一件事:测量。上面看状态时特意「不加测量」,因为测量会把叠加态一把「拍死」成一个确定值。这个诡异又核心的操作,下一章讲透。👉 测量:为什么一测,叠加就没了。
参考文献
- [1] Qiskit 官方文档.「Quantum states and Statevector.」https://docs.quantum.ibm.com/guides ——
Statevector用法。 - [2] Michael Nielsen.「Quantum Computing for the Very Curious.」https://quantum.country/qcvc —— 面向初学者、极佳的振幅与测量直觉。
- [3] Nielsen & Chuang.《Quantum Computation and Quantum Information》, §1.2 —— qubit 与态向量的正式定义。