多比特与张量积 · 两个 qubit 的状态空间
多个 qubit 的状态,用张量积拼成一个 2ⁿ 维的向量。这一章讲清张量积怎么算、n 个 qubit 为什么装下 2ⁿ 个振幅,以及 Qiskit 那个让无数人读错状态的 qubit 排序(小端序)——用代码一次说清。
多比特与张量积 · 两个 qubit 的状态空间
单个 qubit 的把戏再花哨,也谈不上「算力」。真正的量子计算要多个 qubit 协同。这一章讲清:多个 qubit 的状态怎么表示,以及一个害人无数的实操陷阱——Qiskit 的 qubit 排序。
张量积:把 qubit 拼起来
两个 qubit 的联合状态,用张量积(tensor product,记号 ) 把各自的状态「拼」起来。四个基础态:
比如两个都是 的 qubit,联合态是 。张量积具体怎么算?把左边向量的每个分量,乘上整个右边向量:
所以两个 qubit 的状态是一个 4 维向量,四个分量正是 的振幅。推广开:
这正是前面说的「 个振幅」的由来——多 qubit 系统的状态空间,随 qubit 数指数膨胀。
一个「各自独立」的例子
给两个 qubit 各做各的:qubit 0 过 H(叠加),qubit 1 过 X(翻成 1),打印联合状态:
from qiskit import QuantumCircuit
from qiskit.quantum_info import Statevector
qc = QuantumCircuit(2)
qc.h(0) # qubit 0 → 叠加
qc.x(1) # qubit 1 → |1⟩
print(Statevector(qc).draw('latex_source'))它的联合态是各自状态的张量积 。像这样能拆成「各 qubit 状态的张量积」的状态,叫可分离态(product state)——两个 qubit 各过各的、互不牵扯。不是所有多比特态都能这么拆,拆不开的那种,就是下一章的主角:纠缠。
陷阱:Qiskit 的 qubit 排序是「反」的
这是新手最常栽的坑,务必说清:
Qiskit 用「小端序」:qubit 0 是最低位,写在二进制串的最右边。 也就是说,一个状态标成 ——qubit 0 在最右,和你从左往右数的直觉相反。
举个会让你怀疑人生的例子:一个 2-qubit 线路,只对 qubit 0 施加 X:
qc = QuantumCircuit(2)
qc.x(0) # 只翻转 qubit 0
print(Statevector(qc))
# Statevector([0, 1, 0, 0]) → 是 |01⟩,不是 |10⟩!翻转的是 qubit 0,得到的状态串却是 01(因为 q0 在右边、变成了 1,q1 在左边、还是 0)。测量结果 get_counts() 的比特串同理,也是右边对应 qubit 0。 无数人在这里把状态读反、以为程序错了。记死这条:Qiskit 里,比特串最右边那位 = qubit 0。
门作用在其中一个 qubit 上
一个单比特门只作用在某个 qubit 上时,数学上是它和其余 qubit 的单位矩阵做张量积。比如对 2-qubit 系统的 qubit 0 施加 ,整体作用的其实是 ( 不动、 过 H)。你写 qc.h(0) 时,Qiskit 自动帮你把它扩展成正确维度的大矩阵——你只管说「对哪个 qubit 做什么」,张量积的脏活框架包了。
这也顺带解释了量子计算「指数状态、多项式操作」的妙处:状态空间是 维(指数大),但你施加的门大多只碰一两个 qubit,写起来是常数级的操作(qc.h(0)、qc.cx(0,1)),框架用张量积把它作用到整个 维空间上。你用少量的门,就搅动了指数大的状态——这正是量子并行性的形式来源(但别忘了测量那关:你最终只能采样出一个结果)。
小结与下一章
多个 qubit 的状态用张量积拼成 维向量;能拆成各 qubit 张量积的叫可分离态。实操上牢记 Qiskit 的小端序:比特串最右 = qubit 0,否则状态和结果全读反。单比特门作用在某 qubit 上,等价于和其余 qubit 的单位阵做张量积,框架自动处理。
铺垫到位了。下一章进入量子计算最令人着迷、也最被误解的现象——纠缠:我们用一个 CNOT 门,造出一个拆不开的两 qubit 态(Bell 态),测一个就能瞬间确定另一个。👉 纠缠:用 CNOT 造一个 Bell 态。
参考文献
- [1] Qiskit 官方文档.「Bit-ordering in Qiskit.」https://docs.quantum.ibm.com/guides/bit-ordering —— 小端序的官方说明。
- [2] Nielsen & Chuang.《Quantum Computation and Quantum Information》, §1.2 —— 张量积与多比特态。
- [3] Michael Nielsen.「Quantum Computing for the Very Curious.」https://quantum.country —— 多 qubit 状态直觉。