本节摘要:定义先行——保守系统是相空间体积在演化中守恒的系统(刘维定理,哈密顿力学的主场);耗散系统是体积持续收缩的系统(散度为负),收缩把轨道挤压到维数更低的吸引子上。这一分区决定了一个系统能"长出"什么样的混沌:保守系统的混沌长在轨道的杂耍里,耗散系统的混沌长在奇怪吸引子的分形上。本节给出散度判据并完成两个世界的相图对照。
本节是第二章的收口,也是通往第三章的桥:吸引子这个概念只对耗散系统才普遍成立,而 3.4 节洛伦兹系统的每个参数都印着本节的散度公式。
把相空间里想象一团"点云"(一群初值),让时间推着它演化,追踪它的体积:
定量判据是向量场的散度 ∇·f。它就是相空间流体在某点的"局部体积变化率":∇·f < 0 处体积收缩、= 0 守恒、> 0 膨胀。对洛伦兹系统(σ=10、β=8/3、ρ=28)散度逐点算得 −σ−1−β = −13.67,处处相同——任意初始体积按 e^{−13.67t} 塌缩,一秒内缩到万亿分之一以下。这个常数是洛伦兹吸引子能"薄如蝶翼"的原因:吸引子被压在体积为零的分形集合上。

| 维度 | 保守系统 | 耗散系统 |
|---|---|---|
| 能量 | 守恒(哈密顿量) | 持续流失,需外界补给才能维持运动 |
| 相体积 | 恒定(∇·f=0) | 收缩(∇·f<0) |
| 吸引子 | 不存在 | 普遍存在:点、环、环面、奇怪吸引子 |
| 平衡点邻域 | 成族闭轨道,互不聚拢 | 轨道塌向低维骨架 |
| 混沌形态 | KAM 环面破裂型:轨道游走但不聚成吸引集 | 奇怪吸引子型:轨道被压在分形集合上 |
| 典型对象 | 行星轨道、无阻尼摆、理想等离子体 | 钟摆加阻尼、电路、洛伦兹对流 |
| 数值后果 | 轨道漂移敏感,需辛积分器 | 轨道被吸引子"纠错",长期统计稳定 |
左列的物理原型想成一部靠重力与惯性吃饭的行星钟:给它初始能量,它走得再准也不需要发条,因为没有任何损失要补。右列是真实的钟摆钟:摩擦每秒都在偷能量,必须有发条或配重定期补给——这份"能量账本"正是第三章极限环的准入条件(自持振荡的本质是内部补给与耗散打平)。保守世界里没有"归宿"这个概念(轨道只是换着地方流浪),耗散世界里一切轨道都有归宿——这是两个世界最日常的差别。
散度判据可以直接数值验证,不必会推公式:
import numpy as np def lorenz_field(s): x, y, z = s return np.array([10.0 * (y - x), x * (28.0 - z) - y, x * y - 8.0 * z / 3.0]) def divergence(f, s, h=1e-6): d = np.zeros_like(s) for i in range(len(s)): e = np.zeros_like(s); e[i] = h d[i] = (f(s + e)[i] - f(s - e)[i]) / (2 * h) return d.sum() for p in [(1.0, 2.0, 3.0), (8.49, 8.49, 27.0), (-5.0, -3.0, 40.0)]: print("散度 =", round(divergence(lorenz_field, np.array(p)), 3))
输出三行相同的 −13.67:洛伦兹场是无处不在的收缩场。解读:体积塌缩与轨道分离并不矛盾——塌缩方向上指数压缩(第三只李雅普诺夫指数约 −14.5),另一方向上指数拉伸(第一只约 0.906),拉伸的轨道随后被折叠回来,压扁、折叠、再拉伸,这正是奇怪吸引子的几何生产线,3.4 节画给你看。变式:把无阻尼单摆场的散度同样算一遍,结果恒为零,且用普通 RK 积分能量会缓慢漂移——保守系统数值积分讲究"保结构",这是 5.2 节的伏笔。
对应可能性的流失,物理上是能量与信息的耗散通道。阻尼把机械能变热、电阻把电磁能变热、摩擦把定向运动变无规——每条通道都让"系统还能去哪儿"的选项缩水,这正是相体积收缩的热力学面孔。反过来,体积守恒的保守系统没有耗散通道,运动可能性永久保真,这也是它"没有吸引子、没有遗忘、初值永远有用"的深层原因。还有一类常被忽略的居间情形:梯度流(dx/dt = −∇V)体积未必守恒却也不振荡——它一路下坡直奔势能谷,是最温顺的耗散。判断系统属于保守、梯度还是一般耗散,决定你能期待的行为谱系,这一步应排在任何数值实验之前。数值对账也在此处:积分跑出的稳态若不落在任何吸引子上,先查散度符号与守恒量漂移,再怀疑物理——账不平,多半是自己的账本错了。
第二章装备齐了:向量场、两套引擎、相图三步法、两种判稳法、保守耗散分区。下一章去吸引子的动物园,把不动点之外的全部"住户"一次看全。