从一个词到一整门学问
在第一卷里,你几乎是顺带地遇见了微分方程——一个把函数和它自己的导数联系起来的方程。你大概只见过一个例子,类似于描述指数增长的 dy/dx = k y,靠猜出 y = C e^{k x} 把它解掉,然后就过去了。那一行字其实是一道门。穿过它,你会发现整个应用数学里最庞大、也最有用的学科之一。原因很简单:大自然几乎从不直接告诉你一个量是多少,它告诉你的是这个量变化的速率,剩下的——把量本身重建出来——留给你。
牛顿第二定律就是一个微分方程:力等于质量乘加速度,而加速度是 d^2x/dt^2,所以 F = m d^2x/dt^2 是一条关于位置二阶导数的定律。冷却、放射性衰变、电容上的电荷、一个物种的种群数量、一根杆子上各处的温度、悬链的形状——每一个都受某个量与其变化速率之间的关系所支配。微分方程正是把这样一条变化定律写下来的数学句子。求解它,就是从它的导数所遵守的定律中,把那个量本身找回来。
三个标签,告诉你面对的是什么
在动手解之前,你先给它分类——因为类别决定了哪些方法才有机会奏效。第一个标签是阶:出现的最高阶导数。dy/dx = k y 是一阶;F = m d^2x/dt^2 是二阶。阶大致衡量解携带多少自由度——一阶方程需要一条初始信息,二阶方程需要两条(想想位置和速度)。本级从一阶方程开篇,道理就在这里:一阶是学这门手艺最简单的起点。
第二个标签是次:把方程写成关于其各阶导数的多项式(不含根号、不含导数的分式)之后,次就是最高阶导数所带的幂。你遇到的多数方程都是一次的——dy/dx 以一次幂出现——但像 (dy/dx)^2 = 1 + y 这样的就是二次的。这里要诚实:只有在你清掉根号、把方程化成关于导数的多项式之后,次才有定义,而有些方程根本做不到这一点,于是它们干脆没有次。阶和次是两个不同的问题;别让这两个字眼糊到一起。
第三个标签最为关键:线性还是非线性。一个方程是线性的,是指未知量 y 及其所有导数都只以一次幂出现,彼此从不相乘,也从不被塞进正弦、平方或指数里——于是它具有 a_n(x) y^{(n)} + ... + a_1(x) y' + a_0(x) y = g(x) 的形状,其中系数可以依赖 x,但绝不依赖 y。只要你一看到 y^2,或 y 乘 y',或 sin(y),这个方程就是非线性的。这一道区分,是整门学问的大分水岭。线性方程享有叠加带来的可解性;非线性方程则会做出种种狂野的事——多个平衡态、有限时间内爆破、混沌——而且极少给出干净的公式。
先是一族解,再是一个具体答案
解 dy/dx = k y,你得到的不是一条曲线——而是对*每一个*常数 C 都成立的 y = C e^{k x},一族层层叠叠、无穷多条的曲线。这族带着任意常数的解,就是通解,常数的个数与阶相等:一阶一个,二阶两个,依此类推。这些常数不是麻烦;它们恰恰是大自然留着的那份自由,要等你补上缺失的事实才会确定下来。
这些事实以初始条件的形式给出。钉住曲线在起始时刻所经过的位置——比如 x = 0 时 y = 3——这一族就塌缩成唯一一员:一个特解。一个微分方程,配上足够多的初始条件来定死那些常数,就是一个初值问题,简称 IVP,几乎每一个真实模型都取这种形式。方程是定律;初始条件是当下的状态;解则是定律从那个状态出发、向未来与过去铺展开来的轨迹。对 dy/dx = k y 配 y(0) = 3,常数被逼成 C = 3,唯一真正的答案就是 y = 3 e^{k x}。
初值问题一定恰好有一个答案吗?通常是,但并非自动如此——这正是需要诚实的地方。存在唯一性定理(皮卡–林德勒夫)保证过给定起点有且仅有一个解,但只是局部的——在该点附近某个区间上成立,而非永远——并且只在右端表现良好时才成立(连续,且对 y 的敏感度有界,即所谓的利普希茨条件)。一旦破坏前提,怪事就来了:dy/dx = sqrt(y) 配 y(0) = 0 同时拥有 y = 0 和 y = x^2/4 两个解,因为 sqrt(y) 在 y = 0 处斜率无穷。这条定理是一份带小字条款的承诺;请读那些小字。
「求解」一个方程,究竟意味着什么
下面这个观念,会在你脑中重新整理整门学问。「求解」一个微分方程并不是一件事——而是至少四个真正不同的目标,一位称职的应用数学家会把这四样都摆在工作台上,碰到什么问题就抄起合适的那一个。诚实地说:第一种,也就是你被教导去期待的那种,恰恰是最罕见的。
- 封闭形式。找到一个用初等函数写出的精确公式,像 y = 3 e^{k x}。这是梦想,后面几篇指南会给你赢得它的战术——可分离、线性、恰当方程。但大多数微分方程根本没有封闭形式的解,正如大多数积分是非初等的;这是例外,不是常态。
- 级数。当没有公式时,把解搭成一个幂级数 y = a_0 + a_1 x + a_2 x^2 + ...,再从方程里逐项磨出系数。这是拿一个公式去换一份无穷的配方——与你已经熟悉的泰勒级数近亲——著名的特殊函数(贝塞尔、勒让德)正是这样诞生的。
- 数值。放弃精确,换成算术:从已知点出发,迈着极小的步子往前走,用方程本身去预测每一个下一值,就像欧拉法那样。这总是行得通的,精度高低取决于你愿意付出多少计算时间;当计算机仿真火箭或天气时,它实际做的正是这件事。
- 定性。很多时候你不需要那条曲线,只需要它的性格:它增长、衰减,还是趋于平稳?趋向哪个值?那个静止状态稳定吗?这一切你都能不解方程而直接从方程里读出来——从它的斜率场和平衡点——这正是下一篇关于斜率场的指南所讲的内容。
一幅图景:每个方程本身就是一片斜率场
下面是关于一阶方程最具澄清作用的一幅图,也是通往本级其余内容的桥梁。把方程写成 dy/dx = f(x, y) 的形式,然后从几何上去读它。在平面上每一个点 (x, y),右端 f(x, y) 都递给你一个数,而这个数就是解曲线若经过该点时必须具有的斜率。所以这个方程描述的不是一条曲线——在你还什么都没解之前,它已经在平面上画满了一整片细小的斜率箭头,每个点一支。
这片箭头之海就是方向场(又叫斜率场),而求解方程不过是把一条曲线在平面上穿引过去,使它在每个经过的点都与那里的小箭头相切。一个初始条件只是钉死曲线必须穿过的某一点;存在唯一性定理则说——在其前提下——恰有一条曲线穿过该点。你简直能亲眼看见解为什么存在、又为什么唯一:箭头铺满平面,而过给定一点,顺着流走只有一种走法。
dy/dx = f(x, y) the law, read as a slope at every point
y tiny arrows = the direction field
| / / / /
| / / / / a solution = a curve kept tangent
| / / _____ to the arrow at each point it meets
|/ _--- --- (here the field flattens out:
+----------------- x an equilibrium, dy/dx -> 0)本级将带你去往何处
语言备齐,路径就清楚了。下一篇仍纯走几何路线——读懂斜率场、找出平衡点、判断解会漂向哪些稳态——好让你对任何一阶方程,无论可解与否,都能一眼看懂。之后我们去猎取封闭形式:可分离方程你把它拆开再积分,恰当方程你认出它是一个全微分,线性方程你用积分因子驯服它。你刚学到的分类就是你的地图:一阶、一次、线性与否——这三个标签,告诉你该去试哪种方法。
一路走下去,请把这个大轮廓记在心里。微分方程是一条变化的定律;它的通解是一族解,自由常数的个数与它的阶相等;一个初值问题通过固定当下状态,从中挑出唯一一员;而「求解」可以意味着一个公式、一个级数、一次数值推进,或一份定性解读——视方程本身、也视你的目的,究竟需要哪一种。正是这种四向的灵活,才让这门学问如此深远地伸进物理、工程、生物与金融。一个第一卷的词,已经长成了一整门手艺。