系列 · ODE 入门精讲 · 第 10 篇

常微分方程(十):分岔理论

为什么湖泊会突然从清澈变浑浊?为什么股市会毫无预兆地崩盘?分岔理论是研究系统'质变'的数学工具——而所有质变其实只有几种标准形式。

湖泊清澈几十年,一个夏天却突然变浑;电网平稳运行,几秒内却级联崩溃;钢柱在递增载荷下笔直挺立,直到突然弯折。

这不是预测失败,而是动力系统遵循分岔理论所刻画的固有规律:当参数越过临界值,相空间的拓扑结构发生突变,原本不可能的状态变为必然出现。本章的目标是分类这些“重排”,结果发现,范式屈指可数,掌握其特征后便能在各类系统中辨识它们。

常微分方程(十):分岔理论 — 章节概览图


什么是分岔?#

“Bifurcation”(拉丁文 furca = 叉子)由庞加莱在 1885 年前后提出。其直觉本质上是几何的:单参数系统 $\dot{x}=f(x,\mu)$ 的长期行为就像一幅随 $\mu$ 连续变化的图像。对大多数 $\mu$ 值而言,小幅扰动只会移动图像的位置,而不会改变其本质结构——平衡点数量、稳定性分配、周期轨道等均保持不变。这类 $\mu$ 被称为结构稳定

分岔则恰恰相反:它发生在某个临界值 $\mu_c$ 处,此时图像的形状会在任意小的扰动下发生不连续的改变。新平衡点凭空出现,两个平衡点碰撞并湮灭,稳定焦点转变为极限环,或周期轨道的周期突然翻倍。

这种转变是定性的,而非定量的。水管缓慢变窄不算分岔,但水管突然爆裂——那才是典型的分岔现象。

一个有用的心智模型#

可以把 $f(x,\mu)$ 想象成一个依赖于 $\mu$ 的“地形”。平衡点对应坡度为零的位置,其稳定性则由该处的曲率决定。随着 $\mu$ 缓慢变化,地形会连续变形;但每当一座山丘被压平成鞍点,继而翻转为山谷的那一刻——那就是分岔。在两次分岔之间,地形只是被平滑地推来推去而已。

四种余维-1 范式#

分岔理论的一大奇迹在于:在任意单参数分岔附近,系统的动力学行为在局部上(经过光滑坐标变换后)都等价于仅有的四种标准方程之一。这些就是所谓的范式

四种余维-1 范式分岔图全景。
四种余维-1 分岔在同一张图中。蓝色实线 = 稳定,红色虚线 = 不稳定,绿色带 = 极限环振幅。你在单参数 ODE 中遇到的每一个分岔,局部上都属于这四种之一。

为何称“余维-1”?因为每种分岔恰好需要调节一个参数才能发生。若想让两种分岔同时出现,则需调节两个参数,依此类推。当你只转动一个旋钮时,最常碰到的就是余维-1 事件。

鞍-结点分岔(fold / 折叠)#

范式: $\dot{x} = \mu - x^2.$$\dot{x}=0$$x^* = \pm\sqrt{\mu}$

$\mu$ 范围平衡点
$\mu < 0$
$\mu = 0$一个(半稳定,在 $x=0$
$\mu > 0$两个:$+\sqrt{\mu}$ 稳定,$-\sqrt{\mu}$ 不稳定

线性化 $f_x = -2x$ 直接给出稳定性:在 $+\sqrt{\mu}$$f_x = -2\sqrt{\mu} < 0$ (稳定),在 $-\sqrt{\mu}$$f_x = +2\sqrt{\mu} > 0$ (不稳定)。这两个平衡点随着 $\mu$ 从负到正穿过 0 而成对诞生。

鞍-结点分岔:左为相函数,右为带流向的分岔图。
左:抛物线 $\mu - x^2$$\mu$ 增大向上平移,其零点(即平衡点)在折叠点 $\mu=0$ 处诞生。右:分岔图。灰色区域根本没有平衡点——某种状态在那里根本不存在。

应用案例

  • 激光器:泵浦电流低于阈值时,唯一稳态是“无光”;高于阈值后,相干发光态突然出现。“无光”态依然存在,但与新态共存。
  • 神经元(I 类):刺激电流低于阈值时,静息态是唯一平衡点;超过后,静息态与一个鞍点碰撞并消失,神经元开始持续放电。
  • 湖泊从清变浑:随着营养盐负荷越过临界值,清水态的平衡点在鞍-结点折叠中消失。

折叠分岔的典型标志是湮灭前的双稳态:在 $\mu_c$ 略下方,两个平衡点共存;略上方,两者皆无。系统别无选择,只能跳向其他状态,往往剧烈而突然。

跨临界分岔#

范式: $\dot{x} = \mu x - x^2.$ 两个平衡点始终存在:$x^*=0$$x^*=\mu$ 。它们从不消失,只是在 $\mu=0$交换稳定性

$\mu$ 范围$x^*=0$$x^*=\mu$
$\mu < 0$稳定不稳定
$\mu > 0$不稳定稳定

这类分岔通常出现在系统因对称性或定义原因必须保留“平凡”状态($x=0$ )的情形中。

跨临界分岔:轨迹收敛到当前稳定的那条分支。
左:$\mu = -0.8$ 时轨迹收敛到 0(蓝色区域);$\mu = +0.8$ 时收敛到 $\mu$ (红色区域)。右:两条分支形成一个“X”,在交点处稳定性互换。

应用

  • 流行病学:无病平衡点始终存在。当基本再生数 $R_0$ 越过 1(作为分岔参数),它将稳定性让渡给地方性流行平衡点——这正是跨临界分岔。
  • 种群动力学:灭绝态总是平衡点。当环境质量参数越过某一阈值,灭绝态将稳定性移交给了正的共存态。
  • 激光器(另一种模型):“关闭”状态始终是不动点;在阈值处,它将稳定性让给激光发射态。

超临界叉型分岔#

范式: $\dot{x} = \mu x - x^3.$ 平衡点始终包含 $x^*=0$ ,且当 $\mu>0$ 时额外出现 $x^*=\pm\sqrt{\mu}$ 。平凡分支在此失稳,同时对称地诞生出两个新的稳定分支。

这是普适的对称性破缺分岔。方程在 $x \to -x$ 下不变,因此任何新平衡点都必须成对出现。在 $\mu_c$ 以下,系统停留在对称解上;超过 $\mu_c$ 后,它必须在两个同样合理的非对称解中做出选择。

亚临界叉型分岔(危险的那一种)#

范式: $\dot{x} = \mu x + x^3.$ 此时平凡分支失稳,却没有附近的稳定分支接住系统:当 $\mu<0$ 时,$x^*=0$ 稳定,另有两条不稳定的分支位于 $\pm\sqrt{-\mu}$ ;当 $\mu>0$ 时,只剩下不稳定的平凡分支,轨迹会飞向无穷远。

$$ \dot{x} = \mu x + x^3 - x^5, $$

它在区间 $-\tfrac{1}{4} \le \mu \le 0$ 内同时存在大幅稳定分支和平凡稳定态。若缓慢增加 $\mu$ ,系统会在 $\mu=0$ 处突然跳至大振幅;而要让它跳回原状,必须将 $\mu$ 降低至 $-\tfrac{1}{4}$ 以下。这就是著名的滞后回路

叉型分岔:左为温和的超临界叉型,右为带滞后回路的危险亚临界叉型。
左:超临界叉型。新分支从零连续生长——过渡温和且可逆。右:被 $-x^5$ 项稳定的亚临界叉型。紫色箭头标出 $\mu=0$ 处的灾难性向上跳跃和 $\mu=-\tfrac{1}{4}$ 处的延迟向下跳跃。双稳窗口的宽度即为滞后回路。

为什么这事关重大

  • 欧拉屈曲:受压细长柱在临界载荷下发生超临界叉型分岔——它会小幅、可逆地向左或向右弯曲。
  • 薄壳骤崩(圆柱壳的 von Karman 屈曲):此处的叉型是亚临界的。壳体长时间保持笔直,随后砰然坍塌成严重变形的状态。这正是航空航天工程师在计算屈曲载荷时采用 3–10 倍安全系数的原因。
  • 铁磁体过居里点:表现为超临界叉型分岔,磁化强度随温度下降从零连续增长。
  • 气候临界点:冰期与间冰期之间的跃迁常被建模为温度-反照率系统的亚临界叉型(或折叠)分岔。滞后窗口意味着:一旦系统“翻转”,仅将 CO$_2$ 浓度恢复至先前水平,并不足以使其回到原状态。

总结表#

分岔范式发生了什么“软”还是“硬”?
鞍-结点$\dot{x}=\mu-x^2$两个平衡点成对出现或消失硬(状态彻底消失)
跨临界$\dot{x}=\mu x-x^2$两条分支交换稳定性
超临界叉型$\dot{x}=\mu x-x^3$对称分裂,新分支从零连续生长
亚临界叉型$\dot{x}=\mu x+x^3$对称分裂向外扩张;伴随跳跃与滞后

Hopf 分岔:焦点孕育出环#

常微分方程(十):分岔理论 — 章节小结图

前面讨论的都是标量情形。第一个真正意义上的二维分岔是 Hopf 分岔(严格来说应称 Andronov-Hopf 分岔),它使得振荡能够凭空产生。

$$ \dot{r} = \mu r - r^3, \qquad \dot{\theta} = \omega. $$

径向方程正是超临界叉型分岔的形式。因此:

  • $\mu \le 0$ 时,唯一吸引子是 $r=0$ ——一个稳定螺旋点;
  • $\mu > 0$ 时,原点变为不稳定螺旋点,周围环绕着一个稳定极限环,其半径为 $r=\sqrt{\mu}$
$$ \dot{x} = \mu x - \omega y - x(x^2+y^2), \quad \dot{y} = \omega x + \mu y - y(x^2+y^2). $$

原点处的 Jacobi 矩阵为 $\begin{pmatrix}\mu & -\omega \ \omega & \mu\end{pmatrix}$ ,特征值为 $\lambda = \mu \pm i\omega$ 。当 $\mu$ 从负侧穿过零时,这一对复共轭特征值横截地穿越虚轴——这正是 Hopf 条件

Hopf 分岔:分岔前、临界、分岔后的相图,加上极限环振幅的三维抛物面。
上排:$\mu=-0.4$ 时轨迹螺旋收敛至原点;$\mu=0$ 时徘徊不定;$\mu=+0.4$ 时收敛到半径 $\sqrt{0.4}\approx 0.63$ 的极限环。下:极限环族构成一个向右开口的抛物面 $r = \sqrt{\mu}$

Hopf 定理(Hopf, 1942)$\mathbf{x}_0$ 是系统 $\dot{\mathbf{x}}=\mathbf{f}(\mathbf{x},\mu)$$\mu=\mu_c$ 处的平衡点,且其 Jacobi 矩阵具有一对复特征值 $\lambda(\mu) = \alpha(\mu) \pm i\beta(\mu)$ ,满足:

  1. $\alpha(\mu_c)=0$ (特征值位于虚轴上),
  2. $\beta(\mu_c)\ne 0$ (确为复数,非重零根),
  3. $\alpha'(\mu_c)\ne 0$ (特征值对横截穿越虚轴,而非仅相切),

并假设三次第一 Lyapunov 系数 $\ell_1 \ne 0$ 。那么,在 $\mu_c$ 处会涌现出一族周期轨道,其周期约为 $2\pi/\beta(\mu_c)$ 。当 $\ell_1 < 0$ 时,极限环稳定(超临界 Hopf);当 $\ell_1 > 0$ 时,极限环不稳定(亚临界 Hopf)。

亚临界 Hopf 是亚临界叉型分岔在周期轨道上的对应物:系统在分岔前毫无征兆,一旦越过临界点,便突然被抛向远处的吸引子。飞机机翼颤振、心律失常的突发、激光器的模式跳变,都是教科书级的亚临界 Hopf 案例。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import numpy as np
from scipy.integrate import odeint

def hopf(s, t, mu, omega=1.0):
    x, y = s
    r2 = x*x + y*y
    return [mu*x - omega*y - x*r2,
            omega*x + mu*y - y*r2]

t = np.linspace(0, 60, 6000)
sol = odeint(hopf, [0.05, 0.05], t, args=(0.4,))

余维与普适性#

一个分岔的余维 $k$ 指的是:要使其在参数空间中通用地发生,需要精确调节 $k$ 个独立参数。余维-1 事件在参数空间中形成曲线;余维-2 事件则出现在两条此类曲线相交的孤立点上。

常见的余维-2 分岔包括:

  • 尖点(cusp):两条鞍-结点曲线相切交汇。其展开形式为 $\dot{x} = \mu_1 + \mu_2 x - x^3$ ,其中包含一个由两条鞍-结点曲线围成的滞后区域。
  • Bogdanov-Takens(BT):对应双重零特征值。其展开式中,鞍-结点、Hopf 和同宿分岔曲线交汇于一点。当你在参数图中看到 Hopf 曲线与折叠曲线彼此靠近时,交汇处很可能存在一个 BT 点。
  • Bautin(广义 Hopf):第一 Lyapunov 系数在此过零,标志着超临界与亚临界 Hopf 的分界。此处极限环会发生“极限环的鞍-结点”分岔(saddle-node of cycles)。

这些分类之所以存在,其深层原因在于中心流形定理范式方法:在余维-$k$ 分岔附近,只有少数几个变量(即中心方向)承载慢变动力学,其余变量都被它们“奴役”。经过多项式坐标变换后,慢变动力学可简化为普适的范式。正因如此,分岔理论才具有有限性——几乎像一张“元素周期表”。

全局分岔:远离平衡点的拓扑变化#

局部分岔仅重排相空间中某一点附近的结构。而全局分岔则在大尺度上重构相空间,通常通过重新连接不变流形实现。

同宿分岔#

一条从鞍点沿其不稳定流形出发,又沿其稳定流形返回同一鞍点的轨迹,称为同宿轨道。它仅在孤立的参数值下存在(属于余维-1 现象)。在同宿分岔附近,邻近的周期轨道周期可以任意长——轨道在鞍点附近“爬行”的时间越来越久。这导致普适的标度律:$T \sim -\log|\mu - \mu_c|$

Shilnikov 定理指出:若存在一个通往鞍-焦点的同宿环,且其特征值满足特定比例条件,则其邻域内存在可数无穷多个不同周期的周期轨道——换句话说,系统表现出混沌

异宿分岔#

思路类似,但轨道连接的是不同的鞍点。异宿环可产生极慢的振荡,每个鞍点附近都有近乎停滞的漫长阶段。这是神经回路中“无赢家竞争”(winnerless competition)的标准模型。

SNIC(不变圆上的鞍-结点)#

这是一种发生在闭合不变曲线上的鞍-结点分岔。在分岔点以下,该曲线被一对鞍-结点“切断”;越过临界点后,这对平衡点湮灭,曲线恢复为一个极限环。该极限环以无限周期诞生(系统在原平衡点位置极其缓慢地移动),其周期满足标度律 $T \sim 1/\sqrt{\mu_c - \mu}$ 。SNIC 是神经元从静息态进入放电态的第二种标准路径(I 类兴奋性),也是厄尔尼诺(El Niño)振子模型的关键机制。

通往混沌之路:周期倍化#

极限环自身也能发生分岔。最著名的路径是周期倍化级联:一个周期为 $T$ 的稳定极限环失稳,产生一个周期为 $2T$ 的稳定环;后者再倍化为 $4T$ ,接着是 $8T$$16T$ ……这些倍化在某个有限参数值处累积,越过该点后系统进入混沌状态。

$$ \delta = \lim_{n \to \infty} \frac{\Delta_n}{\Delta_{n+1}} = 4.6692016\ldots $$

这个常数具有普适性——只要系统具有光滑的二次极大值,无论具体形式如何(如滴水水龙头、Rayleigh-Bénard 对流、电子电路),其周期倍化过程都受同一个 Feigenbaum 常数支配。

最简模型是 Logistic 映射 $x_{n+1} = r x_n(1 - x_n)$

$r$ 范围行为
$0 < r < 1$灭绝:$x \to 0$
$1 < r < 3$稳定不动点位于 $1 - 1/r$
$3 \le r < 3.449$周期 2
$3.449 \le r < 3.544$周期 4
$\vdots$周期 8, 16, 32, …
$r > 3.5699$混沌(含周期窗口)

Sharkovsky 定理(1964)及其著名推论“周期 3 蕴含混沌”(Li-Yorke, 1975)完善了这一图景:任何具有周期-3 轨道的连续区间映射,必然拥有所有其他周期的轨道,以及不可数多条非周期轨道。

关于级联之后的混沌行为,详见 第 9 章

数值检测与延拓#

实践中,我们很少能获得解析形式的范式,通常面对的是一个向量场 $\mathbf{f}(\mathbf{x},\mu)$ ,需要绘制其随 $\mu$ 变化的分岔图。标准工具是延拓方法

  1. 追踪平衡分支:从一个已知平衡点出发,使用 Newton 法求解 $\mathbf{f}(\mathbf{x},\mu)=0$ ,逐步增加 $\mu$ 。为处理折叠(fold),采用伪弧长延拓:将分支按弧长参数化,而非按 $\mu$ ,使算法能够“拐弯”。
  2. 监控 Jacobi 矩阵的特征值:实特征值穿越 0 标志着鞍-结点、跨临界或叉型分岔(需结合对称性和二阶系数区分);复特征值对穿越虚轴则标志 Hopf 分岔。
  3. 在分岔点切换分支:利用范式系数计算新分支的切向方向,从而启动对新生分支的追踪。

工业级工具包括:AUTO-07p(金标准,Fortran/C)、MATCONT(MATLAB)、PyDSToolBifurcationKit.jl(Python/Julia)。对于研究级别的分岔分析,这些工具几乎是必需品;自行实现延拓算法不仅工作量大,而且极易出错。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import numpy as np
from scipy.linalg import eigvals

def detect_bifurcations(f, fx, x_branch, mu_grid):
    """沿平衡分支追踪特征值穿越事件"""
    events = []
    prev = None
    for mu, x in zip(mu_grid, x_branch):
        eigs = eigvals(fx(x, mu))
        if prev is not None:
            # 实特征值穿越 -> 折叠/跨临界/叉型
            for a, b in zip(np.sort(prev.real), np.sort(eigs.real)):
                if a * b < 0 and abs(a.imag) + abs(b.imag) < 1e-8:
                    events.append({'kind': 'real_crossing', 'mu': mu})
            # 复对穿越 -> Hopf
            prev_pair = prev[np.iscomplex(prev)]
            curr_pair = eigs[np.iscomplex(eigs)]
            if prev_pair.size and curr_pair.size:
                if prev_pair[0].real * curr_pair[0].real < 0:
                    events.append({'kind': 'hopf', 'mu': mu,
                                   'omega': abs(curr_pair[0].imag)})
        prev = eigs
    return events

这一切意味着什么#

分岔理论最深刻的启示是:光滑的因果关系可以产生突变的结果,但仅通过少数几种规范机制。当你怀疑某个系统正逼近临界点时,可以提出一些具体的诊断问题:

  • 即将发生哪种分岔? 方差增大、扰动后恢复变慢(即临界减速)通常预示着折叠或叉型分岔;而振荡幅度增长则指向 Hopf 分岔。
  • 是超临界还是亚临界? 如果在接近临界点时系统呈现双稳态,那就是亚临界的,分岔后的跳跃将很大,且可能不可逆。
  • 是否存在滞后? 如果有,就不要假设反向调节参数就能恢复原状。
  • 是否有早期预警信号? 对于折叠分岔,小扰动的恢复速率在 $\mu \to \mu_c$ 时按普适标度 $\sim |\mu - \mu_c|^{1/2}$ 衰减至零。这一原理如今已被用于生态学、气候科学甚至流行病学中,以预测临界跃迁事件。

分类虽少,现象却无处不在。

总结#

  • 分岔的定义:为何用拓扑而非数量描述
  • 四种余维-1 范式:鞍-结点、跨临界、超临界叉型、亚临界叉型
  • Hopf 分岔:复特征值穿越虚轴时极限环如何产生
  • 亚临界分岔为何灾难性(跳跃+滞后),超临界分岔为何温和
  • 全局分岔初探:同宿轨、SNIC,通往混沌的入口
  • 余维与普适性:大自然为何偏爱同一套范式

前置知识:第 7–8 章稳定性理论与相平面分析,第 9 章 混沌词汇。

练习题#

  1. 不完美叉型。证明 $\dot{x} = h + \mu x - x^3$$(\mu, h)$ 平面上存在一条鞍-结点分岔曲线,且在原点处形成尖点。分别绘制 $h>0$$h=0$$h<0$ 时的分岔图。

  2. $\dot{x} = \mu - x - e^{-x}$ 的分岔。通过隐式方程 $\mu = x + e^{-x}$ 求所有平衡点。证明在 $\mu_c = 1$$x_c = 0$ 处存在鞍-结点分岔,并判断各分支的稳定性。

  3. Logistic 倍化的数值实验。计算 Logistic 映射的倍化参数 $r_n$ (至 $n=6$ )。利用 $\delta_n := (r_n - r_{n-1})/(r_{n+1} - r_n)$ 估计 Feigenbaum 常数。

  4. $$ \dot{x} = x(1-x) - \tfrac{xy}{a+x},\quad \dot{y} = -dy + \tfrac{xy}{a+x}, $$

    找出共存平衡点发生 Hopf 分岔的参数组合,并通过数值方法判断其为超临界还是亚临界。

  5. $x^5$ 饱和项的亚临界叉型。对 $\dot{x} = \mu x + x^3 - x^5$ ,推导鞍-结点折叠发生的 $\mu = -1/4$ 位置及对应的滞后区间。绘制准静态升降 $\mu$ 时系统所经历的滞后回路。

下一步#

下一章面对工程中绕不开的现实:绝大多数 ODE 没有解析解。我们必须用数值方法。下一章从最朴素的 Euler 法讲起,然后是 Runge-Kutta、隐式方法、自适应步长。重点不是公式,而是「为什么需要更复杂的方法」——刚性方程、误差累积、长时间稳定性这些坑会反复出现。

参考文献#

  • Strogatz, S. H. (2015). Nonlinear Dynamics and Chaos, 2nd ed. Westview / CRC. The single best entry point.
  • Kuznetsov, Y. A. (2004). Elements of Applied Bifurcation Theory, 3rd ed. Springer. The reference for codimension-1 and -2 normal forms.
  • Guckenheimer, J. & Holmes, P. (1983). Nonlinear Oscillations, Dynamical Systems, and Bifurcations of Vector Fields. Springer.
  • May, R. M. (1976). “Simple mathematical models with very complicated dynamics.” Nature 261, 459–467.
  • Scheffer, M. et al. (2009). “Early-warning signals for critical transitions.” Nature 461, 53–59.
  • Doedel, E. & Oldeman, B. (2012). AUTO-07p Continuation Software for ODEs.

上一章: Chapter 9: Chaos Theory and the Lorenz System

下一章: Chapter 11: Numerical Methods for Differential Equations

本文是常微分方程系列(共 18 篇)的第 10 篇。

本系列

ODE 入门精讲 18 篇

  1. 01 常微分方程(一):微分方程的起源与直觉
  2. 02 常微分方程(二):一阶微分方程的求解方法
  3. 03 常微分方程(三):高阶线性微分方程
  4. 04 常微分方程(四):拉普拉斯变换
  5. 05 常微分方程(五):级数解法与特殊函数
  6. 06 常微分方程(六):线性微分方程组
  7. 07 常微分方程(七):稳定性理论
  8. 08 常微分方程(八):非线性系统与相图
  9. 09 常微分方程(九):混沌理论与洛伦兹系统
  10. 10 常微分方程(十):分岔理论 当前
  11. 11 常微分方程(十一):数值方法
  12. 12 常微分方程(十二):边值问题
  13. 13 常微分方程(十三):偏微分方程引论
  14. 14 常微分方程(十四):传染病模型与流行病学
  15. 15 常微分方程(十五):种群动力学
  16. 16 常微分方程(十六):控制理论基础
  17. 17 常微分方程(十七):物理与工程应用
  18. 18 常微分方程(十八):前沿专题与系列总结

读有所得?

GitHub 关注我 → 新文周更

GitHub