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

正则微扰理论

你解不了眼前这个问题——但你能解它隔壁那个。把两者的差异变成一个小旋钮,把答案展成关于它的幂级数,再一阶一阶磨出修正项。这是应用数学里最乐观的把戏,而且多数时候它就是管用。

唯一那个好主意:解隔壁那个问题

几乎没有一个真正要紧的方程能被精确求解。二次方程 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 的幂次编号。这个「裂开」就是全部诀窍。

  1. 找出旋钮。把问题写成让困难的部分带一个显式的小因子 epsilon 的形式,并检查 epsilon = 0 是否留下一个你确实能解的问题。若不能,就停下——你碰到的是奇异问题,而非正则问题。
  2. 假设级数。把未知量写成 x = x_0 + epsilon x_1 + epsilon^2 x_2 + ...,并代入未知量出现的每一处。
  3. 归并幂次。展开所有乘积与幂,把每一项按其 epsilon 的幂次归类,再分别令每个幂次的系数为零。配系数原理正是在这里发挥作用。
  4. 沿梯子向上解。解 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 的幂级数会悄悄地骗你。全部的本领,就在于动手摇曲柄之前,先弄清自己身处哪个世界。