唯一那个好主意:解隔壁那个问题
几乎没有一个真正要紧的方程能被精确求解。二次方程 x^2 + x - 1 = 0 有整洁的公式;而方程 x^2 + x - 1 = epsilon x^5 没有,而且永远不会有。但仔细看:当 epsilon 是个小数时,第二个方程与第一个几乎没有差别。于是一口气说出正则微扰理论的全部哲学——参见正则微扰——当你解不了手上这个问题时,找一个邻近的、你能解的问题,用一个小参数度量两者之间的差距,再用一系列随着你纳入更多差距而愈发精细的修正项,去修补那个容易的答案。
这个小参数几乎总写作 epsilon(有时是 lambda,或像 v/c 这样的物理比值)。令 epsilon = 0 就交给你那个未扰动问题——干净的、可解的那个。把 epsilon 稍微调大一点,便接通了你真正关心的那个小效应:微弱的非线性、轻微的阻尼、弱耦合、极小的质量。我们打的赌是:真实答案对 epsilon 光滑依赖,于是在 epsilon = 0 附近,它可以由它在那里的取值和变化率来刻画——这正是你在 Volume I 里见过的线性近似的精神,只不过现在我们要远远超越第一个修正项。
机器:展开、代入、配幂次
下面这一招让整部机器转起来。你假定答案本身就是关于 epsilon 的一个幂级数:x = x_0 + epsilon x_1 + epsilon^2 x_2 + epsilon^3 x_3 + ...——这是一个级数,但展开的不是空间或时间变量,而是那个小参数。每个 x_n 都是一个待求的固定的数(对微分方程而言,则是一个固定的函数)。首项 x_0 是未扰动答案;x_1 是第一个修正,x_2 是对修正的修正,依此类推。神奇之处在于,你可以一个一个地把它们找出来,而过程中要解的,永远不会比那个容易的问题更难。
它之所以管用,靠的是一条单一而坚实的原理:若两个关于 epsilon 的幂级数对所有小 epsilon 都相等,那么它们的系数必须逐幂相等。常数项相等,epsilon 的系数相等,epsilon^2 的系数相等,依此类推——每一条都给你一个独立的方程。于是你把假定的级数代入那个困难问题,把一切展开,按 epsilon 的同次幂归并,再令每个系数为零。一个杂乱的问题就裂成了一座井然有序的容易问题之塔,由 epsilon 的幂次编号。这个「裂开」就是全部诀窍。
- 找出旋钮。把问题写成让困难的部分带一个显式的小因子 epsilon 的形式,并检查 epsilon = 0 是否留下一个你确实能解的问题。若不能,就停下——你碰到的是奇异问题,而非正则问题。
- 假设级数。把未知量写成 x = x_0 + epsilon x_1 + epsilon^2 x_2 + ...,并代入未知量出现的每一处。
- 归并幂次。展开所有乘积与幂,把每一项按其 epsilon 的幂次归类,再分别令每个幂次的系数为零。配系数原理正是在这里发挥作用。
- 沿梯子向上解。解 epsilon^0 方程得 x_0;把它喂入 epsilon^1 方程解出 x_1;再把两者一并喂入 epsilon^2 方程求 x_2。每一级都是一个崭新的容易问题,其唯一的新原料,就是你已经求得的那些答案。
一幅推演图:一个略微弯曲的二次方程
我们用图来追踪 x^2 - 1 = epsilon x 的一个根。当 epsilon = 0,方程不过是 x^2 = 1,于是未扰动根是 x_0 = 1——隔壁那个问题,一眼解出。现在写 x = 1 + epsilon x_1 + epsilon^2 x_2 + ... 并代入。把级数平方,x^2 = 1 + 2 epsilon x_1 + epsilon^2 (x_1^2 + 2 x_2) + ...,而右边 epsilon x = epsilon + epsilon^2 x_1 + ...。现在要求逐幂相等。
Solve x^2 - 1 = epsilon x near the root x = 1. Let x = 1 + e*x1 + e^2*x2 + ... (e means epsilon) x^2 = 1 + 2e*x1 + e^2*(x1^2 + 2*x2) + ... e*x = e + e^2*x1 + ... Match powers of e in (x^2 - 1) - e*x = 0 : order e^0 : 1 - 1 = 0 -> automatically true (this fixed x0 = 1) order e^1 : 2*x1 - 1 = 0 -> x1 = 1/2 order e^2 : (x1^2 + 2*x2) - x1 = 0 -> x2 = (x1 - x1^2)/2 = 1/8 So x = 1 + (1/2) e + (1/8) e^2 + ... Check against the exact root x = (e + sqrt(e^2 + 4)) / 2 : its Taylor series in e is 1 + e/2 + e^2/8 - ... -- the terms agree.
注意这个小例子揭示的三件事。第一,除首阶外,每个方程对新未知量都是线性的,尽管原方程是非线性的——把 x_0 = 1 与一个小修正相乘平方,永远只产出一份新项。微扰理论惯常地把非线性线性化,这正是它易于处理的原因。第二,本例有精确答案可供对照,而级数逐项重现了它的泰勒展开——这让人确信记账无误。第三,你想在哪儿停就在哪儿停:在 epsilon = 0.1 时,仅两项就已给出精确到百分之几的根,而你根本没付出求根公式的代价。
把它提升到微分方程
同一台引擎也跑在微分方程上,此时未知量 x_0、x_1、x_2 成了未知函数而非数。取一根弱非线性弹簧,d^2x/dt^2 + x + epsilon x^3 = 0,从振幅 1 处静止释放。当 epsilon = 0,它就是那个你烂熟于心的普通简谐振子,答案为 x_0(t) = cos t。代入 x = x_0 + epsilon x_1 + ... 并归并 epsilon 的幂次。一阶方程化为 d^2x_1/dt^2 + x_1 = -x_0^3 = -cos^3(t),其中 x_1 从零静止出发。
看看刚刚发生了什么,因为这正是该方法对微分方程如此强大的核心:每个修正 x_n 在左边解的是同一个微分算子——这里是 d^2/dt^2 + 1,那个简单的振子——而右边只由你已经掌握的低阶解搭成。你只需把未扰动方程解一次,此后便永远复用它的机器,每次配上一个已知的强迫项。那个困难的非线性耦合,被降格为一串标准的受迫振子问题,正是 Volume I 与更早的台阶教会你去解的那一类。
何时管用,何时失败,以及如何判断
正则微扰在三个条件成立时奏效。未扰动问题确实可解;那个小参数在你关心的区域里确实小;并且答案对 epsilon 光滑依赖,在 epsilon = 0 处没有性质上的突变。当这些条件成立时,级数能廉价地给出准确答案,而保留到 epsilon^n 项之后的误差是 epsilon^{n+1} 量级——把 epsilon 缩小十倍,则随着你保留一、二、三个修正项,首阶误差就分别下降十倍、一百倍、一千倍。
现在是诚实的部分——该方法背叛你的三种方式,每一种都通向本台阶其余的内容。第一种是你刚见过的长期项:弹簧例子的朴素级数预言振幅永远增长,而真实的弹簧却以稳定的振幅、在略微偏移的频率上振荡。该级数对头几个周期没问题,对长时间则荒谬;其疗法是让频率本身依赖于 epsilon,即第 5 篇的庞加莱-林德斯泰特方法。第二种是奇异情形:若 epsilon 乘在最高阶导数上,令 epsilon = 0 会降低方程的阶,于是你无法满足所有边界条件——一层薄薄的边界层便在你的正则级数干脆出错的地方形成。
第三个意外最为深刻,它应当永远改变你看待级数的方式:微扰级数可能对每个非零 epsilon 都发散,却依然壮丽无比。这是渐近级数的领地——贯穿整个台阶的主题。一个发散的渐近级数并不随你加项而收敛,然而在恰当处截断,它的部分和竟能以惊人的精度匹配真实答案。各项先变小,达到一个最小项,然后再次变大;你在最小项处停下,误差大致就是那个最小项的大小。「发散」听来像失败,但在这里它只是另一种、更诚实的承诺——正如你在本台阶早先的渐近展开里所见。
那么,在投入数小时之前,你如何判断自己的问题是否正则?按主导平衡的精神做一次快速合理性扫描:令 epsilon = 0,问问剩下的问题与完整问题是否属于同一类型,是否有相同数目的解、相同的边界条件。若是,便满怀信心地展开。若阶数下降、某个边界消失,或一个有界解想要爆掉,那你就身处奇异领地,而一个朴素的关于 epsilon 的幂级数会悄悄地骗你。全部的本领,就在于动手摇曲柄之前,先弄清自己身处哪个世界。