每个积分高手终会撞上的那堵墙
到现在你已经握有一套像样的工具:第一卷里的 换元积分 和 分部积分,再加上本级里的 三角换元、部分分式、递推公式 和 参数求导技巧。所以当你第一次遇到一个能把这些招数全部击败的积分时,那滋味格外刺痛。试试 integral of e^{-x^2} dx,或 integral of (sin x)/x dx,又或 integral of sqrt(1 - k^2 (sin theta)^2) d(theta)。你在它们身上死磕几个钟头也一无所获——而原因并不是你少了某个窍门。
下面是老实话。有一条定理——刘维尔定理,到 20 世纪才被彻底精确化——它告诉我们:这些原函数根本无法写成你从小熟悉的那些函数的有限组合,即多项式、根式、指数与对数、正弦与余弦,以及由它们经四则运算和复合所搭建出的一切。像这样的积分被称为 非初等积分,这是一个铁打的数学事实,而不是认输的供词。函数 e^{-x^2} 既完全光滑又完全可积;只是它的原函数拒绝待在初等函数这个圈子里罢了。
三个著名的非初等积分
来认识几位主角。先看高斯函数:integral of e^{-x^2} dx 没有初等原函数,可是完整的 高斯积分 integral from -infinity to infinity of e^{-x^2} dx = sqrt(pi) 却是被精确知道的——这优美地提醒我们:即便不定积分无解,一个定积分也可以干净利落。填补这道空缺的具名函数就是 误差函数 erf(x) = (2/sqrt(pi)) integral from 0 to x of e^{-t^2} dt,它是概率论与统计学的主力。
其次是正弦积分:integral of (sin x)/x dx 同样是非初等的,于是我们定义 正弦积分 Si(x) = integral from 0 to x of (sin t)/t dt。它是衍射问题或信号处理问题的天然答案,而它的极限值 Si(infinity) = pi/2 又一次干净利落地浮现。第三是椭圆积分:椭圆的弧长,以及大摆幅单摆的精确周期,都通向 integral of d(theta)/sqrt(1 - k^2 (sin theta)^2)。刘维尔定理在这里把你拦得死死的——这些就是 椭圆积分,它们为自己赢得了整整一架专门的列表函数。
看出门道了吗?当初等世界给不出某个原函数的名字时,数学并不投降——它把这个积分本身收编为一个新函数的定义。erf、Si 和椭圆积分并不比 sin 或 ln 更神秘;它们只是来得晚些的成员,由一个积分而非幂级数或直角三角形来定义。你可以把它们列表、作图、求导(由基本定理,d/dx of Si(x) = (sin x)/x),还能把它们展成 泰勒级数——它们是堂堂正正的一等公民。接下来一整级的「特殊函数」,就专门献给这群奇珍异兽。
为什么定积分仍可能算出精确值
integral from -infinity to infinity of e^{-x^2} dx 恰好等于 sqrt(pi),而 integral of e^{-x^2} dx 在一般区间上却被禁止有公式,这感觉很矛盾。化解之道是:定积分不过是一个数,而一个数可以靠一个巧妙的全局论证求得,根本不必产生任何原函数。经典的高斯技巧把这个积分平方,将乘积读作整个平面上的二重积分,再改用 极坐标——那里多出的因子 r 让新被积函数变成初等的,整件事就坍缩为 pi。你从未对 e^{-x^2} 求原函数;你绕过了它。
驯服发散的积分:柯西主值
有时麻烦不在于原函数的形式,而在于一个奇点让积分干脆地发散了。考虑 integral from -1 to 1 of dx/x。被积函数在 x = 0 处炸开,作为普通的 反常积分 它没有值:从 0+ 到 1 的那块跑向 +infinity,从 -1 到 0- 的那块跑向 -infinity,而无穷减无穷不是一个数。然而函数 1/x 关于原点是完美反对称的,眼睁睁不能利用这种抵消,实在叫人发狂。
柯西主值正是为这种局面解围。与其让两侧各自独立地逼近奇点,不如挖去一个对称的、半宽为 epsilon 的缺口,再让它一起收缩:P.V. integral from -1 to 1 of dx/x = limit as epsilon -> 0+ of [ integral from -1 to -epsilon of dx/x + integral from epsilon to 1 of dx/x ]。由于缺口对称,+infinity 与 -infinity 在取极限之前就相互抵消,于是你得到一个有限的、定义良好的答案 0。主值 是一种约定——一条规定该如何逼近坏点的规则——它让反对称性得以发挥作用。
数值积分的初次登场
那么,当公式根本不存在时,你究竟怎样从 integral from 0 to 1 of e^{-x^2} dx 里弄出一个数呢?回到最本初的定义。定积分 是 黎曼和 的极限:把 [a, b] 切成 n 个小片,在取样点上算出被积函数的值,乘以片宽,再加起来。在有限的 n 处把这个极限截断,就得到一个你能用手或机器算出的近似值。这就是数值积分,它对任何连续被积函数都管用——无论初等与否——因为它从头到尾根本不索取原函数。
粗糙的矩形收敛很慢,所以实用的方法把力气花在每个小片的形状上。梯形法则用直线连接取样点;辛普森法则把取样点三个一组地穿上小抛物线,对光滑函数而言精度高得多;高斯型求积更进一步,巧妙地连取样点本身都精心挑选,使得 n 个安放得当的取值就能把直到 2n - 1 次的每个多项式算得分毫不差。只需寥寥几个点,辛普森法则就已能把 erf 和 Si 算到许多位有效数字——而这恰恰就是这些「不可能」积分的列表和库函数被造出来的方式。
Approximate integral from 0 to 1 of e^{-x^2} dx (Simpson, n = 4 panels, h = 0.25)
x: 0.00 0.25 0.50 0.75 1.00
f(x): 1.0000 0.9394 0.7788 0.5698 0.3679
weight: 1 4 2 4 1 (Simpson pattern)
estimate = (h/3) * [ f0 + 4 f1 + 2 f2 + 4 f3 + f4 ]
= (0.25/3) * [1.0000 + 3.7576 + 1.5576 + 2.2790 + 0.3679]
= 0.74683
exact (= (sqrt(pi)/2) erf(1)) = 0.74682... -> right to 4 decimals with 5 points把它们串起来
下次再遇到一个抵抗你一切招数的积分时,别再没完没了地死磕,而是走一遍下面这套老实的分诊流程。
- 先问初等原函数究竟存不存在。如果被积函数形如 e^{-x^2}、(sin x)/x 或 1/sqrt(1 - k^2 (sin theta)^2),刘维尔定理给出否定答案——别再苦寻公式了。
- 如果你需要把它当作一个函数,就接纳那个具名的特殊函数——erf、Si 或某个椭圆积分——并把它当成一个可求导、可展开、可列表的一等对象来对待。
- 如果你只需要一个定值,就去找一个全局技巧——对称性、参数法、极坐标平方,或一条围道——不靠函数也能求出那个数。
- 如果某个奇点让它发散,但发散是对称的,就申明一个柯西主值——老实地把它作为一种选定的约定,而非寻常的等式。
- 当其余办法都过头或都用不上时,退回到数值积分——辛普森法或高斯型求积——它能把那个数算到你所要求的任意精度。