3. 模拟器分类与原理

量子线路模拟器并不是一种“万能后端”,不同模拟器在内部保存的数学对象不同,因此它们能表达的量子态范围、可处理的比特规模、可承受的线路结构以及输出信息都有明显差异。理解这四类模拟器的适用边界,核心是抓住一个判断:线路中是否出现纠缠、噪声、非 Clifford 门,以及需要的是精确概率还是采样结果。下面从“保存什么、怎么演化、何时失效”三个角度展开。

一、状态向量模拟:保存 2ⁿ 个复数振幅

状态向量模拟直接保存整个量子态的振幅向量。对 n 个量子比特,状态写作

|ψ⟩ = Σ α_x |x⟩,  x ∈ {0,1}ⁿ
存储量:2ⁿ 个复数(每个约 16 字节,双精度)
单比特门:对相应振幅对做 2×2 矩阵乘法
双比特门:对 4 个振幅做 4×4 矩阵乘法
测量:按 |α_x|² 计算概率并采样

它的优点是通用:任意单比特门、任意受控门、任意纠缠结构都能精确表示,测量前还能直接读取完整概率分布。缺点是内存随比特数指数增长。以双精度复数 16 字节估算,30 比特约需 16 GB,32 比特约需 64 GB,40 比特则达到 16 TB 量级。因此状态向量模拟的实用边界通常在 30~35 比特以内,具体取决于机器内存和是否使用单精度、分块或 GPU 加速。

状态向量模拟适合验证小规模算法的完整概率分布、检查纠缠熵、调试门序列。当线路深度很大但比特数较少时,它仍然可行;真正让它失效的是比特数,而不是门数量。

二、密度矩阵模拟:保存 ρ,能处理噪声与混合态

当线路中存在噪声、退相干、测量误差或需要描述混合态时,纯态向量不再够用,必须使用密度矩阵 ρ。密度矩阵模拟保存的是 2ⁿ×2ⁿ 的矩阵,存储量为 4ⁿ 个复数。也就是说,同样 20 比特,状态向量约需 16 MB,而密度矩阵约需 16 TB 量级,规模差距是平方级。

密度矩阵的演化由量子信道描述,例如振幅阻尼、相位阻尼、去极化信道,都可以写成 Kraus 算符作用:

ρ' = Σ_k E_k ρ E_k†
去极化信道示例:ρ' = (1-p)ρ + p·I/2ⁿ

它的适用边界非常明确:需要噪声建模、需要混合态、需要计算保真度或迹距离时使用,但比特数通常只能到 10~15 比特。若只是无噪声纯态线路,用密度矩阵模拟是明显的资源浪费。实际工程中,密度矩阵模拟常用于验证噪声模型、校准误差参数、评估纠错码在小规模下的行为。

三、张量网络模拟:用低秩结构压缩纠缠

张量网络模拟不直接保存完整振幅向量,而是把量子态表示为多个小张量通过缩并连接的网络。常见形式包括矩阵乘积态(MPS)和投影纠缠对态(PEPS)。对一维近邻线路,MPS 把状态写成

|ψ⟩ = Σ A^{s1} A^{s2} ... A^{sn} |s1 s2 ... sn⟩
每个 A 是 χ×χ 矩阵,χ 为键维数(bond dimension)
存储量:O(n·d·χ²),而非 O(dⁿ)

张量网络模拟的关键参数是键维数 χ。χ 越大,能表达的纠缠越多,但计算量也越大。它的适用边界取决于线路的纠缠结构:

  • 适合:低纠缠线路、一维近邻线路、浅层线路、量子化学中的一维/准一维体系、需要计算特定振幅或局部观测量的场景。
  • 不适合:高纠缠的随机线路、深层线路、全连接线路。此时 χ 会指数增长,优势消失。

张量网络模拟的另一个优势是可以在有限 χ 下给出近似结果,并通过增大 χ 观察结果是否收敛。若 χ 从 64 增到 256 后能量或概率变化很小,说明截断误差可接受;若持续显著变化,则说明当前线路纠缠过强,需要换用其他方法。

四、稳定子模拟:Clifford 线路的多项式捷径

稳定子模拟利用 Gottesman-Knill 定理:只含 Clifford 门(H、S、CNOT、X、Y、Z 等)的线路,其状态可以用稳定子群的多项式规模描述,而不需要 2ⁿ 个振幅。n 比特稳定子态只需约 O(n²) 个比特存储生成元,门更新和测量都是多项式时间。

它的适用边界由门集合决定:

  • 适合:纯 Clifford 线路、量子纠错码的稳定子验证、表面码的综合征采样、Clifford 随机基准测试。
  • 不适合:含 T 门、Toffoli、任意旋转门等非 Clifford 门的线路。一旦引入非 Clifford 门,稳定子表示不再封闭,需要转为状态向量或稳定子+魔术态模拟,规模优势迅速下降。

实际使用中,稳定子模拟常被用来快速验证纠错码逻辑、生成大规模 Clifford 线路的采样结果。若线路中只有少量 T 门,可采用“稳定子+魔术态”混合方法,但 T 门数量增加后仍会退化。

五、四类模拟器的边界对照

把四类模拟器放在同一张判断图上,可以更直观地看到它们的分工。下图以“保存对象—适用条件—失效条件”为主线,给出选择路径。

四类量子线路模拟器的适用边界 按“保存对象 → 适用条件 → 失效条件”判断 状态向量模拟 保存:2ⁿ 个复数振幅 演化:门矩阵乘振幅 适用:任意门、任意纠缠 规模:约 30~35 比特 失效:比特数指数增长 输出:完整概率分布 密度矩阵模拟 保存:2ⁿ×2ⁿ 矩阵 ρ 演化:Kraus 信道作用 适用:噪声、混合态 规模:约 10~15 比特 失效:4ⁿ 存储爆炸 输出:保真度、迹距离 张量网络模拟 保存:小张量缩并网络 参数:键维数 χ 适用:低纠缠、一维近邻 规模:取决于纠缠结构 失效:高纠缠、随机线路 输出:近似振幅、局部量 稳定子模拟 保存:稳定子生成元 演化:Clifford 群更新 适用:纯 Clifford 线路 规模:多项式,可达千比特 失效:含 T 门等非 Clifford 输出:采样、综合征 选择判断路径 线路是否含噪声 或需要混合态? 是否只含 Clifford 门? 纠缠是否低且 结构近邻? 比特数 ≤ 35? 是 → 密度矩阵 (10~15 比特) 是 → 稳定子 (可达千比特) 是 → 张量网络 (调 χ 看收敛) 是 → 状态向量 (精确) 注:比特数上限为双精度复数、常规内存下的经验边界,实际取决于硬件与实现

六、选择模拟器的实用判断

实际工作中,可以按以下顺序判断:

  1. 先看门集合:若线路只含 Clifford 门,优先用稳定子模拟,规模可轻松到数百甚至上千比特。
  2. 再看是否需要噪声:若需要噪声、退相干或混合态,必须用密度矩阵模拟,但比特数要控制在 10~15 以内。
  3. 再看纠缠结构:若线路是一维近邻、浅层或低纠缠,张量网络模拟可以用较小 χ 获得高精度结果;若 χ 增大后结果不收敛,说明纠缠过强。
  4. 最后看规模:若以上都不满足,且比特数在 30~35 以内,用状态向量模拟获得精确结果;超过该范围则需要分布式、GPU 或近似方法。
经验提示:模拟器选择不是“越精确越好”,而是“在可接受误差和资源下得到所需信息”。若只需要采样统计,稳定子或张量网络可能比状态向量更高效;若需要完整概率分布和精确振幅,状态向量仍是小规模验证的首选。
常见误区:把密度矩阵模拟当作“更精确的状态向量模拟”使用。密度矩阵的优势在于噪声和混合态,而不是精度;在无噪声纯态场景下,它只会带来 4ⁿ 的存储代价,并不会让结果更准确。

总结来看,状态向量模拟是通用精确基准,密度矩阵模拟是噪声与混合态的必要工具,张量网络模拟是低纠缠结构下的压缩利器,稳定子模拟是 Clifford 线路的多项式捷径。四者的边界由“保存对象”和“线路结构”共同决定,理解这一点,才能在量子线路模拟与硬件执行对比中做出合理的后端选择。