当工具箱见底时
到现在,你已经攒下一套像样的兵器。你可以拿出 换元法、靠 分部积分、用 部分分式 展开一个有理函数,或用 三角换元 理顺一个根号。可有些 定积分 偏偏纹丝不动,抱着胳膊,把这些招数一个一个挡回去。一个著名的例子是从 0 到无穷的 (sin x)/x dx——(sin x)/x 根本没有初等原函数,所以「先求原函数、再代上下限」这条惯用路就直接走不通了。
我们这里要见的技巧,不是硬逼出答案,而是改写问题。我们故意「破坏」这个积分,往里偷偷塞进一个旋钮——一个参数,记作 alpha——把一个固定的数变成一整族积分 I(alpha)。这个计划听起来几乎有点鲁莽:加一个变量、让问题看上去更难,然后对那个变量给整族积分求导,指望导数恰好是一个我们真能算出来的积分。
莱布尼茨法则:交换两个运算
一切的核心是一个干净的想法。设 I(alpha) = 从 a 到 b 的 f(x, alpha) dx,其中上下限 a、b 是固定的,alpha 是我们的参数。那么,在我们马上会老实点名的条件下,dI/dalpha = 从 a 到 b 的 (partial f / partial alpha) dx。用话说:积分的导数等于导数的积分。你被允许把 d/dalpha 推过积分号,让它落到被积函数上,变成对 alpha 的 偏导数。
为什么交换这两个运算是合法的?把积分想成无穷多片薄板 f(x, alpha) dx 的累加。微微挪动 alpha,会让每片板的高度都变一点点。面积的总变化,正是这些微小高度变化的总和——而那恰好就是 partial f / partial alpha 的积分。每片板都用它自己对 alpha 的普通 导数 来回应,把这些回应加起来:你是先加再求导,还是先求导再加,结果一样。这就是全部的直觉。
如果上下限也依赖 alpha,完整的 莱布尼茨法则 会多出两个边界项:d/dalpha 关于从 a(alpha) 到 b(alpha) 的 f dx = f(b, alpha) b'(alpha) - f(a, alpha) a'(alpha) + (partial f / partial alpha) 的积分。这两块恰好是 微积分基本定理 在捕捉移动的端点。用费曼技巧时,我们几乎总把上下限固定,于是它们消失,只剩「导数的积分」这一项。
一个完整的例子,慢慢来
我们来求 I = 从 0 到 1 的 (x^3 - 1) / ln(x) dx。下面那个自然对数,正是堵死一切初等方法的东西。于是我们在已有幂次的地方插进一个参数:定义 I(alpha) = 从 0 到 1 的 (x^alpha - 1) / ln(x) dx,其中 alpha 大于 -1。注意 I(3) 就是我们真正想要的数,而 I(0) = 0 是白送的,因为 x^0 - 1 = 0 让整个被积函数为零。最后这个事实,给了我们一个已知的锚点,好让我们积回去。
现在在积分号下求导。关键的抵消是:x^alpha 对 alpha 的偏导等于 x^alpha ln(x),而这个 ln(x) 把分母里那个讨厌的 ln(x) 干掉了:partial/partial alpha 关于 (x^alpha - 1)/ln(x) = (x^alpha ln x)/ln x = x^alpha。那个顽固的积分塌缩成了一个大一学生就能做的东西。于是 I'(alpha) = 从 0 到 1 的 x^alpha dx = 1/(alpha + 1)。
I(alpha) = integral_0^1 (x^alpha - 1)/ln(x) dx (want alpha = 3)
I'(alpha) = integral_0^1 d/dalpha[(x^alpha-1)/ln x] dx
= integral_0^1 x^alpha dx (ln x cancels!)
= 1/(alpha + 1)
integrate back, using anchor I(0) = 0:
I(alpha) = integral_0^alpha 1/(t+1) dt = ln(alpha + 1)
=> I(3) = ln(4)最后一棒是积回去。我们知道 dI/dalpha = 1/(alpha + 1),又知道锚点 I(0) = 0,于是 I(alpha) = 从 0 到 alpha 的 dt/(t+1) = ln(alpha + 1)。代入 alpha = 3 得 I = ln(4)。一个分母里塞着对数的乱糟糟积分,结果竟等于 ln 4——而我们自始至终都没去找过原被积函数的原函数。
配方,以及把旋钮藏在哪里
每个费曼技巧的题目都踩着同样的五拍。真正有创造性的,是第一拍:决定参数放在哪里。它没有算法,只有靠练习磨出来的眼光。一个好的插法,会让 alpha-导数把障碍抵消掉(就像上面 ln x 抵消 ln x),或把一个别扭的因子变成对 x 可积的东西。
- 插入一个参数 alpha,使得 I(alpha) 在某个取值上化为你的目标,在另一个取值上化为某个轻松已知的量(常是 0 或一个标准积分)——后一个取值就是你的锚点。
- 在积分号下求导:I'(alpha) = (partial f / partial alpha) 的积分,指望结果是一个你能算的积分。
- 把那个更简单的关于 x 的积分算出来,给 I'(alpha) 留下一个纯粹关于 alpha 的函数。
- 把 I'(alpha) 关于 alpha 积回去,恢复出 I(alpha),带一个任意常数。
- 用锚点值把常数钉死,再在你真正想要的 alpha 取值处读出答案。
同一台机器驱动着许多著名结果。把 高斯积分 从 0 到无穷的 e^{-alpha x^2} dx = (1/2) sqrt(pi/alpha) 对 alpha 求导,立刻就得到 x^2 e^{-alpha x^2} dx 的积分,毫不费力——一次求导就给你一整梯子的矩积分。弗鲁拉尼积分 从 0 到无穷的 (f(ax) - f(bx))/x dx = (f(0) - f(无穷)) ln(b/a) 同样能用参数求导法哄出来。而开篇那个 (sin x)/x 积分,则靠插入 e^{-alpha x}、求导以消掉正弦的别扭、再积回去而被攻破。
什么时候你才被允许这么做
说实话:交换导数和积分并不总是合法的,假装它总合法,迟早会反咬你一口。当 f 及其偏导 partial f / partial alpha 在区域上对两个变量都连续时,这个交换是有理的;而对无穷区间——这一点至关重要——还要求那个求过导的积分关于 alpha 一致收敛。一致收敛才是真正的守门人:它保证没有质量逃向无穷的速度,快过你的求导能追上的速度。
确实存在反例:盲目求导会给出错误的数,原因恰恰是 收敛 不是一致的。所以在认真的工作里,你要么核对前提条件,要么至少用数值方法验一下答案。实践中,对于本方法通常瞄准的那些光滑、快速衰减的被积函数,条件成立、技巧稳如磐石——但养成「我被允许吗?」这一问的纪律,正是把一种方法和一种迷信区分开来的东西。
为什么它该握在你手里
退一步,看看真正发生了什么。我们拒绝正面强攻这个积分,而是把它嵌进一个族里,再利用这样一个事实:对参数的 导数 有时远比积分本身温柔得多。这种「参数化、求导、再积分」的节奏,在高等数学里到处回响——它和生成函数背后的精神、和变换方法背后的精神、和大部分数学物理背后的精神是同一个;在那些领域,往问题里塞个参数把它软化,是一种反射,而非一招杂耍。
把这个技巧当作国际象棋的开局来对待:研究少数几个范例插法,直到你能感觉到参数想住在哪里。遇上对数的幂 x^alpha、驯服振荡的指数 e^{-alpha x}、藏在反正切或根号里的 alpha——这些模式会反复出现。一旦你的眼睛被训练出来,那些看似不可能的积分,会开始明明白白告诉你它们想把旋钮安在哪儿;而你拿起这个方法,就会像今天你不假思索拿起 分部积分 一样自然。