2. 初值问题的数学表述与适定性

在动力系统求解中,我们面对的往往不是一个孤立的微分方程,而是“方程 + 初始条件”的组合。只有给定系统在某一时刻的状态,才能确定它此后如何演化。这一节要把这个直觉转化为严格的数学表述,并回答两个关键问题:这样的问题在什么条件下有解?解是否唯一?初始数据的微小扰动会不会被无限放大?

一、常微分方程初值问题的标准形式

设未知函数为向量值函数 x(t) ∈ ℝⁿ,自变量 t 通常表示时间。一阶常微分方程组的标准形式写作

dx/dt = f(t, x),   x(t₀) = x₀

其中 f: D → ℝⁿ 定义在区域 D ⊂ ℝ × ℝⁿ 上,(t₀, x₀) ∈ D 称为初始点,x₀ 称为初值。所谓“解”,是指定义在包含 t₀ 的某区间 I 上的可微函数 x(t),满足 x(t₀)=x₀,且对一切 t∈I 有 x′(t)=f(t,x(t))。

高阶方程可以化为一阶方程组。例如单摆方程 θ″ + (g/L)sinθ = 0,令 x₁=θ、x₂=θ′,得到

dx₁/dt = x₂
dx₂/dt = -(g/L)·sin(x₁)
初始条件:x₁(t₀)=θ₀, x₂(t₀)=ω₀

这一步很重要:数值求解器通常只接受一阶方程组形式,因此建模后的第一件事就是完成这种“降阶”改写,并明确状态向量的每个分量对应什么物理量。

二、存在唯一性:从 Peano 到 Picard–Lindelöf

仅有连续性不足以保证唯一。经典反例是

dx/dt = |x|^(1/2),  x(0) = 0

它有无穷多个解:x(t)≡0,以及 x(t)=(t−c)²/4 在 t≥c 上拼接的分段解。原因在于右端函数在 x=0 处虽然连续,但变化率无界,解可以在该点“分岔”。

Peano 定理只要求 f 连续,就能保证局部解存在,但不保证唯一。Picard–Lindelöf 定理在此基础上增加 Lipschitz 条件,同时得到存在性与唯一性。其构造性证明使用 Picard 迭代:

x₀(t) ≡ x₀
x_{k+1}(t) = x₀ + ∫_{t₀}^{t} f(s, x_k(s)) ds

在 Lipschitz 条件下,该迭代序列在足够短的区间上一致收敛到唯一解。这个迭代不仅是证明工具,也是理解“解由初值连续决定”的直观来源。

三、Lipschitz 条件的含义与检验

称 f 关于 x 满足 Lipschitz 条件,若存在常数 L≥0,使得对区域内任意 (t,x)、(t,y) 有

‖f(t, x) − f(t, y)‖ ≤ L·‖x − y‖

L 称为 Lipschitz 常数。它刻画的是右端函数对状态的敏感度上界:状态差多少,导数差最多被放大 L 倍。若 f 对 x 连续可微,则可用雅可比矩阵的范数上界估计 L,即 L = sup‖∂f/∂x‖。例如 f(t,x)=−5x+sin t,则 ∂f/∂x=−5,L=5,全局 Lipschitz。

需要注意,Lipschitz 是比连续强、比可微弱的条件。f(x)=|x| 满足 Lipschitz(L=1)但不可微;f(x)=x² 在 ℝ 上不满足全局 Lipschitz,但在任意有界区间 [−M,M] 上满足局部 Lipschitz(L=2M)。这解释了为什么许多非线性系统只能保证局部解,解可能在有限时间内爆破,例如 ẋ=x²、x(0)=1 的解 x=1/(1−t) 在 t→1 时发散。

初值问题 dx/dt = f(t,x), x(t₀)=x₀ 的适定性判据 条件 A:f 连续 保证局部解存在 条件 B:f 关于 x 满足 Lipschitz 条件 条件 C:解对初值 连续依赖(稳定性) Peano 定理 存在,未必唯一 Picard–Lindelöf 局部存在且唯一 Gronwall 估计 ‖x−y‖ ≤ e^{L|t−t₀|}‖x₀−y₀‖ 适定(Well-posed) ① 解存在 ② 解唯一 ③ 连续依赖初值 三者同时成立才称适定 反例:ẋ=|x|^{1/2}, x(0)=0 仅连续不满足 Lipschitz,解不唯一;ẋ=x², x(0)=1 局部 Lipschitz,解在 t=1 前爆破

四、适定性:存在、唯一、稳定三要素

Hadamard 意义下的适定性要求初值问题同时满足三条:解存在;解唯一;解连续依赖于初始数据。第三条常被忽视,却对工程实践至关重要。若初值有测量误差 δ,我们希望解在有限时间内的偏差被某个与 δ 同阶的量控制,而不是任意放大。

在 Lipschitz 条件下,可以给出定量估计。设 x(t)、y(t) 分别是初值 x₀、y₀ 对应的解,则

‖x(t) − y(t)‖ ≤ e^{L|t−t₀|} · ‖x₀ − y₀‖

这就是 Gronwall 不等式的直接推论。它说明误差上界随时间指数增长,增长速率由 Lipschitz 常数 L 决定。L 越大,问题越“敏感”。例如 L=5、t−t₀=2 时,放大因子 e^{10}≈22026,初值 10⁻³ 的误差可能被放大到约 22,这在数值求解时必须通过减小步长或提高精度来应对。

判断一个具体问题是否适定,可按顺序检查:右端函数在初始点邻域是否连续;是否关于状态变量满足 Lipschitz(可尝试求偏导上界);若仅局部 Lipschitz,则需确认解在关心的区间内未发生爆破。

五、从判据到实践:一个可操作的检验示例

考虑阻尼振子 ẍ + 2ζωₙẋ + ωₙ²x = 0,取 ωₙ=2、ζ=0.3,初值 x(0)=1、ẋ(0)=0。降阶后 f 为线性函数,雅可比矩阵为

A = [[0, 1], [−ωₙ², −2ζωₙ]] = [[0, 1], [−4, −1.2]]

其谱范数上界可取 ‖A‖∞ = max(1, 5.2) = 5.2,故 L=5.2,问题全局 Lipschitz,因而适定。若把初值改为 x(0)=1+10⁻⁶,理论上 t=1 时解的偏差不超过 e^{5.2}×10⁻⁶≈1.8×10⁻⁴。实际数值验证时,可用同一求解器分别以两组初值积分到 t=1,比较状态差是否落在该上界内;若明显超出,应检查步长、容差或右端函数实现是否有误。

反过来,若右端含分段或开关项,例如 f(x)=−sign(x),在 x=0 处不满足 Lipschitz,滑模解可能不唯一,此时需要引入 Filippov 意义下的解或补充物理约束,而不能直接套用经典唯一性定理。理解这些边界,正是把数学判据转化为可靠求解实践的关键。