1. 课程导入与仿真验证全景
量子系统仿真并不是“把哈密顿量写进程序、点一下运行、看图说话”这么简单。无论是用精确对角化求解一个 10 量子比特的横场伊辛模型,还是用张量网络模拟 50 个格点的基态,抑或用含噪声量子线路模拟器估计某个可观测量的期望值,最终都要回答两个问题:算出来的结果收敛了吗?它离真实物理量有多远?前者是收敛性问题,后者是精度验证问题。本课程围绕这两个问题展开,而本节先建立一张“全景地图”,让后续每一章都能挂靠到明确的位置上。
两个核心目标:收敛性与精度
收敛性关注的是数值结果随离散化参数或算法参数变化时是否趋于稳定。典型参数包括:时间演化步长 Δt、张量网络截断维数 χ、变分 ansatz 的层数 L、蒙特卡洛采样数 Ns、基矢截断能量 Ecut。若把 Δt 从 0.01 减到 0.005,能量期望值变化从 10-3 降到 10-4,说明时间离散误差在按预期阶数收敛;若变化反而增大或震荡,则说明参数区间或算法实现有问题。
精度验证关注的是数值结果与参考真值之间的偏差是否在可接受范围内。参考真值可能来自解析解(如 2 量子比特海森堡模型的精确本征值)、更高精度方法的交叉验证(如 DMRG 与精确对角化对比小系统),或实验可观测量的标定。精度通常用绝对误差 |Enum − Eref|、相对误差或保真度 F = |⟨ψref|ψnum⟩|² 来度量。
典型工作流:从模型到可信结果
一个完整的量子仿真验证流程通常包含六个环节,下图给出它们之间的数据流与判断回路。
图中红色虚线是两条回退路径:收敛性扫描未通过时,回到离散化参数选择;精度验证未通过时,需要同时检查物理模型、算法实现和参考值本身。实际工程中,这两条回退往往交替发生,因此验证不是一次性流程,而是带反馈的迭代。
关键指标与判据
收敛性判据通常看误差随参数变化的斜率。以时间演化为例,若采用二阶 Trotter 分解,能量误差应满足 ΔE ∝ Δt²。在双对数坐标下,把 Δt = 0.04、0.02、0.01、0.005 四组结果画出来,拟合斜率接近 2,说明实现正确且进入渐近收敛区;若斜率只有 1 或出现平台,则可能是高阶项未消除或数值精度饱和。张量网络则看截断误差 εtrunc 随 χ 的衰减,通常要求 εtrunc 低于目标精度一个数量级。
精度判据需要事先约定容差。例如目标能量精度 10-4(以耦合强度 J 为单位),则要求 |Enum − Eref| < 10-4·J,同时保真度 F > 0.999。容差不是拍脑袋定的,而应由物理问题本身决定:判断相变点需要更高精度,估算热力学量则可能放宽。
常见失败模式
实践中反复出现的失败模式大致有五类,值得在课程开始就建立警觉:
- 假收敛:参数扫描范围太窄,误差尚未进入渐近区就误判为收敛。对策是至少取三个数量级跨度的参数,并检查拟合斜率。
- 精度饱和:继续减小 Δt 或增大 χ,误差不再下降,通常由浮点舍入、采样噪声或参考值本身精度不足导致。
- 参考值污染:用低精度方法的结果作为“真值”去验证另一个方法,导致系统性偏差被掩盖。对策是交叉验证或使用解析可解的小系统。
- 参数与物理量错配:例如在临界点附近用固定 χ 扫描,截断误差随关联长度发散,收敛判据失效。
- 可观测量的选择偏差:能量收敛了,但序参量或关联函数仍未收敛。验证应覆盖多个物理量,而非只看基态能量。