2. 量子电路模拟的数学基础
要理解张量网络为什么能加速量子电路模拟,必须先回到最底层的数学描述:一个量子电路在计算机里究竟被表示成什么。量子电路模拟的核心对象只有三个——状态向量、量子门矩阵和电路酉变换。三者之间的关系决定了模拟的可行边界,也决定了张量网络方法在何处介入。
希尔伯特空间与状态向量
一个量子比特(qubit)的纯态是二维复希尔伯特空间 ℂ² 中的单位向量,写成狄拉克符号为 |ψ⟩ = α|0⟩ + β|1⟩,其中 α, β ∈ ℂ 且满足归一化条件 |α|² + |β|² = 1。基 {|0⟩, |1⟩} 对应经典比特的 0 和 1,但量子态允许两者的复振幅叠加。
当系统扩展到 n 个量子比特时,整体状态空间是各单比特空间的张量积:
H = ℂ² ⊗ ℂ² ⊗ ... ⊗ ℂ² (共 n 个因子)
dim(H) = 2^n
因此 n 个量子比特的联合态可写为 |ψ⟩ = Σ c_i |i⟩,其中 i 遍历 0 到 2^n − 1 的二进制串,c_i 是第 i 个基态的复振幅。这个 2^n 维复向量就是状态向量,它是全振幅模拟(state-vector simulation)唯一需要维护的数据结构。
举一个具体例子:n = 3 时状态向量有 2³ = 8 个复振幅;n = 30 时是 2³⁰ ≈ 1.07×10⁹ 个复振幅,若每个复振幅用双精度(16 字节)存储,仅状态向量就需约 17 GB 内存。这就是指数增长的直接体现。
量子门与酉变换
量子门是对状态向量的线性、保范数操作,数学上必须是酉矩阵 U,满足 U†U = I。常见单比特门包括:
- Pauli-X:
[[0,1],[1,0]],实现比特翻转,类似经典 NOT。 - Hadamard (H):
1/√2·[[1,1],[1,−1]],把|0⟩变成(|0⟩+|1⟩)/√2,是产生叠加的关键。 - 相位门 S、T:对角矩阵,只改变
|1⟩分量的相位。 - 旋转门 Rx、Ry、Rz:参数化旋转,常用于变分量子算法。
两比特门以 CNOT 为代表,其矩阵为 4×4:
CNOT = [[1,0,0,0],
[0,1,0,0],
[0,0,0,1],
[0,0,1,0]]
控制位为 1 时翻转目标位。CNOT 与单比特门组合可构成通用门集,理论上能逼近任意酉变换。
在模拟中,作用一个门到状态向量上,本质是矩阵—向量乘法 |ψ'⟩ = U|ψ⟩。但直接构造 2^n × 2^n 的完整矩阵是不可行的,实际实现利用张量积结构:单比特门只作用于某个比特,可分解为对状态向量下标的局部操作;CNOT 则按控制位分块处理。这样一次门操作的时间复杂度约为 O(2^n),而非 O(4^n)。
电路酉变换与整体演化
一个由 m 个门组成的量子电路,其整体效果是各门矩阵按时间顺序的乘积:
U_circuit = U_m · U_{m-1} · ... · U_2 · U_1
由于酉矩阵乘积仍为酉矩阵,整个电路对应一个 2^n × 2^n 的酉变换。模拟的最终输出是 |ψ_final⟩ = U_circuit |0...0⟩,随后通过测量得到概率分布 P(i) = |c_i|²。
这里有一个关键认识:电路酉变换本身也是指数大的对象。即使不显式构造它,模拟过程仍需在 2^n 维空间中反复做矩阵—向量乘法。门数 m 越多,累积的数值误差和计算量也越大。
指数增长带来的模拟瓶颈
把上述关系汇总,可以清楚看到瓶颈来源:状态向量维度 2^n、酉矩阵规模 2^n × 2^n、单次门操作代价 O(2^n)、整电路代价 O(m·2^n)。当 n 超过约 50 时,即使只存状态向量也超出当前超级计算机内存;n 到 100 时,2^100 已远超可观测宇宙原子数。
下表给出不同比特数下状态向量的规模,帮助建立量级直觉(按双精度 16 字节/复振幅估算):
| 量子比特数 n | 振幅个数 2^n | 状态向量内存 | 可行性 |
|---|---|---|---|
| 10 | 1,024 | 16 KB | 轻松 |
| 20 | 1,048,576 | 16 MB | 轻松 |
| 30 | ≈1.07×10⁹ | ≈17 GB | 单机勉强 |
| 40 | ≈1.10×10¹² | ≈17.6 TB | 需分布式 |
| 50 | ≈1.13×10¹⁵ | ≈18 PB | 接近极限 |
需要强调,这里的“瓶颈”不是算法写得不好,而是数学结构本身决定的:希尔伯特空间维度随比特数指数增长,任何忠实表示全振幅的模拟都逃不开这个下界。张量网络方法的价值,正是在于它不总是维护完整状态向量,而是利用量子态和电路中的低纠缠结构,把 2^n 维对象压缩为若干小张量的缩并网络,从而在特定电路上突破全振幅模拟的内存与时间限制。