一条规则胜过十次换元
设想有人要你求 sin^10(x) 的原函数。你可以搬出三角恒等式硬磨一下午——或者你可以注意到,这个积分并不孤单。它只是一个以整数 n 编号的无穷家族中的一员:sin^n(x) dx 的积分,n = 0, 1, 2, 3 一直往上。关键事实是这些成员彼此相连:指数为 n 的积分可以用指数更小的同类积分写出来。[[reduction-formula|约化公式]]正是这条连线——一条每施用一次就把幂降一或降二的规则。
记 I_n 为 sin^n(x) dx 的积分。约化公式形如 I_n =(某个简单式子)+(某分数)乘以 I_{n-2}。注意它做什么、不做什么:它并不直接把答案交给你——它只是把指标往下移。但移动足够多次,你就落到一个基本情形 I_0 或 I_1 上,而它你早已烂熟于心。这种自指的风格——用自身更小的实例来定义某量——正是[[recursive-integration|递归积分]]的核心。它与数列中递推关系的精神相同,只是这里的项是一整个一整个的积分。
动力间:分部积分
约化公式从何而来?几乎总是来自分部积分——你在本阶梯前面已经见过的工具。回忆它的形状:u dv 的积分等于 u v 减去 v du 的积分。技巧在于怎么拆。要把幂降下来,你剥出一个因子去求导(求导数时这个因子的指数降一),把其余的留着去积分。拆得巧,右边剩下的积分恰是原家族中指数更小的那一员——你的递推式就到手了。
范例:正弦的幂
取 I_n = sin^n(x) dx 的积分,把它拆成 sin^(n-1)(x) 乘 sin(x) dx。令 u = sin^(n-1)(x),dv = sin(x) dx。则 du = (n-1) sin^(n-2)(x) cos(x) dx,v = -cos(x)。分部积分给出 I_n = -sin^(n-1)(x) cos(x) + (n-1) 乘以 sin^(n-2)(x) cos^2(x) dx 的积分。再用勾股恒等式 cos^2(x) = 1 - sin^2(x):最后那个积分变成 (n-1)(I_{n-2} - I_n)。原来的 I_n 在右边重新出现了——一个反复出现的主题——于是你把它归并。
归并 I_n 的项:I_n + (n-1) I_n = -sin^(n-1)(x) cos(x) + (n-1) I_{n-2},于是 n I_n = -sin^(n-1)(x) cos(x) + (n-1) I_{n-2}。两边除以 n,约化公式就出来了:I_n = -(1/n) sin^(n-1)(x) cos(x) + ((n-1)/n) I_{n-2}。每施用一次把幂降二。要算 sin^4(x):I_4 用 I_2,I_2 用 I_0 = 1 dx 的积分 = x。三行短短的式子就完事——不必磨一下午恒等式。这就是处理任何三角函数的幂的标准机器。
如果把积分取成从 0 到 pi/2 的定积分,会有一个漂亮的回报。这时边界项 sin^(n-1)(x) cos(x) 在两端都为零,只剩下干净的递推 I_n = ((n-1)/n) I_{n-2}。把它从一个大的 n 一路级联下行到 I_0 = pi/2 或 I_1 = 1,就得到著名的求 pi 的沃利斯乘积——一个有力的迹象:一条朴素的约化公式能承载真正的结构,而不只是记账。
范例:正割的幂
正割更刁钻,因为最底下没有一个友好的基本情形可积,而且拆法也不那么明显。对 J_n = sec^n(x) dx 的积分,把 sec^2(x) 剥出来作为要积分的部分(它积出来是 tan(x)),令 u = sec^(n-2)(x)。则 du = (n-2) sec^(n-2)(x) tan(x) dx,dv = sec^2(x) dx,v = tan(x)。分部积分给出 J_n = sec^(n-2)(x) tan(x) - (n-2) 乘以 sec^(n-2)(x) tan^2(x) dx 的积分。
现在用 tan^2(x) = sec^2(x) - 1,于是尾部的积分裂成 J_n - J_{n-2}。和前面一样,J_n 在右边回来了,归并它。你得到 (n-1) J_n = sec^(n-2)(x) tan(x) + (n-2) J_{n-2},因此 J_n = (1/(n-1)) sec^(n-2)(x) tan(x) + ((n-2)/(n-1)) J_{n-2}。幂又一次降二。它的基本情形比正弦高一层:J_2 = tan(x),而 J_1 = sec(x) dx 的积分 = ln|sec(x) + tan(x)|——一个值得记住的小小标准结果,因为奇数幂的递推会终止在那里。
递归的两种风味:逐级下行 vs. 自我闭合
现在看 x 乘 e^x——一个混合乘积。对 K_n = x^n e^x dx 的积分,可微分的因子是 x^n:取 u = x^n,dv = e^x dx,则 du = n x^(n-1) dx,v = e^x。分部积分给出 K_n = x^n e^x - n K_{n-1}。这一个更简单:幂每次只降一,逐级下行 K_3 -> K_2 -> K_1 -> K_0 = e^x。例如 K_1 = x e^x dx 的积分 = x e^x - K_0 = x e^x - e^x = (x - 1) e^x。一旦 x 的指数降到零,递归就终止。
正弦、正割、x^n e^x 这几个都向下逐级走到基本情形。但递归积分还有第二种风味,它从不下行:自我闭合的环。教科书例子是 e^x cos(x) dx 的积分。分部积分一次,你得到 e^x sin(x) 的积分;再分部一次,原来的 e^x cos(x) 积分带着变号重新出现。记原积分为 L,你得到方程 L = e^x cos(x) + e^x sin(x) - L。这里根本没有基本情形——你直接解代数:2L = e^x (cos x + sin x),于是 L = e^x (cos x + sin x) / 2。
I_n = -(1/n) sin^(n-1)(x) cos(x) + ((n-1)/n) I_{n-2} base: I_0 = x, I_1 = -cos(x)
J_n = (1/(n-1)) sec^(n-2)(x) tan(x) + ((n-2)/(n-1)) J_{n-2} base: J_1 = ln|sec x + tan x|, J_2 = tan x
K_n = x^n e^x - n K_{n-1} base: K_0 = e^x
L = integral e^x cos x dx -> L = e^x cos x + e^x sin x - L -> L = e^x(cos x + sin x)/2陷阱、基本情形,以及它通向何处
- 给家族命名:把积分记作 I_n,认出你要降低的那个整数指标。
- 为分部积分拆项,使你要攻击其幂次的因子正是你去求导的那个。
- 施用分部积分,再用一个恒等式(如 cos^2 = 1 - sin^2)把原来的 I_n 哄回到右边。
- 归并 I_n 的项,代数地用 I_{n-1} 或 I_{n-2} 解出 I_n。
- 一路迭代到基本情形(I_0 或 I_1),代入它,再向上回填。
这种递归习惯远不止用于这些例子。从 0 到 pi/2 的定 sin^n 积分,正是伽马函数与贝塔函数以闭式打包的那类对象:B(p, q) = 2 乘以从 0 到 pi/2 的 (sin theta)^(2p-1) (cos theta)^(2q-1) d theta 的积分,其中 B(p, q) = Gamma(p) Gamma(q) / Gamma(p+q)。而用更早的项定义每一项这整套逻辑,正是你日后在本卷里构造微分方程幂级数解时所倚靠的同一种递推关系。约化公式是你对那个思想的第一次真正品尝——递归作为一种方法,而不只是一个小把戏。