两个不肯就范的古老问题
先从一个你以为早已掌握的问题入手:椭圆的周长。半径为 r 的圆,周长是 2 pi r——干净、初等,在大一微积分里就解决了。于是你搬出弧长公式,代入椭圆 x = a cos theta、y = b sin theta,自信地写下这个定积分。结果是从 0 到 2 pi 的 square root of (a^2 sin^2 theta + b^2 cos^2 theta) d theta。然后一切就卡住了。那个根号没有初等原函数。椭圆——仅次于圆的最基本曲线——它的周长,竟无法用多项式、根式、指数、对数和三角函数的任何有限组合来表示。
钟摆讲的是同一个故事。你最初遇到小角度摆,是把它当作简谐振子:theta'' = -(g/L) sin theta,而课本悄悄地把 sin theta 换成 theta,得到那个干净的周期 2 pi square root of (L/g),且与摆幅无关。但对任何真实的摆动,这都是个谎言。保留真正的 sin theta,去问一个从振幅 theta_0 释放的摆的精确周期,你又会落到形如 1 over square root of (某物 - 某物 times sin^2) 的积分上。诚实的钟摆和诚实的椭圆,交给你的是同一个形状——而这个形状有自己的名字。
为答案命名:勒让德的四种标准形
当微积分拒绝给出公式时,成熟的做法是为我们所需的函数命名——就像当年对数被发明为 1/x 的原函数,又像上一篇里 erf 为钟形曲线而命名一样。这里这一族棘手的积分范围很广:任何关于 theta 与一个三次或四次式的平方根的有理函数的积分,都叫作椭圆积分——参见椭圆积分(非初等)。勒让德证明,其中每一个都可以通过标准代换化归为屈指可数的几个基本积木。我们只需两种基本形状。
这两种形状就是第一类和第二类椭圆积分,写法里带一个自由的上限 phi(称为幅角)和一个介于 0 和 1 之间的数 k(称为模,它决定根号的离心程度)。让上限 phi 保持自由,就得到不完全积分;把上限一路推到 pi/2——整整一个四分之一周期——就得到完全积分 K(k) 和 E(k)。这样总共有四个命名对象:不完全的 F 与 E,完全的 K 与 E。记号略有重叠——第二类在完全和不完全两种情形都用 E——所以一定要看清是否带有幅角参数。
Incomplete (upper limit phi is free):
F(phi, k) = integral_0^phi d theta / sqrt(1 - k^2 sin^2 theta) (first kind)
E(phi, k) = integral_0^phi sqrt(1 - k^2 sin^2 theta) d theta (second kind)
Complete (set phi = pi/2, a full quarter turn):
K(k) = F(pi/2, k) = integral_0^{pi/2} d theta / sqrt(1 - k^2 sin^2 theta)
E(k) = E(pi/2, k) = integral_0^{pi/2} sqrt(1 - k^2 sin^2 theta) d theta
Endpoints: K(0) = E(0) = pi/2 ; E(1) = 1 ; K(k) -> +infinity as k -> 1一个把它系回大一微积分的合理性检验:令 k = 0。根号塌缩为 1,于是 F(phi, 0) = integral from 0 to phi of d theta = phi,而 E(phi, 0) 也等于 phi。所以在模为零时,椭圆积分不过是恒等函数——它们本就是初等情形,只是换了身打扮。模 k 恰好度量你离开初等世界有多远。k 很小意味着近乎圆形的椭圆或极小的摆幅,你可以把熟悉的答案作为关于 k 的级数的首项重新找回来。
让它们上岗:钟摆与椭圆
钟摆的回报来了,用一幅图来推。用能量守恒把角 theta 处的角速度表示出来,分离变量,再对四分之一摆程积分。经过那个干净的代换 sin(theta/2) = sin(theta_0/2) sin(phi)——这一招与三角换元同属一族——那个杂乱的四分之一摆程积分恰好折叠成 F(pi/2, k),也就是 K(k),其中模 k = sin(theta_0/2)。
于是精确周期为 T = 4 square root of (L/g) times K(sin(theta_0/2))。读懂它在说什么。当振幅 theta_0 很小,k 接近 0,K(0) = pi/2,T 便塌回那个熟悉的 2 pi square root of (L/g)——小角度答案作为极限情形自然落出,而非偶然。但当你让钟摆摆得更宽,k 增大,K(k) 增大,真实周期就比课本值更长:从 90 度释放的摆,每个周期比小角度公式预测的约长 18%。当 theta_0 趋向 180 度(在顶端达到平衡)时,k 趋向 1,K(k) 对数式发散,周期奔向无穷——这恰恰正确,因为一个在顶端竖直平衡的摆,永远不会回来。
椭圆则是第二类的故事。它的周长是 4 a times E(e),其中 a 是半长轴,e 是离心率,E 是完全第二类积分——即完全椭圆积分。圆是 e = 0 的情形,此时 E(0) = pi/2,周长为 4 a times pi/2 = 2 pi a,正是你早已熟悉的周长。而从椭圆顶端到某一般点的弧长,则是一个不完全第二类积分 E(phi, e)——参见不完全椭圆积分——因为此时上限只走到一半就停了。「完全」对「不完全」,无非就是「整整一个四分之一」对「你走到哪儿了」。
如何计算它们,以及别怕「非初等」这个词
人们很容易觉得非初等积分低人一等——觉得只要答案不是个整洁公式,自己就失败了。把这种感觉扔掉。K(k) 是用数值数学中最美的算法之一来计算的:算术-几何平均。取两个数,反复把它们替换成它们的普通平均和几何平均(两数乘积的平方根),这两个数列便奔向一个共同极限,正确位数大致每步翻倍。三到四次迭代就已给出机器精度。
- 认出形状。每当一个积分里含有一个三次或四次多项式的平方根——或一个你能整理成 1 over square root of (1 minus k^2 sin^2 theta) 的表达式——就要怀疑这是椭圆积分,而不是你技巧的失败。
- 化归为勒让德标准形。通过标准代换,把积分推入 F、E 标准形之一,并读出幅角 phi 和模 k。这才是真正的本领——做到这一步,活儿就干完了。
- 交给现成的程序。调用内置的 K、E、F,或算术-几何平均,收下十五位有效数字。一个命名的非初等函数,求值起来并不比 sin 或 log 更难。
反转积分:椭圆函数登场
现在是那个深刻的转折。回想一个你也许没这样表述过的 Volume I 事实:普通正弦是一个积分的反函数。若你写下 u = integral from 0 to x of dt over square root of (1 minus t^2),这个积分不过是 arcsin x,于是 x = sin u。正弦正是反转那个最简单的弧长积分所得到的。那么自然要问:若改为反转那个椭圆弧长积分,又会得到什么?
你得到的是一对全新的周期函数。令 u = F(phi, k) 再反转:定义 sn(u, k) = sin phi、cn(u, k) = cos phi、dn(u, k) = square root of (1 minus k^2 sin^2 phi)。这就是雅可比椭圆函数——参见雅可比椭圆函数。它们是正弦余弦更丰富的表亲。它们满足貌似熟悉的恒等式 sn^2 + cn^2 = 1 与 k^2 sn^2 + dn^2 = 1,以及干净的导数 d(sn)/du = cn times dn。当 k = 0 时它们恰好塌回 sn = sin、cn = cos、dn = 1;当 k = 1 时它们退化为双曲函数 sn = tanh、cn = dn = sech。
标志性的性质是双周期性。普通正弦只有一个周期 2 pi,沿实轴行进。允许 sn 的自变量取复数,第二个独立的周期就在虚方向上出现。于是该函数在铺满复平面的一整片平行四边形格子上重复——它同时沿两个方向周期,而这是任何非常数的初等函数都做不到的。这种格子结构最干净的化身是魏尔斯特拉斯 P 函数,它直接由格子构造,并满足微分方程 (P')^2 = 4 P^3 minus g_2 P minus g_3——这正是一条椭圆曲线的方程,是从微积分这一隅通向数论与密码学的桥梁。
于是回路又闭合回钟摆。非线性摆的精确角运动——不是小角度的赝品,而是真东西——可以写成含 sn 的封闭形式 theta(t)。同样这些函数描述自旋刚体、浅水的椭圆余弦波与孤立波,以及非线性电路中的振荡。每当小角度线性化太过粗糙、你需要真正的非线性振荡时,sn、cn、dn 就是那个诚实的答案,是普通正弦余弦根本给不了的。