一阶ODE

齐次线性方程组 Ax=0Ax=0

这是线性代数里的问题。 AA 是一个矩阵,可以看成一个线性算子

A:Rn→RmA:\mathbb R^n \to \mathbb R^m

解 Ax=0Ax=0 就是在找

ker⁡(A)={x:Ax=0}\ker(A)=\{x:Ax=0\}

即 AA 的零空间。解集一定是一个线性子空间。

一阶齐次线性微分方程

比如

y′+p(x)y=0y'+p(x)y=0

也可以写成

L[y]=0,L=D+p(x)L[y]=0,\qquad L=D+p(x)

其中 D=ddxD=\frac{d}{dx} 是微分算子,所以 LL 是一个线性微分算子。因此求解这个微分方程,本质上也是在找

ker⁡(L)={y:L[y]=0}\ker(L)=\{y:L[y]=0\}

它的解集也是一个线性空间。例如上式通解为

y=Ce−∫p(x) dxy=C e^{-\int p(x)\,dx}

这是一个一维线性空间。

一阶非齐次线性微分方程

比如

y′+p(x)y=q(x)y'+p(x)y = q(x)

或

L[y]=q,L=D+p(x)L[y]=q,\qquad L=D+p(x)

是在问:qq 是否属于 LL 的像空间

Ran⁡(L)\operatorname{Ran}(L)

如果 q∈Ran⁡(L)q\in \operatorname{Ran}(L),就有解;
所有解构成一个仿射空间:

yp+ker⁡(L)y_p+\ker(L)

这和线性代数里

Ax=bAx=b

完全一样:

齐次解:ker⁡(A)\ker(A)
非齐次解:某个特解 + ker⁡(A)\ker(A)

通解(对比eq.6):

y(x)=Ce−∫py(x)=Ce^{-\int p}

特解:

y(x)=e−∫p∫e∫pqy(x)=e^{-\int p} \int e^{\int p}q

线性叠加:

y(x)=e−∫p(C+∫e∫pq)y(x)=e^{-\int p}\left(C+\int e^{\int p}q\right)

求特解解方法

假设 L=M−1DML= M^{-1} D M, 即L与D相似(共轭), MM 是可逆乘法算子, 即:

(Mf)(x)=μ(x)f(x)(Mf)(x)=\mu(x)f(x)

则有

L=D+p(x)=M−1DML = D+p(x)=M^{-1}DM

取:

μ(x)=e∫p(x) dx\mu(x)=e^{\int p(x)\,dx}

验证一下:

M−1DM[y]=μ−1ddx(μy)=μ−1(μ′y+μy′)M^{-1}DM[y] = \mu^{-1}\frac{d}{dx}(\mu y) = \mu^{-1}(\mu' y+\mu y')

因为

μ′=pμ\mu' = p\mu

所以

μ−1(μ′y+μy′)=py+y′=y′+py=L[y]\mu^{-1}(\mu' y+\mu y')=py+y'=y'+py=L[y]

μ−1pμ=μ−1μp=p\mu^{-1}p\mu = \mu^{-1}\mu p = p 是因为这里的 μ,μ−1,p\mu,\mu^{-1},p 不是一般矩阵,而是标量函数的乘法算子,它们彼此可交换。

所以确实

L=M−1DML=M^{-1}DM

对于一阶非齐次线性微分方程特解具体解法:

M−1DMy=qM^{-1} D M y = q

D(My)=MqD(My) = Mq

类比Ax=bAx = b 与 Λ(Px)=(Pb)\Lambda (Px) = (Pb), 基变换后最后在逆变换回去就好.

y=M−1∫Mq=e−∫p∫e∫pq\begin{aligned} y &= M^{-1}\int Mq \\ &= e^{-\int p}\int e^{\int p}q \end{aligned}

小结:以上是一个非常经典的算子角度求特解的方法,对应积分因子法,这个积分因子本质是一个可逆乘法算子 e∫pe^{\int p}, pp是一个函数.

一阶齐次"常"系数线性微分方程组

考虑一阶齐次线性方程组,A是一个2x2实数矩阵(可以和t相关,构成矩阵函数)

dudt=Au,u(t)∈R2,A∈M2(R).\frac{du}{dt}=Au, \qquad u(t)\in \mathbb{R}^2,\quad A\in M_{2}(\mathbb{R}).

定义微分算子

D:=ddt,D:=\frac{d}{dt},

以及线性算子

L:=D−A.L:=D-A.

那么方程就是

Lu=0.Lu=0.

AA 也不是单纯“一个矩阵”,而是“矩阵乘法算子”
若 A(t)A(t) 是 2×22\times2 矩阵函数,那么它定义了一个算子:

(MAu)(t):=A(t)u(t).(M_Au)(t):=A(t)u(t).

所以严格说,
DD 是微分算子;AA 表示“乘以矩阵 A(t)A(t)”的算子。因此

(D+A)u:=Du+A(t)u=u′(t)+A(t)u(t)(D+A)u:=Du+A(t)u=u'(t)+A(t)u(t)

是完全有意义的。

⚠️:当且仅当A是常数矩阵时候, 取 M=e−AtM = e^{-At}, 有 L=D−A=M−1DML=D-A=M^{-1}D M. (可以类比μx=e∫kdx=ekx\mu_{x}=e^{\int{kdx}}=e^{kx}), 此时通解可以这样得到:

D(e−Atu)=0e−Atu=u0u=eAtu0\begin{gather*} D(e^{-At}u)= 0 \\ e^{-At}u = u_0 \\ u = e^{At} u_0 \end{gather*}

注: (e−At)−1=eAt\left(e^{-At}\right)^{-1}=e^{At}, u0u_0是常向量,必须放在右边.

关于指数矩阵

矩阵指数定义为幂级数:

eAt=∑n=0∞(At)nn!=I+At+A2t22!+A3t33!+⋯e^{At}=\sum_{n=0}^\infty \frac{(At)^n}{n!} =I+At+\frac{A^2t^2}{2!}+\frac{A^3t^3}{3!}+\cdots

并且有:

ddteAt=AeAt\boxed{\frac{d}{dt}e^{At}=Ae^{At}}

如果A可以对角化, eAte^{At} 会变得很好算:

AS=SΛ,A=SΛS−1,Λ=diag⁡(λ1,…,λn)AS= S\Lambda, \quad A = S\Lambda S^{-1}, \quad \Lambda = \operatorname{diag}(\lambda_1,\dots, \lambda_n)

则:

eAt=SeΛtS−1\boxed{e^{At}=Se^{\Lambda t}S^{-1}}

且:

eΛt=(eλ1t0⋯00eλ2t⋯0⋮⋮⋱⋮00⋯eλnt)\boxed{ e^{\Lambda t} = \begin{pmatrix} e^{\lambda_1 t} & 0 & \cdots & 0\\ 0 & e^{\lambda_2 t} & \cdots & 0\\ \vdots & \vdots & \ddots & \vdots\\ 0 & 0 & \cdots & e^{\lambda_n t} \end{pmatrix} }

如果A可以相似对角化, 解进一步表示为

u(t)=SeΛtS−1u0\boxed{u(t) = Se^{\Lambda t}S^{-1} u_0}

如果把

c=S−1u0,c=S^{-1}u_0,

c 记成初值在特征向量基下的表示,那么也可以写成

u(t)=SeΛtc.u(t)=Se^{\Lambda t}c.

二维情形下若

Λ=(λ100λ2),\Lambda=\begin{pmatrix}\lambda_1&0\\0&\lambda_2\end{pmatrix},

则

eΛt=(eλ1t00eλ2t),e^{\Lambda t} = \begin{pmatrix} e^{\lambda_1 t} & 0\\ 0 & e^{\lambda_2 t} \end{pmatrix},

所以

u(t)=S(eλ1t00eλ2t)S−1u0.u(t) = S \begin{pmatrix} e^{\lambda_1 t} & 0\\ 0 & e^{\lambda_2 t} \end{pmatrix} S^{-1}u_0.

可以接着把这个二维解再写成

u(t)=c1eλ1tv1+c2eλ2tv2\boxed{ u(t)=c_1e^{\lambda_1 t}v_1+c_2e^{\lambda_2 t}v_2 }

[v1,v2][v_1, v_2] 组成 SS, [c1c2]\begin{bmatrix}c_1 \\ c_2 \end{bmatrix} 组成 S−1u0S^{-1}u_0.

如果A不可以对角化, 解的进一步表示(待完善)

根据Jordan理论, 任何一个方阵均相似于它的Jordan标准型, 写成 Jordan 形式:

若

A=SJS−1,A=SJS^{-1},

其中 JJ 是 Jordan 块矩阵,那么

eAt=SeJtS−1.e^{At}=Se^{Jt}S^{-1}.

所以

u(t)=SeJtS−1u(0).\boxed{u(t)=Se^{Jt}S^{-1}u(0)}.

最常见的二维不可对角化情形
二维里最典型的是只有一个特征值 λ\lambda,只有一个线性无关特征向量,此时

J=(λ10λ).J= \begin{pmatrix} \lambda & 1\\ 0 & \lambda \end{pmatrix}.

把它拆成

J=λI+N,N=(0100),N2=0.J=\lambda I+N,\qquad N= \begin{pmatrix} 0&1\\ 0&0 \end{pmatrix}, \quad N^2=0.

于是

eJt=e(λI+N)t=eλteNt.e^{Jt}=e^{(\lambda I+N)t}=e^{\lambda t}e^{Nt}.

因为 N2=0N^2=0,所以

eNt=I+Nt.e^{Nt}=I+Nt.

因此

eJt=eλt(1t01).e^{Jt} = e^{\lambda t} \begin{pmatrix} 1&t\\ 0&1 \end{pmatrix}.

所以最终

eAt=S(eλt(1t01))S−1\boxed{ e^{At} = S\left( e^{\lambda t} \begin{pmatrix} 1&t\\ 0&1 \end{pmatrix} \right)S^{-1} }

解为

u(t)=S(eλt(1t01))S−1u(0).\boxed{ u(t)= S\left( e^{\lambda t} \begin{pmatrix} 1&t\\ 0&1 \end{pmatrix} \right)S^{-1}u(0). }

对应到“向量形式”
如果 vv 是特征向量,ww 是广义特征向量,满足

(A−λI)v=0,(A−λI)w=v,(A-\lambda I)v=0,\qquad (A-\lambda I)w=v,

那么解可以写成

u(t)=c1eλtv+c2eλt(tv+w).\boxed{ u(t)=c_1 e^{\lambda t}v + c_2 e^{\lambda t}(tv+w). }

你可以看到,和可对角化时相比,多出了一个 teλtt e^{\lambda t} 项。

一个具体例子
设

A=(1101).A= \begin{pmatrix} 1&1\\ 0&1 \end{pmatrix}.

它只有一个特征值 λ=1\lambda=1,不能对角化。因为它本身已经是 Jordan 形式,所以

eAt=et(1t01).e^{At} = e^t \begin{pmatrix} 1&t\\ 0&1 \end{pmatrix}.

因此

u(t)=eAtu(0)=et(1t01)u(0).u(t)=e^{At}u(0) = e^t \begin{pmatrix} 1&t\\ 0&1 \end{pmatrix} u(0).

若

u(0)=(ab),u(0)=\begin{pmatrix}a\\b\end{pmatrix},

则

u(t)=et(a+tbb).u(t)= e^t \begin{pmatrix} a+tb\\ b \end{pmatrix}.