JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

常系数方程

所有线性常微分方程里最和善的一类:当系数只是常数时,一个猜测就把整道微积分难题变成了普通的代数。解出特征方程,读出实根、重根或复根——再认识柯西–欧拉方程,它换了身装束,玩的是同一个把戏。

为什么系数是个常数,就能改变一切

上一篇指南搭起了线性常微分方程的一般理论:方程 a_n(x) y^{(n)} + ... + a_1(x) y' + a_0(x) y = g(x),把整个左端打包起来的线性微分算子 L,以及那个承诺——齐次方程 L[y] = 0 的解构成一个基本解组,即 n 个线性无关的积木,它们的组合给出每一个解。那套理论很一般,却也很抽象;它告诉你答案的*形状*,却不把答案递到你手里。本篇正是它骤然变得具体的地方,针对的是整个应用数学里最重要的那个特例:当系数 a_k 都是普通常数、而不是 x 的函数时。

为什么单单这一条限制就帮了这么大的忙?因为指数函数有一条你从第一卷起就知道的性质:e^{r x} 的导数是 r e^{r x},还是同一个函数、只是被 r 缩放了一下。再求一次导得到 r^2 e^{r x};再一次,r^3 e^{r x}。指数函数是唯一一个在求导下形状原封不动的函数——每求一次导,只是再乘上一个 r 的因子。于是,若你把 y = e^{r x} 喂进一个常系数算子,每一项都化成(r 的某个幂)乘 e^{r x},e^{r x} 被提了出来,剩下的便是关于 r 的纯代数。微积分蒸发了。这就是全部的主意,本篇余下的内容不过是把它仔细走一遍。

特征方程:微积分变成一个多项式

拿来当主力的二阶齐次方程 a y'' + b y' + c y = 0。猜 y = e^{r x}。那么 y' = r e^{r x},y'' = r^2 e^{r x},代入得 a r^2 e^{r x} + b r e^{r x} + c e^{r x} = 0。每一项都带着公因子 e^{r x},而它永不为零,所以可以把它约去。剩下的是 a r^2 + b r + c = 0——一个关于数 r 的普通二次方程。这就是特征方程(又叫辅助方程),也是这套方法的核心:一个关于 y 的微分方程,被换成了一个关于 r 的多项式方程,而这个多项式的系数恰恰就是常微分方程的系数。

你可以直接从方程上读出这条配方,而不必每次重新推导:把 y'' 换成 r^2,y' 换成 r,y 换成 1(也就是 r^0),令结果为零。三阶方程 y''' - 6 y'' + 11 y' - 6 y = 0 的特征方程是 r^3 - 6 r^2 + 11 r - 6 = 0。常微分方程的阶变成多项式的次数,所以一个 n 阶方程给出一个 n 次多项式,而它——把重数与复根都数进去——恰好有 n 个根。每个根 r 递给你一个指数解 e^{r x},上一篇的主定理则保证:n 个这样的无关片段,拼出完整的通解。

a y'' + b y' + c y = 0          the constant-coefficient ODE
        |   guess y = e^{r x},  y' = r e^{r x},  y'' = r^2 e^{r x}
        v
(a r^2 + b r + c) e^{r x} = 0    every term carries e^{r x}
        |   divide by e^{r x}  (never zero)
        v
   a r^2 + b r + c = 0            the CHARACTERISTIC EQUATION

   rule of thumb:  y''  ->  r^2 ,   y'  ->  r ,   y  ->  1
代入 y = e^{r x} 约去指数,留下一个关于 r 的普通多项式——微积分难题已变成代数难题。

情形一与情形二——实根,先相异后重

最干净的情形是特征多项式的实根全都互不相同。设 y'' - 5 y' + 6 y = 0;特征方程 r^2 - 5 r + 6 = 0 分解为 (r - 2)(r - 3) = 0,给出 r = 2 与 r = 3。每个根贡献它自己的指数,通解便是它们的组合 y = C_1 e^{2x} + C_2 e^{3x},带两个任意常数——恰是二阶方程所携带的那份自由。e^{2x} 与 e^{3x} 是真正无关的,还是同一个解的乔装?上一篇的朗斯基行列式给出定论:det([e^{2x}, e^{3x}; 2 e^{2x}, 3 e^{3x}]) = e^{5x} 永不为零,所以二者线性无关,构成一个基本解组。一般地,相异实根 r_1, ..., r_k 给出无关解 e^{r_1 x}, ..., e^{r_k x},各配常数加起来即可。

现在来了个难处。设特征方程有一个二重根:y'' - 4 y' + 4 y = 0 给出 r^2 - 4 r + 4 = (r - 2)^2 = 0,所以 r = 2 出现两次。配方只给出 e^{2x}——然后又给一遍 e^{2x}。可二阶方程需要*两个*无关解,而 e^{2x} 配上另一份 e^{2x},不过是同一个解被数了两次;它撑不起完整的解空间。你缺了一块积木,必须把它找出来。

缺失的那个解是 x e^{2x}——同一个指数乘上 x。你可以用一幅极限图景看清它为何必然出现:当两个根 r 与 r + epsilon 几乎相等时,你手上有一对 e^{r x} 与 e^{(r + epsilon) x},而组合 (e^{(r + epsilon) x} - e^{r x}) / epsilon 是一个完全合格的第二解。当 epsilon 缩向零,这个差商恰恰是 e^{r x} 关于 r 的导数,也就是 x e^{r x}。那个 x 的因子,是两根相撞时留下的化石。于是二重根 r 对应的通解是 y = (C_1 + C_2 x) e^{r x};对我们的例子,y = (C_1 + C_2 x) e^{2x}。

情形三——复根,与振动的诞生

第三种情形,是物理登场的地方。设 y'' + 2 y' + 5 y = 0;特征方程 r^2 + 2 r + 5 = 0 的判别式 4 - 20 < 0,所以根是复的:r = -1 + 2i 与 r = -1 - 2i,一对共轭 alpha 加减 i beta,其中 alpha = -1,beta = 2。形式上解仍然是 e^{r x},但现在指数是个复数,而像 e^{(-1 + 2i) x} 这样的解你没法直接画出来。我们要的是给真实问题用的实值解,而把它们送来的桥梁,是一条恒等式。

那条恒等式是欧拉公式,e^{i theta} = cos(theta) + i sin(theta)——复指数与三角函数之间深刻的纽带。用上它:e^{(alpha + i beta) x} = e^{alpha x}(cos(beta x) + i sin(beta x))。它的实部与虚部,各自分别是原来那个实方程的一个实解,而且彼此无关。于是这对共轭复根,悄悄递给你两块实积木,e^{alpha x} cos(beta x) 与 e^{alpha x} sin(beta x),通解便是 y = e^{alpha x}(C_1 cos(beta x) + C_2 sin(beta x))。对我们的例子,y = e^{-x}(C_1 cos(2x) + C_2 sin(2x))。

把这个解放到物理里去读,整门学问就亮了起来。正弦与余弦是角频率为 beta 的一段振动;因子 e^{alpha x} 是一道包络,当 alpha < 0 时把摆幅压小,alpha > 0 时把它放大。这恰恰是一个阻尼谐振子——带摩擦的弹簧上的质量、不断失去能量的摆、被敲响后渐归寂静的钟。根的实部定下衰减,虚部定下音高。当根是纯虚数(alpha = 0)时,包络是平的,你得到无阻尼振动,纯粹的 cos 与 sin——后面几篇指南就在这幅图景之上,搭起共振与拍。

柯西–欧拉方程:换了装的同一个把戏

有一个带*变*系数的方程,仍然几乎能屈服于同样的方法,现在就值得认识它,因为它出现得极其频繁——在极坐标与球坐标下的拉普拉斯方程里,在带有天然尺度的问题里。它就是柯西–欧拉方程,a x^2 y'' + b x y' + c y = 0,凭一个标志性的样式即可认出:每一阶导数都乘上相称的 x 的幂——x^2 配 y'',x^1 配 y',x^0 配 y。正是这种配对让把戏奏效,因为 x^k 乘上一个 x 的幂的 k 阶导数,会把你送回同一次数的幂上。

于是你不再猜指数,而是猜幂:y = x^m。那么 x y' = m x^m,x^2 y'' = m(m-1) x^m,代入并约去公因子 x^m,剩下 a m(m-1) + b m + c = 0——又是一个多项式,这次是关于 m 的指标方程。三种情形与常系数的那三种丝丝相扣:相异实根 m_1, m_2 给出 x^{m_1} 与 x^{m_2};重根 m 给出 x^m 与 (ln x) x^m,这里 ln x 扮演着先前 x 扮演的角色;复共轭对 alpha 加减 i beta 给出 x^alpha cos(beta ln x) 与 x^alpha sin(beta ln x)。那个对数绝非偶然——代换 x = e^t 把柯西–欧拉方程变成关于 t 的常系数方程,而 ln x 不过是 t 回了家。

  1. 辨认形式。确认方程是常系数(a y'' + b y' + c y = 0)还是柯西–欧拉(a x^2 y'' + b x y' + c y = 0);相称的 x 幂正是后者的标记。
  2. 做对那个猜测。常系数就试 y = e^{r x};柯西–欧拉就试 y = x^m。代入、约去公因子、读出那个多项式——关于 r 的特征方程,或关于 m 的指标方程。
  3. 把根归入三种情形。实而相异:直接组合那些裸片段。重数为 m 的重根:分别乘 1, x, ..., x^{m-1}(常系数)或 1, ln x, ..., (ln x)^{m-1}(欧拉情形)。复数 alpha 加减 i beta:借欧拉公式凑出「包络乘振动」的那对实解。
  4. 组装并定死。把无关片段各配一个任意常数加起来,得到通解,再施加任何初始或边界条件来定下那些常数。

你已握有什么,接下来是什么

退后一步,看看这有多么圆满。对*任何*常系数齐次线性常微分方程,不论几阶,你现在都有一套完工的流程:写下特征多项式,求出它的根,再按三情形词典把每个根翻译成它的积木。再没有猜测可言,也没有积分要做——只剩求根。能对一个微分方程说出这样的话,是件了不起的事,这也正是常系数方程之所以是本级其余内容奠基之石的原因。

两条诚实的提醒,让一切保持分寸。其一,这一切只解齐次方程 L[y] = 0;当有驱动项 g(x) 在场时——推动振子的一个力、电路里的一个电压源——你还需要找一个特解加上去,那是后面指南里待定系数法与参数变易法的活儿。其二,整座大厦立在求根之上,而四次以上一般没有求根公式,所以高阶方程会把你送向数值求根器;*方法*依旧精确,但算术未必。带着这些前提,你已掌握微分方程里最干净的那个角落——并且准备好去推动振子,看共振浮现。