1. 课程导入与QuTiP生态概览
QuTiP(Quantum Toolbox in Python)是量子物理与量子信息领域使用最广的开源数值建模框架之一。它把“量子态、算符、希尔伯特空间、时间演化、开放系统主方程”这些抽象概念,落实为可以直接构造、运算和求解的 Python 对象。对学习者而言,QuTiP 的价值不在于替代解析推导,而在于把推导结果变成可验证的数值实验:给定哈密顿量、初态和耗散参数,就能得到布居数、期望值、谱函数或纠缠度随时间的变化。
理解 QuTiP 的第一步,是理解它的对象模型。整个框架围绕 Qobj 展开:一个 Qobj 同时携带数据矩阵和维度信息(dims),因此它既知道“这是一个 2×2 矩阵”,也知道“这是第 1 个二能级系统的算符”。维度信息是 QuTiP 能自动完成张量积、偏迹、部分转置等操作的基础。在此基础上,Qubit 是二能级系统的便捷构造器,sigmax/sigmay/sigmaz、destroy、num 等提供常用算符,tensor 负责把子系统拼成复合系统,Qobj 的算术运算则直接对应哈密顿量的叠加与对易子计算。
求解器层是 QuTiP 的另一半。闭系演化用 sesolve(薛定谔方程)或 mesolve(主方程,耗散为零时退化为前者);开放系统用 mesolve 处理 Lindblad 形式的主方程;稳态问题用 steadystate;谱与关联函数用 spectrum、correlation_2op_1t 等。选型的核心判断是:系统是否封闭、是否需要追踪环境自由度、关心的是瞬态还是稳态、算符维度是否大到需要稀疏或蒙特卡洛方法。下面的图把“物理问题 → 对象构造 → 求解器选择”这条主线串起来,帮助建立整体地图。
从图中可以看到,选型的第一道分水岭是“封闭还是开放”。如果系统与环境的耦合可以忽略,sesolve 只需态矢,计算量小、物理图像清晰;一旦存在自发辐射、退相干或热噪声,就必须用 mesolve 追踪密度矩阵,并显式给出坍缩算符列表 c_ops。第二道分水岭是“瞬态还是稳态”:关心弛豫过程就看 tlist 上的演化曲线,关心长期行为就直接求 steadystate,避免把时间积分到无穷远。
课程后续会围绕这条主线展开。学习路径建议分三段:第一段打牢对象层,能熟练用 Qobj、tensor、destroy 构造多比特哈密顿量,并会用 dims 检查子系统结构;第二段掌握求解层,能根据物理场景在 sesolve、mesolve、steadystate 之间做出选择,并正确设置 tlist、c_ops、e_ops;第三段进入工程化,处理稀疏算符、蒙特卡洛轨迹、并行计算与结果可视化。每一段都以“能跑出一个可解释的数值结果”为验收标准,而不是停留在 API 记忆。
H = 0.5*Ω*sigmax(),初态 basis(2,0),用 sesolve 求 sigmaz 的期望值,确认振荡频率与解析结果一致,再进入后续章节。需要强调的是,QuTiP 的版本差异会影响 API 细节,例如 Qobj 的构造参数、求解器的默认方法选项在不同版本间有调整。课程示例会明确标注所依据的版本约定,读者在实际运行时应以本地安装版本的文档为准,并通过小规模可解析案例校验数值结果,避免把配置问题误判为物理结论。