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

当原函数无法用初等函数表示时

有些积分——高斯积分、正弦积分、椭圆积分——根本无法用初等函数写出公式,而这是一条定理,并非你不够聪明。来弄清这究竟意味着什么,学会用柯西主值驯服发散的积分,并学会如何用数值方法算出它们中的任何一个。

每个积分高手终会撞上的那堵墙

到现在你已经握有一套像样的工具:第一卷里的 换元积分分部积分,再加上本级里的 三角换元部分分式递推公式参数求导技巧。所以当你第一次遇到一个能把这些招数全部击败的积分时,那滋味格外刺痛。试试 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
五次取值加上辛普森法则,就已把一个非初等积分钉到四位小数——根本不需要原函数。

把它们串起来

下次再遇到一个抵抗你一切招数的积分时,别再没完没了地死磕,而是走一遍下面这套老实的分诊流程。

  1. 先问初等原函数究竟存不存在。如果被积函数形如 e^{-x^2}、(sin x)/x 或 1/sqrt(1 - k^2 (sin theta)^2),刘维尔定理给出否定答案——别再苦寻公式了。
  2. 如果你需要把它当作一个函数,就接纳那个具名的特殊函数——erf、Si 或某个椭圆积分——并把它当成一个可求导、可展开、可列表的一等对象来对待。
  3. 如果你只需要一个定值,就去找一个全局技巧——对称性、参数法、极坐标平方,或一条围道——不靠函数也能求出那个数。
  4. 如果某个奇点让它发散,但发散是对称的,就申明一个柯西主值——老实地把它作为一种选定的约定,而非寻常的等式。
  5. 当其余办法都过头或都用不上时,退回到数值积分——辛普森法或高斯型求积——它能把那个数算到你所要求的任意精度。