本文我们研究形如 y=f(x,y)y' = f(x,y) 的一阶显式常微分方程,分析其初值问题的解在局部到全局的存在性和唯一性。

{y=f(x,y)y(x0)=y0\begin{cases} y' = f(x,y) \\ y(x_0) = y_0 \end{cases}

我们称上述方程在 (x0,y0)DR2(x_0, y_0) \in D \subset \mathbb{R}^2 上有解意味着有一条解曲线 y(x)Dy(x) \subset D 即可,这不要求 y(x)y(x) 的定义域充满 DxD_x,有唯一解同理叙述;而称上述方程在 x0IRx_0 \in I \subset \mathbb{R} 上有解意味着解曲线 y(x)y(x) 要在 II 上的每一点有定义且符合题意。

根据定义我们知道,上述方程的解 y(x)y(x) 一定要是连续可导的,且过点 (x0,y0)(x_0, y_0),从而我们希望在 xyxy 平面上找到一个过点 (x0,y0)(x_0, y_0) 且满足 y=f(x,y)y' = f(x,y) 的函数曲线。

但研究问题的时候我们通常不会直接在全局上找解,即把解的定义域直接限制在 R\mathbb{R} 上,这意味着上述方程的解必须在 R\mathbb{R} 上的每个点都有定义,这样的条件太苛刻了,故我们一般会先从 x0x_0 的一个小邻域内去找是否有解以及解是否唯一。

如果说在任何 x0x_0 的邻域内均没有解,那么显然在全局上就没有解,如果说在某个邻域有解,则我们可以找到一个最大解区间 II,至于这个 II 是否可以取到 R\mathbb{R} 是不确定的,从局部小邻域到最大解区间,这其中实际上蕴含了解的延拓思想。从而我们先希望在一个小区域 (x0,y0)DR2(x_0, y_0) \in D \subset \mathbb{R}^2 中所有过点 (x0,y0)(x_0, y_0) 的连续可导函数里找到一个符合 y=f(x,y)y' = f(x,y) 的函数曲线,再看这个小区域里的解曲线是否是唯一的。

研究问题往往从特殊再到一般,我们不妨先研究 ff 是二元连续函数,那么 yy' 也是连续函数,从而可积,那么原来的初值问题等价于下述的积分方程:

y(x)=y0+x0xf(t,,y(t))dt,xJy(x) = y_0 + \int_{x_0}^x f(t,, y(t))\,dt, \quad x \in J

这里的定义域 JJ 先待定,或者可以理解为是一个很小的 x0x_0 的邻域。我们实际上就是解上述积分方程,不妨定义一个映射:

T:C(J)C(J),(Ty)(x)=y0+x0xf(t,,y(t))dt,xJT: C(J) \to C(J), \quad (Ty)(x) = y_0 + \int_{x_0}^x f(t,, y(t))\,dt, \quad x \in J

那么我们的目标就变成了找这个映射在 C(J)C(J) 上的不动点,这里的 C(J)C(J)JJ 上的所有连续可导函数形成的空间,那么原初值问题在 JJ 上解的存在性和唯一性就变成了不动点的存在性和唯一性。值得注意的是这个映射 TT 是将 JJ 上的任意连续可导函数都映射到了 JJ 上过点 (x0,y0)(x_0, y_0) 的连续可导函数。

1. 解的唯一存在性

本节我们讨论更特殊的如下情形:设 D=[x0a,,x0+a]×[y0b,,y0+b]D = [x_0 - a,, x_0 + a] \times [y_0 - b,, y_0 + b]a,ba, b 均大于零,假设二元函数 ffDD 上连续且满足关于 yy 的 Lipschitz 条件,即存在常数 LL,使得

f(x,y1)f(x,y2)Ly1y2,(x,y1),(x,y2)D|f(x,y_1) - f(x,y_2)| \leq L|y_1 - y_2|, \quad \forall\, (x,y_1), (x,y_2) \in D

我们接下来在区域 DD 上研究不动点的存在性和唯一性,以及解曲线的定义域 J[x0a,,x0+a]J \subset [x_0 - a,, x_0 + a] 的可取范围。在研究之前,我们先介绍压缩映射原理和解的局部延拓相关知识来得到关于解的局部存在唯一性的 Cauchy-Lipschitz 定理,最后通过全局延拓探究解在全局的存在唯一性。

1.1 压缩映射原理

BB 为完备的赋范线性空间,即 Banach 空间,DBD \subset B 为非空闭集,若对于映射 T:DBT: D \to B,存在 q(0,1)q \in (0,1),使得

T(x)T(y)qxy,x,yD|T(x) - T(y)| \leq q|x - y|, \quad \forall\, x,y \in D

则我们有 TTDD 上有唯一的不动点,即存在 xˉD\bar{x} \in D 使得 T(xˉ)=xˉT(\bar{x}) = \bar{x} 成立。

更确切地说,任取 x0Dx_0 \in D,令 xn+1=T(xn)x_{n+1} = T(x_n)n0\forall\, n \geq 0,则序列 xn{x_n} 总会收敛于 xˉ\bar{x},且

xnxˉ11qxn+1xnqn1qx1x0|x_n - \bar{x}| \leq \frac{1}{1-q}|x_{n+1} - x_n| \leq \frac{q^n}{1-q}|x_1 - x_0|

1.2 解的局部延拓

如果 ϕ1(x)\phi_1(x) 为初值问题 {y=f(x,y)y(x0)=y0\begin{cases} y' = f(x,y) \\ y(x_0) = y_0 \end{cases}J1=[x0,b]J_1 = [x_0, b] 上的唯一解,ϕ2(x)\phi_2(x) 为初值问题 {y=f(x,y)y(b)=ϕ1(b)\begin{cases} y' = f(x,y) \\ y(b) = \phi_1(b) \end{cases}J2=[b,c]J_2 = [b,c] 上的唯一解,可以证明

ϕ(x)={ϕ1(x),x[x0,b]ϕ2(x),x[b,c]\phi(x) = \begin{cases} \phi_1(x), & x \in [x_0, b] \\ \phi_2(x), & x \in [b, c] \end{cases}

为初值问题 {y=f(x,y)y(x0)=y0\begin{cases} y' = f(x,y) \\ y(x_0) = y_0 \end{cases}J=[x0,c]J = [x_0, c] 上的唯一解,事实上这只需要证明在点 bb 处的导数存在且满足导数等于 f(x,y)f(x,y) 即可。

根据上述结论,我们知道如果我们想研究 J=[x0,xˉ]J = [x_0, \bar{x}] 上的唯一解,那么可以先研究 [x0,x1][x_0, x_1] 上的唯一解,再由这个解构建新的初值问题,研究在 [x1,x2][x_1, x_2] 上的唯一解,以此类推,这里的 x1,x2,x_1, x_2, \cdots 均小于等于 xnx_n,其取值依赖于你能够求得出的初值问题的解区间,至于 xnx_n 是否能达到 xˉ\bar{x} 是不确定的。

更一般地,如果说 ϕ1(x)\phi_1(x) 为初值问题 {y=f(x,y) y(x0)=y0\begin{cases} y' = f(x,y) \ y(x_0) = y_0 \end{cases}J1J_1 上的唯一解,ϕ2(x)\phi_2(x) 为初值问题 {y=f(x,y) y(x1)=y1\begin{cases} y' = f(x,y) \ y(x_1) = y_1 \end{cases}J2J_2 上的唯一解,且 J1J2J_1 \cap J_2 \neq \emptysetϕ1(x)=ϕ2(x)\phi_1(x) = \phi_2(x) 对于某个 xJ1J2x \in J_1 \cap J_2 成立,那么初值问题 {y=f(x,y)y(x0)=y0\begin{cases} y' = f(x,y) \\ y(x_0) = y_0 \end{cases}J1J2J_1 \cup J_2 上存在唯一解 ϕ(x)\phi(x),使得 ϕJn=ϕn,;n=1,2\phi|_{J_n} = \phi_n,; n = 1,2 成立。

1.3 Cauchy-Lipschitz 定理

根据压缩映射原理,自然我们会希望映射 T:C(J)C(J)T: C(J) \to C(J) 为压缩映射,这样它在 JJ 上就有唯一不动点,从而原来的初值问题在 JJ 上有唯一解,我们根据开头给出的条件,来分析一下映射 TT 或者说找到一个合适的 JJ 使得 TT 为压缩映射。任取 y,zC(J)y, z \in C(J)

Ty(x)Tz(x)=x0xf(t,y(t))f(t,z(t))dtx0xf(t,y(t))f(t,z(t))dtLx0xy(t)z(t)dtL(xx0)yz|T_y(x) - T_z(x)| = \left|\int_{x_0}^x f(t,y(t)) - f(t,z(t))\,dt\right| \leq \int_{x_0}^x |f(t,y(t)) - f(t,z(t))|\,dt \leq L\int_{x_0}^x |y(t) - z(t)|\,dt \leq L(x-x_0)|y-z|

这里空间 C(J)C(J) 的范数为 y=maxxJy(x)|y| = \max_{x \in J}|y(x)|,上述过程为了使得第二个不等式成立,我们需要让

y(t)[y0b,y0+b],t[x0,x]    y(t)y0b,t[x0,x]y(t) \in [y_0 - b, y_0 + b],\quad \forall\, t \in [x_0, x] \iff |y(t) - y_0| \leq b,\quad \forall\, t \in [x_0, x]

而根据微分中值定理,y(t)y(x0)=y(ξ)tx0Atx0|y(t) - y(x_0)| = |y'(\xi)| \cdot |t - x_0| \leq A \cdot |t - x_0|,其中 A=maxx,yDf(x,y)A = \max_{x,y \in D}|f(x,y)|,从而只需要 tx0<bA|t - x_0| < \dfrac{b}{A} 即可,那么也就是说在区间 [x0α,,x0+α][x_0 - \alpha,, x_0 + \alpha] 内(其中 α=min{a,,bA}\alpha = \min\{a,, \dfrac{b}{A}\}),有

T(y)T(z)Lαyz|T(y) - T(z)| \leq L\alpha|y - z|
  • 如果 Lα<1L\alpha < 1,那么在区间 [x0α,,x0+α][x_0 - \alpha,, x_0 + \alpha] 上初值问题有唯一解;
  • 如果 Lα1L\alpha \geq 1,我们不妨先在一个更小的区间 [x0,,x0+b][x_0,, x_0 + b] 分析,其中 b=Lαn<1b = \dfrac{L\alpha}{n} < 1,那么在该小区间 TT 为压缩映射,原初值问题有唯一解 y1(x)y_1(x),同理在区间 [x0+b,x0+2b][x_0 + b, x_0 + 2b] 上,T(y)=y1(x0+b)+x0xf(t,y(t))dtT'(y) = y_1(x_0 + b) + \int_{x_0}^x f(t, y(t))\,dt 仍为压缩映射,从而我们找到初值问题 {y=f(x,y)y(x0+b)=y1(x0+b)\begin{cases} y' = f(x,y) \\ y(x_0 + b) = y_1(x_0 + b) \end{cases} 也有唯一解,再由解的延拓中的结论,得到在区间 [x0,x0+2b][x_0, x_0 + 2b] 上原初值问题有唯一解,以此类推,得到在区间 [x0,,x0+α][x_0,, x_0 + \alpha] 上有唯一解,同理 [x0α,,x0][x_0 - \alpha,, x_0] 上有唯一解,最终就得到 [x0α,,x0+α][x_0 - \alpha,, x_0 + \alpha] 上初值问题有唯一解。

实际上我们根据压缩映射原理,可以有计算初值问题解的数值方法,在满足条件的定义域内构造逐次逼近序列

yk+1(x)=y0+x0xf(t,,yk(t))dt,ky_{k+1}(x) = y_0 + \int_{x_0}^x f(t,, y_k(t))\,dt, \quad \forall\, k

y0(x)=y0y_0(x) = y_0,例如上述如果 Lα1L\alpha \geq 1,我们则需要分区间进行逼近。

综上我们得到如下的 Cauchy-Lipschitz 定理:设 D=[x0a,,x0+a]×[y0b,,y0+b]D = [x_0 - a,, x_0 + a] \times [y_0 - b,, y_0 + b]a,ba,b 均大于零,假设二元函数 ffDD 上连续且满足关于 yy 的 Lipschitz 条件,则初值问题

{y=f(x,y)y(x0)=y0\begin{cases} y' = f(x,y) \\ y(x_0) = y_0 \end{cases}

DD 上有唯一解,且解的存在区间 JJ 至少包含区间 [x0α,,x0+α][x_0 - \alpha,, x_0 + \alpha],其中

α=min{a,bA},A=maxx,yDf(x,y)\alpha = \min\{a, \frac{b}{A}\}, \quad A = \max_{x,y \in D}|f(x,y)|

1.4 解的全局延拓

根据上述分析,我们已经知道如果二元连续函数 ff 在平面上每个点都满足关于 yy 的局部 Lipschitz 条件,那么 y=f(x,y)y' = f(x,y) 关于每一点 (x0,y0)(x_0, y_0) 的初值问题在 x0x_0 的一个小邻域一定有唯一解,或者说在平面上一定唯一解曲线。那么一个自然的想法就是不断进行局部延拓,是否可以得到全局的解?

具体思路如下:我们首先根据 y=f(x,y)y' = f(x,y) 关于点 (x0,y0)(x_0, y_0) 的初值问题得到唯一解区间 [x0a1,,x0+a1][x_0 - a_1,, x_0 + a_1] 和对应的解函数 y1(x)y_1(x),然后根据 y=f(x,y)y' = f(x,y) 关于点 (x0+a1,,y1(x0+a1))(x_0 + a_1,, y_1(x_0 + a_1)) 的初值问题得到唯一解区间 [x0+a1a2,,x0+a1+a2][x_0 + a_1 - a_2,, x_0 + a_1 + a_2],从而得到原初值问题在 [x0,,x0+a1+a2][x_0,, x_0 + a_1 + a_2] 上有唯一解,左侧同理,如此一直进行下去,记 Sn=k=1nakS_n = \sum_{k=1}^n a_k,如果说 limnSn=\lim_{n \to \infty} S_n = \infty,那么原初值问题自然在全局有唯一存在性,否则,便无法延拓到全局。

同样以右侧为例,如果初值问题的解无法延拓到正无穷,那么它一定存在一个最大解区间,记为 [x0,b)[x_0, b),如果可以取到 bb,那么自然可以继续向右延拓,又因为倘若这个解区间对应的解函数 y(x)y(x) 在其中有界,则 (x,y(x))(x, y(x)) 有界,则 f(x,y(x))f(x, y(x)) 有界,则 y|y'| 在这个解区间有界,从而 y(x)y(x)[x0,b)[x_0, b) 上是一致连续的,从而 bb 处的左极限是存在且有限的,从而根据积分方程令 xbx \to b^- 可得解区间可延拓到 [x0,b][x_0, b],从而如果初值问题的解无法延拓到正无穷,则 limxby(x)=\lim_{x \to b^-} y(x) = \infty

如果我们假设的是二元连续函数 ff 在开集 DR2D \subset \mathbb{R}^2 上满足每个点的关于 yy 的局部 Lipschitz 条件,同样任给 (x0,y0)D(x_0, y_0) \in D,易知初值问题 {y=f(x,y)y(x0)=y0\begin{cases} y' = f(x,y) \\ y(x_0) = y_0 \end{cases}DD 上存在唯一解 ϕ(x)\phi(x),并且 ϕ(x)\phi(x) 对应的右侧最大解区间形如 [x0,b)[x_0, b),并且我们有下列三种情形之一必成立:

  • b=b = \infty,即全局有唯一解
  • b<b < \infty,且 limxby(x)=\lim_{x \to b^-} y(x) = \infty,即可以一直延拓,且解曲线一直在 DD 内,但无法延拓到全局
  • b<b < \infty,且 limxbdD(x,,ϕ(x))=0\lim_{x \to b^-} d_{\partial D}(x,, \phi(x)) = 0,即解曲线到达 DD 的边界,而 DD 之外不一定满足 Lipschitz 条件,从而无法向外延拓

事实上上述的三个情形合起来就等价于 G={(x,ϕ(x))xx0}G = \{(x,\phi(x)) \mid x \geq x_0\} 为非有界闭集,即解函数在最大解区间对应的像为非有界闭集。事实上如果将无穷远处也看做 DD 的边界,那么就相当于唯一解一定能延拓到 DD 的边界。

当然如果 ff 满足的是全局 Lipschitz 条件,那么解曲线就不会在有限时间爆炸,从而解可以向左或向右延拓到边界,即上述的第二个情形不会成立。

1.5 Osgood 条件

设函数 f(x,y)f(x,y) 在区域 GG 内连续,而且满足不等式 f(x,y1)f(x,y2)F(y1y2)|f(x,y_1) - f(x,y_2)| \leq F(|y_1 - y_2|),其中 F(r)>0F(r) > 0r>0r > 0 上的连续函数,并且瑕积分 0r1drF(r)=\int_0^{r_1} \dfrac{dr}{F(r)} = \infty,其中 r1>0r_1 > 0 为常数,则称 f(x,y)f(x,y)GG 内对 yy 满足 Osgood 条件。

容易证明关于 yy 的 Lipschitz 条件是 Osgood 条件的特例。

并且我们有更一般的满足对 yy 的 Osgood 条件的解的唯一存在性的结论:若 f(x,y)f(x,y) 在区域 GG 内满足对 yy 的 Osgood 条件,那么初值问题 {y=f(x,y)y(x0)=y0\begin{cases} y' = f(x,y) \\ y(x_0) = y_0 \end{cases}GG 内有唯一解,且可以延拓到 GG 的边界。解的存在性可以根据下面的 Peano 定理得出,唯一性采取反证法即可。

2. 解的存在性

前面我们对二元连续函数 ff 施加了局部关于 yy 的 Lipschitz 条件来研究初值问题的解的唯一存在性以及最大解区间的范围,那么我们现在丢掉这个 Lipschitz 条件来分析解是否存在,即用一个弱一点的条件来研究弱一点的结论。

我们先来观察这个初值问题 {y=f(x,y)y(x0)=y0\begin{cases} y' = f(x,y) \\y(x_0) = y_0 \end{cases},分析 y=f(x,y)y' = f(x,y),不难发现我们可以理解为在二维平面上,每一点都唯一对应一个斜率,而方程的解就是过点 (x0,y0)(x_0, y_0) 的且每点斜率吻合的连续可导曲线,于是我们自然会有一个想法,从给定的点 (x0,y0)(x_0, y_0) 出发,该点的斜率我们知道,我们就可以向两边作极小的线性延伸,然后我们会得到一个新的点 (x1,y1)(x_1, y_1),根据这个点我们又得到该点的斜率,再作延伸,无限进行下去,似乎我们就可以得到一个近似解,只要不断减小每次延伸的长度,似乎就能提高近似的精度,这在理论上其实需要证明这一列折线函数在每次延伸的长度趋于零时是收敛的,并且收敛到初值问题的解。

事实上上述的思想其实就是欧拉折线,下面我们更严谨地来定义欧拉折线。

2.1 欧拉折线

对于初值问题 {y=f(x,y)y(x0)=y0\begin{cases} y' = f(x,y) \\y(x_0) = y_0 \end{cases},设 f(x,y)f(x,y) 是在矩形区域 D=[x0a,x0+a]×[y0b,y0+b]D = [x_0 - a, x_0 + a] \times [y_0 - b, y_0 + b] 内给定的连续函数,则初值问题同样等价于前面的积分方程,且为了保证解曲线一定落在 DD 内部,我们加以一定的限制,即令 A=maxx,yDf(x,y)A = \max_{x,y \in D}|f(x,y)|h=min{a,bM}h = \min\{a, \frac{b}{M}\},则在区间 [x0h,,x0+h][x_0 - h,, x_0 + h] 上,原初值问题若有解则解曲线一定落在 DD 内。接着,我们将区间 xx0h|x - x_0| \leq h 分成 2n2n 等份,则每份的长度为 hn=hnh_n = \dfrac{h}{n},而 2n+12n+1 个分点为 xk=x0+khnx_k = x_0 + kh_nk=0,±1,,±nk = 0, \pm1, \cdots, \pm n),从而 xnx_{-n}xnx_n 为区间 [x0h,,x0+h][x_0 - h,, x_0 + h] 的两个端点,根据上述的想法,我们令欧拉折线的表达式为:

φn(x)=y0+k=0s1f(xk,yk)(xk+1xk)+f(xs,ys)(xxs),xs<xxs+1;(0sn1)\varphi_n(x) = y_0 + \sum_{k=0}^{s-1} f(x_k, y_k)(x_{k+1} - x_k) + f(x_s, y_s)(x - x_s), \quad \forall\, x_s < x \leq x_{s+1}\,; (0 \leq s \leq n-1)

这就给出了当 x0<xx0+hx_0 < x \leq x_0 + h 的欧拉折线的表达式,对于左边区域同理可得。

于是我们相当于需要证明欧拉折线 φn(x)\varphi_n(x) 关于 nn 在区间 xx0h|x - x_0| \leq h 上是收敛的,或者说有一个收敛的子列,更强一点,我们希望序列是一致收敛的,这样可以保证连续性,不仅如此我们最终要说明它是可导的,且满足 y=f(x,y)y' = f(x,y) 这一条件。为了解决这个收敛性问题,我们引入如下的 Ascoli 引理。

2.2 Ascoli 引理

我们先介绍两个概念,分别是函数列的一致有界和等度连续。

设在区间 II 上给定一个函数序列 fn(x){f_n(x)},如果存在常数 K>0K > 0,使得 fn(x)<K|f_n(x)| < K 对任意的 xIx \in Inn 都成立,则称上述的函数列在 II 上是一致有界的。

如果对任意的正数 ε\varepsilon,存在正数 δ\delta,使得 ,x1,x2I\forall, x_1, x_2 \in I 且满足 x1x2<δ|x_1 - x_2| < \delta 时,有 fn(x1)fn(x2)|f_n(x_1) - f_n(x_2)| 对于所有的 nn 成立,则称上述的函数列在 II 上是等度(一致)连续的。

并且我们可以证明如果一函数列在闭区间上收敛,且等度连续,那么它一致收敛,证明方法用定义加闭区间的无限开覆盖存在有限子覆盖加等度连续,根据这个我们容易证明如下的 Ascoli 引理

fn(x){f_n(x)} 在有限闭区间 II 上是一致有界和等度连续的,则可以选取它的一个子序列使得,该子序列在 II 上是一致收敛的。具体证明通过不断从某点收敛子列中找另一个收敛子列,再得到最终逐点收敛的对角序列,然后根据上一个结论易得。

2.3 Peano 存在性定理

接下来要证明的 Peano 存在性定理给出了当 ff 仅连续时初值问题的解的存在性,在此之前,我们先来看两个引理,都是关于上述的欧拉折线的。

首先我们证明上述的欧拉序列在区间 xx0h|x - x_0| \leq h 至少有一个一致收敛的子序列,根据 Ascoli 引理,我们需要这一列欧拉折线满足一致有界和等度连续即可,一致有界是显然的都处于 DD 的内部,且由于欧拉折线的各个直线段的斜率绝对值都小于等于 AA,从而容易证明每个欧拉折线的任何割线的斜率的绝对值也小于等于 AA,即有 φn(x1)φn(x2)Ax1x2|\varphi_n(x_1) - \varphi_n(x_2)| \leq A|x_1 - x_2| 对于任意 nn 成立,从而满足等度连续,从而得证。

现在我们知道这一列欧拉折线存在子列一致收敛,收敛的函数有什么性质以及是否为初值问题的解还不确定,于是我们先证明下述的一个结论:欧拉折线 y=φn(x)y = \varphi_n(x)xx0h|x - x_0| \leq h 上满足

φn(x)=y0+x0xf(x,,φn(x))dx+δn(x)\varphi_n(x) = y_0 + \int_{x_0}^x f(x,, \varphi_n(x))\,dx + \delta_n(x)

其中 limnδn(x)=0\lim_{n \to \infty} \delta_n(x) = 0 对任意 xx0h|x - x_0| \leq h,事实上我们有

δn(x)=i=0s1xixi+1[f(xi,yi)f(x,,φn(x))]dx+xsx[f(xs,ys)f(x,,φn(x))]dx\delta_n(x) = \sum_{i=0}^{s-1}\int_{x_i}^{x_{i+1}}\bigl[f(x_i, y_i) - f(x,, \varphi_n(x))\bigr]\,dx + \int_{x_s}^x \bigl[f(x_s, y_s) - f(x,, \varphi_n(x))\bigr]\,dx

又因为在区间 [xi,xi+1][x_i, x_{i+1}] 上,我们有

xxihn,φn(x)yiMxxiMhn|x - x_i| \leq \frac{h}{n}, \quad |\varphi_n(x) - y_i| \leq M|x - x_i| \leq \frac{Mh}{n}

从而根据 f(x,y)f(x,y) 的连续性可推出 limnδn(x)=0\lim_{n \to \infty} \delta_n(x) = 0

根据上述的两个结论,我们知道我们可以选取欧拉折线序列的一个子序列 φnk(x){\varphi_{n_k}(x)},使其在区间 xx0h|x - x_0| \leq h 上一致收敛,从而极限函数 φ(x)=limnφnk(x)\varphi(x) = \lim_{n \to \infty} \varphi_{n_k}(x) 在该区间是连续的,又因为我们有

φnk(x)=y0+x0xf(x,φnk(x))dx+δnk(x)\varphi_{n_k}(x) = y_0 + \int_{x_0}^x f(x, \varphi_{n_k}(x))\,dx + \delta_{n_k}(x)

再令 kk \to \infty,由一致收敛性和 ff 的连续性,我们推出

limkx0xf(x,φnk(x))dx=x0xf(x,φ(x))dx\lim_{k \to \infty}\int_{x_0}^x f(x, \varphi_{n_k}(x))\,dx = \int_{x_0}^x f(x, \varphi(x))\,dx

从而有

φ(x)=y0+x0xf(x,φ(x))dx\varphi(x) = y_0 + \int_{x_0}^x f(x, \varphi(x))\,dx

这说明 y=φ(x)y = \varphi(x) 即为原初值问题在区间 xx0h|x - x_0| \leq h 的一个解。

2.4 解的延拓补充

前面我们讲述了对于初值问题唯一解的延拓,实际上一句话概括就是如果二元连续函数 ff 在区域 GG 上每个点都满足关于 yy 的局部 Lipschitz 条件,那么区域 GR2G \subset \mathbb{R}^2 上的初值问题的解曲线一定可以唯一延拓到 GG 的边界,这个边界可以为 x,yx, y 无穷远处。同样,该定理适用于 ff 仅在 GG 内连续的情况,只不过不是唯一延拓。

2.5 Schauder 不动点定理

XX 为 Banach 空间,DXD \subset X 为闭凸子集,若映射 T:DXT: D \to X 为连续紧算子,且 T(D)DT(D) \subset D,则 TT 存在不动点 xDx \in D

上述的连续算子和紧算子的概念如下:设 (X,X)(X, |\cdot|_X)(Y,Y)(Y, |\cdot|_Y) 为赋范线性空间,

  • 若映射 T:XYT: X \to Y 满足 XX 中任意收敛于 xx 的序列 xn{x_n}Txn{T_{x_n}} 收敛于 TxT_x,则称 TT连续算子
  • 若映射 T:XYT: X \to Y 满足对于任意有界集 DXD \subset X,有 T(D)T(D)YY 中的相对紧集,则称 TT紧算子

为了更好地理解这个定理的相关概念,我们引入拓扑学中度量空间中若干于紧性相关的概念,设 AA 为度量空间 (X,d)(X, d) 中的子集,则:

  • AA 的任何开覆盖存在有限子覆盖,则 AA 称为紧集
  • AA 的闭包为紧集,则 AA 称为相对紧集
  • AA 中任意序列均有收敛子列且收敛于 AA 中元,则 AA 称为序列紧
  • 若任给 ε>0\varepsilon > 0,存在有限的 B(x1,ε),,B(xN,ε)B(x_1,\varepsilon), \cdots, B(x_N,\varepsilon)xiAx_i \in A,使得 A1iNB(xi,ε)A \subset \bigcup_{1 \leq i \leq N}B(x_i,\varepsilon),则称 AA 完全有界
  • AA 中任意 Cauchy 序列均收敛于 AA 中元,则称 AA完备的

有了上述定义我们有如下说法等价:

  • AA 为紧集
  • AA 为序列紧
  • AA 完备且完全有界

以及如下说法等价:

  • AA 为相对紧集
  • AA 中任意序列均存在收敛子列
  • AA 完全有界

根据 Schauder 不动点定理,我们也可以得出前述的解的存在性定理,这里省略证明。

3. 一阶显式常微分方程组与欧拉解

前面我们讨论了一阶显式常微分方程初值问题解的存在性和唯一性,实际其思想方法以及结论可以推广到一阶显式常微分方程组形如:

{y1=f1(x,y1,,yn)yn=fn(x,y1,,yN)\begin{cases} y_1' = f_1(x, y_1, \cdots, y_n) \\ \vdots \\ y_n' = f_n(x, y_1, \cdots, y_N) \end{cases}

其中 nn 个函数 f1,,fnf_1, \cdots, f_n 定义于 n+1n+1 维空间 Rn+1\mathbb{R}^{n+1} 的子集 DD 上,一个向量值函数 (y1(x),,yn(x))T(y_1(x), \cdots, y_n(x))^T 称作上述方程组在区间 JJ 上的解是指每一 yi(x)y_i(x)JJ 上可微,且满足上述方程,自然地,我们要求任意 xJx \in J,有 (x,y1(x),,yn(x))D(x, y_1(x), \cdots, y_n(x)) \in D,定义

y(x)=(y1(x)  yn(x)),f(x,y)=(f1(x,y) fn(x,y))y(x) = \begin{pmatrix} y_1(x) \\\ \vdots \\\ y_n(x) \end{pmatrix}, \quad f(x,y) = \begin{pmatrix} f_1(x,y) \\ \vdots \ \\ f_n(x,y) \end{pmatrix}

则原方程组可简记为 y(x)=f(x,y)y'(x) = f(x,y),相应初值问题记为 {y=f(x,y)y(x0)=y0\begin{cases} y' = f(x,y) \\ y(x_0) = y_0 \end{cases},于一阶方程是一致的。

f:[a,b]×RnRnf: [a,b] \times \mathbb{R}^n \to \mathbb{R}^n,我们考虑下面一阶常微分方程组的初值问题 {x(t)=f(t,x(t))x(a)=x0\begin{cases} x'(t) = f(t, x(t)) \\ x(a) = x_0 \end{cases},同样我们采用欧拉折线法来研究这个方程组初值问题解的存在性,这里的 x(t):[a,b]Rnx(t): [a,b] \to \mathbb{R}^n 为一元向量值函数。

π:a=t0<t1<<tn=b\pi: a = t_0 < t_1 < \cdots < t_n = b 为区间 [a,b][a,b] 的一个划分,同样由初值点 (a,x0)(a, x_0) 以及该点处的切向量 x(a)=f(a,x0)x'(a) = f(a, x_0),我们可以构造局部近似解,同前面所述一致,我们可以得到欧拉折线表达式为:

xπ(t)=x0+k=0s1f(tk,xk)(tk+1tk)+f(ts,xs)(tts),ts<tts+1;(0sn1)x_\pi(t) = x_0 + \sum_{k=0}^{s-1} f(t_k, x_k)(t_{k+1} - t_k) + f(t_s, x_s)(t - t_s), \quad \forall\, t_s < t \leq t_{s+1}\,; (0 \leq s \leq n-1)

实际上之前的欧拉折线的划分也不一定要为等距划分,只需要限制分割的模就行。

我们这里先减弱一下 ff 的要求,我们不要求它连续只要求其满足:存在 γ,c>0\gamma, c > 0,使得 f(t,x)γx+c|f(t,x)| \leq \gamma|x| + c,(t,x)[a,b]×Rn\forall, (t,x) \in [a,b] \times \mathbb{R}^n,我们同样可以推出 Ascoli 定理成立的两个条件,从而证明一列分割的模收敛于零的欧拉折线,其必然存在子列一致收敛,设其收敛于 x(t)x(t),我们称这个 x(t)x(t) 为原初值问题的一个欧拉解,注意欧拉解未必是原方程的解,因为我们还没有验证其是否满足积分方程,只是一个近似解,且我们有其任意欧拉解 x(t)x(t) 满足

x(t)x(a)(ta)eγ(ta)+γx(a),t[a,b]|x(t) - x(a)| \leq (t-a)e^{\gamma(t-a)} + \gamma|x(a)|, \quad \forall\, t \in [a,b]

当然如果 ff 是连续的,则欧拉解为原初值问题的解。

而如果设 DR×RnD \subset \mathbb{R} \times \mathbb{R}^n 为开区域,f:DRnf: D \to \mathbb{R}^n 满足全局的关于 yy 的 Lipschitz 条件,则 DD 上每一点的初值问题都存在唯一解,且不会出现前述的情形二有限时间爆炸,从而解可以向左和向右延拓到 DD 的边界。对于上述方程组问题的讨论中我们没有去严格证明,虽然大同小异但还是有一定区别,这里不赘述。

4. 比较定理

4.1 第一比较定理

如果 f(x,y)f(x,y)F(x,y)F(x,y) 在平面区域 GG 内都连续且满足 f(x,y)<F(x,y)f(x,y) < F(x,y)GG 上恒成立,那么对于这两个二元函数形成的初值问题 {y=f(x,y)y(x0)=y0\begin{cases} y' = f(x,y) \\ y(x_0) = y_0 \end{cases}{y=F(x,y)y(x0)=y0\begin{cases} y' = F(x,y) \\ y(x_0) = y_0 \end{cases},我们由 Peano 存在性定理易知都是有解的,不妨设 [a,b][a,b] 属于二者的公共解存在区间,令 ϕ1,ϕ2\phi_1, \phi_2 分别为上述的初值问题在 [a,b][a,b] 上的解。

那么可以证明有

{ϕ1(x)<ϕ2(x),x0<x<bϕ1(x)>ϕ2(x),a<x<x0\begin{cases} \phi_1(x) < \phi_2(x), & x_0 < x < b \\ \phi_1(x) > \phi_2(x), & a < x < x_0 \end{cases}

我们称之为第一比较定理。需要注意的是这里都不能取等。

实际上我们可以知道只要 ϕ1\phi_1ϕ2\phi_2 的函数值相等,就必然会有此点的斜率前者小于后者,而由于初始点函数值已经相等,从而若右侧其他点函数值相等,必然会有前者斜率大于后者,从而矛盾得出上述结论,从几何意义来说就是斜率小的曲线向右不可能从斜率大的曲线的下方穿越到上方。

4.2 极大解与极小解

考虑初值问题 E:{y=f(x,y)y(x0)=y0E: \begin{cases} y' = f(x,y) \\ y(x_0) = y_0 \end{cases}ff 在矩形区域 D=[x0a,,x0+a]×[y0b,,y0+b]D = [x_0 - a,, x_0 + a] \times [y_0 - b,, y_0 + b] 上连续,令 A=maxx,yDf(x,y)A = \max_{x,y \in D}|f(x,y)|h=min{a,bA}h = \min\{a, \frac{b}{A}\},如果在区间 xx0h|x - x_0| \leq h 上初值问题有两个解 y=z(x)y = z(x)y=w(x)y = w(x) 使得初值问题的任何解 y=y(x)y = y(x) 都满足 w(x)y(x)z(x)w(x) \leq y(x) \leq z(x),则称 y=w(x)y = w(x)y=z(x)y = z(x) 分别为初值问题的极小解极大解。容易证明大区间的极大解和极小解一定是由小区间的极大解和极小解延拓来的,也就是说不可能出现极大解或极小解在唯一延拓后不是极大解或极小解的情况。

关于极大解和极小解的存在性,我们下面给出证明其一定存在正数 σ<h\sigma < h,使得在区间 xx0<σ|x - x_0| < \sigma 上,初值问题一定有极大解和极小解。

我们考虑与上述初值问题相联系的初值问题 Em:{y=f(x,y)+εmy(x0)=y0E_m: \begin{cases} y' = f(x,y) + \varepsilon_m \\ y(x_0) = y_0 \end{cases},其中 εm>0\varepsilon_m > 0 且单调递减趋于零,由 Peano 存在性定理,存在 h>hm>0h > h_m > 0,使得 EmE_m 在区间 xx0<hm|x - x_0| < h_m 上有解 y=ϕm(x)y = \phi_m(x),且易知 limmhm=h\lim_{m \to \infty} h_m = h,并且

ϕm(x)=y0+x0x[f(x,ϕm(x))+εm]dx\phi_m(x) = y_0 + \int_{x_0}^x \bigl[f(x, \phi_m(x)) + \varepsilon_m\bigr]\,dx

从而可知存在 σ>0\sigma > 0,使得初值问题 EEEmE_m 在区间 I:xx0<σI: |x - x_0| < \sigma 上解存在。

又因为任意 mm 和任意 xIx \in I,我们有 ϕm(x)y0b|\phi_m(x) - y_0| \leq b,且 ϕm(x1)ϕm(x2)(A+ε1)x1x2|\phi_m(x_1) - \phi_m(x_2)| \leq (A + \varepsilon_1)|x_1 - x_2|,从而 ϕm(x)\phi_m(x)II 上一致有界与等度连续,利用 Ascoli 引理可知其存在一致收敛的子列,设其收敛于 φ(x)\varphi(x),从而对积分方程取极限可知 φ(x)\varphi(x)EEII 上的一个解,由第一比较定理易知 y=φ(x)y = \varphi(x)II 上的右行最大解和左行最小解。

对上述过程用 εm-\varepsilon_m 替换 εm\varepsilon_m,可证 IIEE 有左行极大解和右行极小解。我们知道初值问题的所有解在交点处必然相切,于是我们可以根据上述得到的两个解拼接出 II 上的极大解和极小解,事实上我们在进行上述分析的时候可以不用限制定义域,类似于解的延拓对于每个初值问题我们将其解延拓至边界即可,尽管每个解的定义域可能不一致,但如此我们也能得到矩形区域 DD 乃至平面区域 GG 上的极小解和极大解。

从而我们知道上述初值问题的解唯一等价于它的极大解和极小解是恒同的。

4.3 第二比较定理

我们容易得到如下的第二比较定理:设 f(x,y)f(x,y)F(x,y)F(x,y)GG 上连续且满足 f(x,y)F(x,y)f(x,y) \leq F(x,y)GG 上恒成立,不妨设 [a,b][a,b] 属于二者的公共解存在区间,令 y1(x),y2(x)y_1(x), y_2(x) 分别为初值问题 {y=f(x,y)y(x0)=y0\begin{cases} y' = f(x,y) \\ y(x_0) = y_0 \end{cases}{y=F(x,y)y(x0)=y0\begin{cases} y' = F(x,y) \\ y(x_0) = y_0 \end{cases}[a,b][a,b] 上的解,且 y1(x)y_1(x) 为右行极小解和左行极大解(或者 y2(x)y_2(x) 为右行极大解和左行极小解),则有

{y1(x)y2(x),x0<x<by1(x)y2(x),a<x<x0\begin{cases} y_1(x) \leq y_2(x), & x_0 < x < b \\ y_1(x) \geq y_2(x), & a < x < x_0 \end{cases}

这里是对第一比较定理无法取等的补充。

对于上述定理我们常常运用下面的推论,即常常把比较对象定为唯一可解的常微分方程的初值问题:假设 ffGG 上连续,易知初值问题 {y=f(x,y)y(x0)=y0\begin{cases} y' = f(x,y) \\ y(x_0) = y_0 \end{cases} 一定有解,如果初值问题 {y=F1(x,y)y(x0)=y0\begin{cases} y' = F_1(x,y) \\ y(x_0) = y_0 \end{cases}{y=F2(x,y)y(x0)=y0\begin{cases} y' = F_2(x,y) \\ y(x_0) = y_0 \end{cases}GG 上有唯一解,分别为 y1,y2y_1, y_2,且 F2(x,y)f(x,y)F1(x,y)F_2(x,y) \leq f(x,y) \leq F_1(x,y)GG 上恒成立,那么对于 ff 的初值问题的任意解 y(x)y(x),以右侧为例,y2(x)y(x)y1(x)y_2(x) \leq y(x) \leq y_1(x) 在两两之间的公共定义域内恒成立,也就是说如果 y1y_1GG 上没有爆炸,那么任意 yy 都不会爆炸,如果 y2y_2GG 上爆炸,那么任意 yyGG 上都爆炸。

实际上我们也可以这么理解,对于矩形区域 D=[x0,a]×RD = [x_0, a] \times \mathbb{R} 上解的延拓如果没有延拓到 DD 的右边界,说明解在有限时间爆炸,可以认为爆炸点右侧的区域的函数值都是无穷大,从而 y2(x)y(x)y1(x)y_2(x) \leq y(x) \leq y_1(x) 可以认为在 [x0,a][x_0, a] 上成立。

5. 奇解与包络

前面我们都在探究形如 y=f(x,y)y' = f(x,y) 的一阶显式常微分方程的初值问题的解,下面我们直接探究形如 F(x,y,y)=0F(x, y, y') = 0 的一阶常微分方程的解,首先我们需要了解几个概念,对于一阶常微分方程的通解形如 y=φ(x,C)y = \varphi(x, C),其中 CC 为任意常数时 yy 均为原方程的解,而特解是满足微分方程的具体解,可以是通解中给定固定的常数 CC 得到的解,也可以是通解之外的解,如奇解或一些其他的孤立解。

那么什么是奇解呢?首先它是不属于通解族的特解,其次该解曲线上的每一点,在其任何邻域内原微分方程都有一个不同于该特解的解与之在该点相切,则称该特解为奇解

根据上述定义,我们知道微分方程如果有奇解,那么奇解上的每一点都至少有两个解,也就是解不唯一,如果 F(x,y,p)F(x,y,p)C1C^1 的,且 y=φ(x)y = \varphi(x) 为微分方程的奇解,则必然有 F(x,φ(x),φ(x))=0F(x, \varphi(x), \varphi'(x)) = 0,且 Fp(x,φ(x),φ(x))=0F_p(x, \varphi(x), \varphi'(x)) = 0,第一个等式是显然的,对于第二个等式,假设某点不成立,那么该点由隐映射定理 F(x,y,p)=0F(x,y,p) = 0 局部可以写为 p=f(x,y)p = f(x,y) 参数曲面形式,且

fy(x,y)=Fy(x,y,f(x,y))Fp(x,y,f(x,y))f_y(x,y) = -\frac{F_y(x, y, f(x,y))}{F_p(x, y, f(x,y))}

实际上 ff 也是 C1C^1 的,从而 fy(x,y)f_y(x,y) 是连续的,从而可知在 (x0,φ(x0))(x_0, \varphi(x_0)) 的某个邻域中解是唯一的,这与该点的两条不同解曲线矛盾,故原等式成立。

值得注意的是,如果反过来,满足上述两个等式的函数则不一定是奇解。

事实上有时候我们可以根据上述的两个方程通过消去 pp,得到一个函数 y=φ(x)y = \varphi(x),当然此时这个函数不一定是解,但是如果是解,即满足 F(x,φ(x),φ(x))=0F(x, \varphi(x), \varphi'(x)) = 0,那么它还要满足什么条件才是奇解。值得注意的是,此时 φ(x)\varphi(x) 不一定满足 Fp(x,φ(x),φ(x))=0F_p(x, \varphi(x), \varphi'(x)) = 0,例如考虑微分方程 y=2x+y13(y)3y = 2x + y' - \dfrac{1}{3}(y')^3,所以我们首先要加约束条件 Fp(x,φ(x),φ(x))=0F_p(x, \varphi(x), \varphi'(x)) = 0,其次我们需要要求 FFC2C^2 的,且 Fy(x,φ(x),φ(x))0F_y(x, \varphi(x), \varphi'(x)) \neq 0,以及 Fpp(x,φ(x),φ(x))0F_{pp}(x, \varphi(x), \varphi'(x)) \neq 0,如此 φ(x)\varphi(x) 一定是奇解。

下面我们先来讲述一般曲线族的包络,再探究包络与奇解之间的关系。

设单参数 CC 的曲线族 K(C):V(x,y,C)=0K(C): V(x,y,C) = 0,如果在平面上有一条连续可导的曲线 Γ\Gamma,对于该曲线上每一点,在 K(C)K(C) 中均有一条在该点某邻域不同于 Γ\Gamma 的曲线通过该点且在该点与 Γ\Gamma 相切,则称 Γ\GammaK(C)K(C) 的一支包络

并不是所有的曲线族都有包络,如同心圆族。

对于 F(x,y,y)=0F(x,y,y') = 0,我们假设其有通积分 U(x,y,C)=0U(x,y,C) = 0,且该曲线族有包络 Γ:y=φ(x)\Gamma: y = \varphi(x),则我们可以证明 y=φ(x)y = \varphi(x) 为微分方程的奇解。实际上这只需要证明 y=φ(x)y = \varphi(x) 为微分方程的解即可,由于该曲线上每一点及其斜率与某个通解的一致,易知满足微分方程。

如果曲线族 K(C):V(x,y,C)=0K(C): V(x,y,C) = 0VVC1C^1 的,且存在一支包络 Γ\Gamma,则包络上的每一点 (x0,y0)(x_0, y_0),存在 C0C_0,使得 V(x0,y0,C0)=0V(x_0, y_0, C_0) = 0VC(x0,y0,C0)=0V_C(x_0, y_0, C_0) = 0 同时成立。

同样我们可以通过上述两个方程消去 CC 得到一个函数 y=φ(x)y = \varphi(x),这个函数也不一定是曲线族的包络,但如果满足 VVC2C^2 的,且

VxVyVCxVCy0,VCC0\begin{vmatrix} V_x & V_y \\ V_{Cx} & V_{Cy} \end{vmatrix} \neq 0, \quad V_{CC} \neq 0

φ(x)\varphi(x) 为曲线族的包络。