大作业:洛伦兹系统参数空间探究
源材料包括一份实验报告、一个 Notebook 和四张输出图。本篇保留能够由方程或代码验证的内容,重新绘制关键图,并把原报告与 Notebook 不一致的地方逐项校正。个人信息和联系方式不进入博客。
研究对象
洛伦兹系统为
三个状态量最初来自简化的大气对流模型:
- 表示对流强度;
- 表示上升流与下降流的温差;
- 表示垂直温度分布相对平衡态的偏差。
控制两种扩散时间尺度的比值, 与加热强度有关, 与几何尺度有关。大作业的目标不是证明“某个参数越大就一定越混沌”,而是回答:
- 不动点何时存在、何时稳定?
- 哪些参数区域必须靠数值实验继续判断?
- 数值图怎样做才不把暂态、采样不足或算法误差当成混沌?
先做完能严格推导的部分
不动点
原点
始终存在。当 时,还有一对对称不动点
系统在变换
下不变,所以非原点平衡和吸引子的两翼总是成对出现。
原点的稳定性
雅可比矩阵为
在原点,
其中一个特征值为 ,另外两个满足
因此:
- :三个特征值实部都为负,原点稳定;
- :一个特征值过零;
- :原点有正特征值,变成鞍点,同时 产生。
这就是 的叉式分岔。
对称不动点的稳定边界
在 ,特征多项式为
对三次多项式
Routh–Hurwitz 条件是
当 时前三项自动满足,最后一项化为
若 ,稳定性边界是
在经典参数 下,
时 稳定;越过 后它们失稳。经典参数下这里是亚临界 Hopf 分岔。若 ,上面的分母非正,不能继续套“”这句话;此时 Routh–Hurwitz 不等式对所有 都成立。
耗散性
散度恒为
一个无穷小体积元 满足
所以相空间体积指数收缩。要注意:耗散只说明体积收缩,不等于自动证明混沌,也不能单独证明某条轨道有界。
经典参数下的吸引子
下面的图不是报告截图,而是重新用固定步长 RK4、 积分,并删去 的暂态后绘制。这里故意使用 RK4,是为了让图题、代码方法和步长口径完全一致。

轨迹在两个翼之间不规则切换。单看“蝴蝶形”只能说它像经典洛伦兹吸引子;要把“混沌”写成数值结论,还需要收敛测试和可信的最大李雅普诺夫指数。
原报告的积分方法与 Notebook 实际不一致
原报告写的是“四阶 Runge–Kutta,步长 ”。Notebook 实际调用:
solve_ivp(
lorenz_system,
[0, T],
initial_state,
t_eval=t_eval,
method="RK45",
rtol=1e-8,
atol=1e-10,
)
这意味着:
- 实际方法是自适应 Dormand–Prince RK45,不是固定步长 RK4;
- t_eval 相邻 只是输出采样间隔,不是求解器内部步长;
- rtol 与 atol 控制局部误差,内部步长会自动变化;
- Notebook 删除前 数据作为暂态,这一点与代码一致。
两种积分方法都能用,但报告必须如实写。最基本的数值自检是把容差收紧或把 RK4 步长减半,再比较统计量,而不是要求两条混沌轨迹逐点重合。
参数空间:先画解析边界,再谈混沌
下面这张图只依据 Routh–Hurwitz 条件,展示 时平衡点的局部稳定性。它不是李雅普诺夫热图,也没有把“平衡点失稳”直接涂成“混沌”。

从图中能严格读出的只有:
- 时原点稳定;
- 后看 ;
- 在橙色区域 已失稳,但最终是周期轨、混沌吸引子还是其他行为,仍需数值或更深理论判断。
原 Notebook 的二维扫描只有
也就是 网格。它适合检查代码流程,不足以支持“共振细带”“混沌与稳定区域交替”等精细结论。正式扫描至少应逐级加密网格,并验证分类边界是否收敛。
有限时间极值诊断:不能冒充渐近分岔图
Notebook 的原分岔程序只扫描 ,共 51 个参数点,却又标出了 — 与 — 的窗口;这两段既在扫描范围外,也被横轴范围 隐藏,不能作为该次实验的发现。
下面重新在 内取 260 个 值,对每条轨迹积分到 ,丢弃 的部分,再保留 的严格局部极大值。图中只标记解析上确定的 与 。

读图方法:
- 定常平衡解没有严格局部极大值,因此不会在这种取点规则下留下“平衡支”;
- 内的孤立点和负值支,是轨迹向 衰减时尚未消失的有限时间暂态极值,也记录了落入哪个对称吸引域;它们不是渐近平衡分支,更不能解释成“一个极大值对应一个不动点”;
- 暂态之后仍出现有限几条稳定分支,才可能提示周期轨及倍周期结构;
- 出现密集点带,提示非周期行为,但仍不能仅凭“点很多”证明混沌。
这张图只是有限时间、有限步长的暂态诊断。只有在延长积分时间、增加丢弃暂态、加密参数网格并改变极值检测精度后仍保持的结构,才值得进一步作为渐近周期或混沌的证据。
原最大李雅普诺夫指数为什么不能直接采用
Notebook 中的最大指数函数同时积分两条初始距离为 的轨迹,然后每隔一段时间读取距离 ,累计
问题在于它从未把扰动重新缩回 :
- 初期指数分离后,两轨距离会达到吸引子尺度并饱和;
- 后续采样不再处于切空间的线性区;
- 代码把多个“从初始时刻累计到现在”的距离重复平均;
- 因而结果不是严格的 Wolf、Benettin 或 QR 李雅普诺夫算法。
可靠的最大指数算法应周期重归一化。设扰动向量为 :
-
同时积分轨迹 与变分方程
-
每隔 记录 ;
-
令 ;
-
最后计算
若要全部三个指数,就同时积分一个 扰动矩阵,并在每个时间段做 QR 分解:
还要检查延长总时间、缩短重归一化间隔、收紧积分容差后指数是否收敛。
“李雅普诺夫指数谱”那一格没有完整可靠的执行记录
Notebook 最后一格的 execution_count 为 null,但文件仍残留一段截断的标准输出,最后停在 。这说明保存下来的执行状态与输出并不一致,不能把它当作一次完整、可靠的运行记录。即使把该格完整执行,它也只调用了一个最大指数函数,然后手工指定:
- 混沌时令 ;
- “周期”时令 ;
- “稳定”时令 ;
- 再用指数和约束反推 。
所以那三条曲线不是计算得到的李雅普诺夫谱。恒等式
只能约束总和,不能凭一个数唯一恢复另外两个数。手工填的 、 不能作为结论。
哪些原结论应保留,哪些应撤回
| 结论 | 状态 | 理由 |
|---|---|---|
| 不动点、雅可比矩阵、 叉式分岔 | 保留 | 可解析推导 |
| 的 Routh–Hurwitz 边界 | 保留 | 条件与代数可核验 |
| 对称性与负散度 | 保留 | 直接代入方程可证 |
| 经典参数出现蝴蝶形吸引子 | 作为数值现象保留 | 可由独立积分复现 |
| 10×10 热图中的细小“共振区域” | 撤回 | 分辨率不足且指数算法有误 |
| “最大指数达到 1.5 以上” | 撤回 | 原算法不可靠 |
| 再次有序 | 本实验不作结论 | 扫描只到 |
| 机器学习能够分类参数区域 | 撤回 | Notebook 中没有训练、验证或分类代码 |
| 三条李雅普诺夫指数谱 | 撤回 | 两条由人工赋值,且保存的执行状态与截断输出不一致 |
一套可复现的重做流程
- 解析层:先计算不动点、Routh–Hurwitz 边界、对称性和散度;
- 单轨层:用两套步长或容差复现时间序列与相图;
- 分岔层:逐级加密 网格,统一暂态和极值检测规则;
- 指数层:用变分方程加周期重归一化或 QR 算法;
- 分类层:至少综合“是否收敛到平衡点、极值个数、最大指数”三个证据;
- 收敛层:延长积分时间、加密参数网格,报告分类发生变化的点;
- 表述层:解析结论、数值证据和推测分开写,不把图像外观当定理。
这个大作业真正有价值的地方,不是画出一只熟悉的“蝴蝶”,而是学会给数值结论划边界:代码算了什么、没算什么,以及还要通过哪些检查才能把“看起来像”升级为“证据支持”。