59 秒精简版,然后继续读完整推导。
三个课堂,一道门
你会在三门不同的课程里遇见它们,却没人告诉你它们彼此相关。在微积分里, 泰勒级数从单个点上的几个局部数值重建出一个函数。在复分析里, 柯西积分公式从绕着某一点画出的一条回路恢复出该点的函数值。 在信号课或物理课里,傅里叶变换把一个波拆成它的各个频率。 三个课堂,三套词汇,三份作业。
这篇文章讲的,是它们之间的那道门。这三者背后是同一个物理动作:
让一个箭头绕着圆旋转,并在一整圈上取平均。所有旋转的东西都 抵消为零;只有静止不动的部分留存下来。
泰勒、柯西与傅里叶,是从三个方向把手电筒照向这同一个动作的三种方式。 一旦你看清了这个动作,这三个定理就不再是各自要背诵的孤立事实,而成了同一句话, 读出三种说法。
全文中,τ(tau)代表一整圈旋转,即一个圆的周长与它的 半径之比。拿一根线绕任意一个圆缠一圈,它的长度就是 τ ≈ 6.283 个半径;一整圈就是 τ 弧度。 我们用 τ 而不用 2π 只有一个理由: 本文中的每一个公式都是恰好在一整圈上取的平均,而 τ 正是一整圈的名字。这套记号会不断提醒你,数学实际上在做什么。
旋转箭头
三个结果背后的同一个动作:让一样东西旋转,在一整圈上取平均,只有从不旋转的部分留存下来。
第一部分,旋转箭头,以及一个问题
在平面的原点放一个单位长度的箭头,让它指向角度 θ。当 θ 从 0 增长到 τ 时,箭头尖端沿单位圆扫过一圈。我们把这个尖端, 即一个带有水平分量和竖直分量的点,写成一个复数:
exp(iθ) = cos θ + i sin θ一个旋转速度快 k 倍的箭头是 exp(ikθ):当 θ 绕一圈时,这个箭头绕了 k 圈(当 k 为负时,则朝另一个方向转)。 现在,整篇文章都系于这一个问题:
如果我让一个 箭头旋转,并追踪它在一整圈上的平均位置,这个平均最终落在哪里?
拖动 k 改变转速,按 ▶ 让 θ 从 0 扫到 τ。 金色箭头是当前位置,每一根 淡淡的辐条都是箭头已经经过的某个位置,它本身就是一个小箭头,等着被算进 平均里。要对一批箭头取平均,就把它们首尾相接地加起来,再除以箭头的个数: 朱红色圆点正是到目前为止的这个平均。盯着它的 虚线轨迹看,这正是要点所在:平均一开始落在圆周上,钉在最初的 那个位置,然后随着后来的位置不断到来、抵消掉先前的位置,它稳稳地向内螺旋。 到一整圈结束时,每一根辐条都被一根方向相反的辐条配对抵消,平均就被一路拖到了圆心。
金色箭头是 exp(ikθ); 淡淡的辐条是迄今为止经过的位置; 朱红色圆点是它们的平均,它的 虚线轨迹显示它从圆周向内螺旋到圆心。
移动平均的长度。对任意 k ≠ 0,它在一整圈后回到 0。当 k = 0 时,箭头从不移动,所以平均始终停在 1。
这幅图就是证明。一个旋转的箭头均匀地经过每一个方向,所以它的各个位置成对 对称地抵消,平均坍缩到圆心。唯一的例外是 k = 0: 转速为零的“旋转”就是一个冻结在 1 处的箭头,而一个常量的平均 就是它自己。在把这一切压缩成一行之前,让我们用真正画在圆上的那些零件, 把平均一步步搭起来。
第二部分,用零件搭出平均
把这三步动作合在一起,平均就能从图上直接读出来:
点下面任一个框,把它的答案锁进等式里
这个箭头从不旋转,所以它保持满长度静止不动,它的平均就是它自己的全部。 这就是我们要留下的那一个:本文中每一次提取所追寻的奖品。
这个箭头转了整数圈,回到出发的地方,所以它的各个位置成对平衡、彼此抵消。 其余一切都消失了,清空了场地,让留存者独自站立。
( k 为整数 )
第三部分,整圈抵消引理
为什么必须是整数?抵消需要这条路径能闭合。 如果 k 是整数,箭头在一整圈里转了整数圈,恰好回到它出发的地方, 于是各个位置成对完美平衡、加起来为零。一个分数转速会让箭头停在半路上,路径无法 闭合,留下一小条不抵消的残余。所以从这里开始,我们唯一关心的旋转, 就是那些转完整个周期并闭合的旋转;不闭合的旋转我们干脆先搁在一边。 这并不是损失:闭合的那些旋转,正是后面每个场景所搭建的基础。
这是我们唯一需要的工具。课本把它叫作 正交性引理或平均引理;在这里我们给它起名为 整圈抵消引理,因为它说的正是:在一整圈上,所有旋转的东西都抵消, 只有静止的箭头留存下来。第二、三、四节无非就是把这条引理对准三个不同的函数。
傅里叶:调旋钮
傅里叶,一个重复的信号是由各个纯频率组成的和弦;在这里我们读出每一个有多响。
第一部分,把信号看作一堆旋转箭头之和
所谓信号,无非是一个会变化的量:在每一个时刻、或每一个位置上的 一个数值。一个音符响起时,你耳膜处的气压;一根导线上的电压;一张照片某一行的 明暗;一天里潮水的高度。把这个数值对时间、角度或距离画出来,你就得到一条 起伏的曲线。那条曲线就是信号。
我们要处理的是会重复的信号。先从一个随时间变化的信号 f(t) 出发,并假设它经过一个周期 T 后回到出发点, 也就是对每个 t 都有 f(t + T) = f(t)。 那么过了一个周期之后就再不会发生任何新东西:整个信号已经全部包含在一段长度为 T 的区间里,永远重复下去。于是我们干脆把这一段绕到一个圆上, 把绕一整圈叫作 τ,并追踪圆上的角度 θ, 而不是那只不停走的钟。我们把信号写成 f(θ): 当旋钮停在角度 θ 时它的取值。同一个信号,只是从圆上读取, 而不是从一条没有尽头的直线上读取。
下面是让其余一切都奏效的那个动作。我们把信号的每一种成分都想象成一个固定长度的 小箭头,钉在原点,以它自己稳定的转速旋转。每圈转一次的箭头是 exp(iθ);每圈转两次的是 exp(2iθ); 转三次的是 exp(3iθ); 依此类推。强度 ck 只是决定第 k 个箭头有多长。
现在把它们首尾相接地叠起来:从原点出发,放下第一个箭头, 从它的尖端开始放下一个,再从那个尖端开始放下下一个。每个箭头以它自己的转速转动, 于是整条链子摆来摆去、晃来晃去,而随着 θ 推进,它的 最末端尖端描出一条路径。那条描出的路径就是信号。所谓信号“由 exp 项承载”,说的正是这件事,一堆旋转箭头之和,其最末端尖端 画出了那条曲线:
f(θ) = … + c0 + c1exp(iθ) + c2exp(2iθ) + c3exp(3iθ) + …(c0 项是那个不旋转的箭头, 一个固定的偏移量,而转速为负的项朝另一个方向旋转。它们合在一起,能搭出 任何重复的信号。)
而这正是本节的目标。从左往右读那个等式很容易:把强度 ck 交给我,我就能把这些箭头加起来、画出信号 f。但在现实中,我们拿到的等式是反过来的, 我们拿到的是合成后的结果,即每个角度处的 f(θ),却不知道它的成分, 即构成它的各个 ck。傅里叶分析正是这个逆问题: 从已经成形的 f 中恢复出每个 ck, 从而准确揭示出这个信号是由哪些频率、各有多少构成的。§1 的整圈抵消引理一行就能做到, 我们马上就会看到。
有一个前提,只限完整周期。这里正是兑现 §1 那个承诺的地方:我们始终只关心 那些转完完整周期的旋转。对一个信号来说,这意味着什么呢。重复就是要闭合: 一整圈之后信号恰好回到出发的地方, f(θ + τ) = f(θ)。 正是这一个要求,逼着每个转速都必须是整数:一个转速为 k 的箭头,只有当 k 是整数时,才会在一整圈后回到它的起点, 而一个转速为 3.5 的箭头在转完一圈后仍指着半路上,所以携带它的 信号在一圈后不会回到原处。因此,一个在单独一圈上闭合的信号,是由 完整周期的箭头、且仅由它们搭成的,而这恰好就是整圈抵消引理能干净利落读取的情形。
那么一个在一圈上不闭合的信号呢?要么它仍然重复,只是要走更长的一段 (当出现像 3.5 = 7/2 这样的半整数时,需要两圈);那时我们干脆把那更长的一段叫作 一圈,转速便又都成了整数。要么它根本不重复,比如一个孤立的脉冲,或一个沿着无尽 直线延伸的信号;那时就没有周期可以化整,箭头之和必须张开成它们的一个 连续统,即傅里叶变换,我们在本文不会触及它。
第二部分,两道影子:实部与虚部
每个旋转箭头都活在一个平面里,所以它投下两道影子。 向水平轴作垂线,你读出它的实部;向竖直轴作垂线,你读出它的 虚部。对单位箭头来说,这正是 §1 里的那个关系:
影子(实部) ↑ 不可见的
部分(虚部)
所以当箭头匀速转动时,它的水平影子像一个 余弦那样来回滑动, 它的竖直影子则像一个 正弦:同一种振荡,相差四分之一圈。
下面是值得放慢脚步细看的部分。当你测量一个实信号(耳膜处的气压、导线上的电压)时, 你在每一个瞬间记录的恰好是一个数:那道水平影子,也就是 实部。你的麦克风从不拾取竖直的那道 虚部。没有任何仪器能拾取它。在最字面的意义上,它对我们是 不可见的:我们这个世界里没有任何仪表能把它读出来。
然而它必须存在。把虚部拿掉,箭头就再也无法转动;它只能沿着一条直线来回滑动, 而被困在一条线上的东西没法“绕着”任何东西转。虚部正是箭头能够旋转所 必需的第二个维度。把它想成这台机器隐藏的另一半:一个我们无法在仪器 所在的那一个维度里测量的量,可一旦没有它就没有旋转,而没有旋转,就没有泰勒、 没有柯西、没有傅里叶。这个不可见的部分不是装饰,也不是记账上的方便;它是带动 可见部分运转的那个齿轮。
如果“一个你永远无法放到尺子上的数”这个念头让你感到不安,那是对的直觉, 它值得有自己的故事。我们会在本系列未来的一篇文章里好好讲讲它。
在下面左边的图里,实线曲线是 f 的 可见的实部影子(仪器真正会记录下来的东西),而 虚线曲线则是不可见的虚部,画在这里只是为了让你 看到你的仪器永远看不到的那套机件。
这一叠箭头是由旋转箭头奏出的一段和弦。分析问题则是反过来的: 有人把成形的声音 f 交给你,你必须恢复出各个单独的强度 ck,即混合里每个频率各占多少。听上去很难。 整圈抵消引理却让它成了一行就能写完的事。
看箭头同时发出两者,我们却只接住其中一个。这段动画比文字 更能说明问题。一个箭头以稳定的转速转动。在每一个瞬间它都投下它的两道影子, 两者都作为波向外流淌:实部像一个 余弦那样 铺展出去,虚部像一个 正弦那样铺展出去。 箭头同等地发出它们,但只有那道实波能抵达探测器。那道虚波被发往了一个 我们的仪器没有接口的维度。
转动的箭头 exp(iθ) 发出 这两个部分。实波抵达探测器; 虚波被同样地发出,只是我们没有仪器能记录它。
一个诱人的说法,要小心对待。人们很自然地会把这个旋转想象成 “真的”发生在某个隐藏的维度里,只有它的影子到达我们这边。影子那一半说得完全对: 任何仪器记录下来的都是实部,是一个二维转动的一维投影。 但第二根轴并不是旋转偷偷发生于其中的某个隐秘场所;它是我们附加上去的一个数学搭档, 之所以附加,是因为转动比晃动更容易推理,而对一个实信号来说,它完全由我们看得见的 那部分所决定。那个额外的维度在更深的意义上究竟是“虚”的还是“不可见”的,是一个 真问题,但它超出了本系列的范围。
第三部分,恢复出单独一个强度
为什么要去找单独一个强度 ck?那一个数正是 “这里头有多少这个频率”的答案:一段和弦里某个纯音的分量,一幅图像里某道波纹的强度, 一次振动里某个谐波的大小。把这些分量从成形的信号中一个一个读回来,正是 分析的含义,而整圈抵消引理就是做这件事的工具。
让我们具体做一个。取转速为 3 的箭头的强度, c3。把整个信号乘以 exp(−3iθ),也就是把转速为 3 的箭头倒着转。 这会把每个箭头的转速都减去 3,因为 exp(ikθ) exp(−3iθ) = exp(i(k−3)θ):
到目前为止我们只是重新调了这些箭头的转速;还什么都没取平均。取平均是下一步动作, 而在一整圈上取平均,就是在这一圈上做积分:对整个和应用 1τ ∫0τ( … ) dθ。 直到此刻,整圈抵消引理才发挥作用:每个旋转的箭头(任何非零转速)积分都得零, 而那个静止不动的箭头(转速 0,值为 exp(0) = 1)积分得到它自己的全部。除了一项以外,每一项都被抹掉,总和恰好 坍缩为 c3。
3 并没有什么特别:同样的动作能恢复出任意整数 k 对应的 ck。把信号乘以 exp(−ikθ) 再取平均;只有 转速为 k 的箭头被带到静止,其余每一个都抵消,于是它恰好把 它的强度交到你手里:
这就是傅里叶系数。它除了 §1 之外别无玄机: 冻结你想要的那个箭头,把其余的取平均除掉。在左边设定各个强度, 用旋钮选择要恢复哪一个,然后按 ▶,朱红色圆点是移动平均, 一整圈之后它恰好落在你用旋钮选定的那个强度上。
这个动作,从头到尾
信号 f(θ) = Σ ckexp(ikθ), 在一整圈上的实部(实线)和虚部 (虚线)。
提取: f(θ)exp(−ikθ) 的移动平均从第一个样本出发,随着 θ 扫过一圈, 沿虚线轨迹向内螺旋,最终落在 ck 上。
试试看:把旋钮调到 k = 2,圆点就会 落在你给 c2 设定的任意值上,把其余三个完全无视。 信号可以随你弄得多么纠缠都行;这个平均一次只读出一个成分,对其他所有成分一概视而不见。 那种视而不见正是整圈抵消引理。
这就是傅里叶级数,描述任何周期性事物、任何活在圆上的事物的天然语言。 当你冻结一个箭头、把其余的取平均到湮灭时,得到的就是一个系数;直白地写出来,它就是:
傅里叶系数
柯西:同一个平均,画成一个圆
柯西,一个光滑的场是刚性的:它在一条回路上的取值锁定了内部的一切。圆周知道内部。
同样的把戏还有第二个家,而这个家撑起了现代物理与工程的很大一部分。在 §2 里, 一个信号是在每一个时刻上的一个数值。现在设想在一个平面的每一点上 都有一个数值:一块金属板上各处的温度,一张绷紧的鼓皮的高度,一块平板上各处的电压, 平稳流动的水。像这样平稳、无源的场,正是一个复函数 f 所刻画的东西,而它们结果竟出奇地刚性。
那种刚性正是本节的妙处所在:一个圆心处的取值,就等于它圆周一圈上各处取值的平均。 测量边缘,你就知道了中心。一块板没法在圆周保持凉爽的同时、把一个热点藏在自己的中心; 中心被钉死在它周围环境的平均上。这个事实就是柯西定理, 它正是 §2 的平均引理换了一件新外衣。先看到它;然后我们看着它从旋转箭头引理里推导出来。
第一部分,先看到它:板上的数据
下面用一个具体的场把整个想法讲清楚,暂时还不用复数。设想一块平板上各处的温度: 板上每一点都带着一个数值,在这里用它的颜色表示。那就是我们所说的 铺在一个平面上的数据。标出一个中心 P,绕它画一个半径为 r 的圆,并在圆周上取任意一点 z。 把圆周一整圈上的温度取平均,你就恰好落在中心 P 处的温度上, 而且无论你把圆拖到哪里,这都成立。
平面上的数据。颜色是每一点上的数值(一个 温度),用固定的标尺,从 0(深蓝)到 1(红),所以在每一个随机场里读数的含义都相同。 白色的圆有中心 P 和一个圆周点 z; 圆周上的小点按它们各自的温度上色。右边,那些圆周颜色的平均结果 与中心处的颜色完全相同。这个相等就是均值性质,拖动 P 或改变 r,它从不失效。
在我们所研究的场里,为什么中心从不是最热的那一点。你想点多少次 随机生成都行:在每一个里,最亮的红和最深的蓝都坐落在边缘上, 从不孤零零地待在中间。这并不是所有温度场的定律;它是无源场的标志。 内部没有火焰、也没有汇,每一个内部点都安定到它周围环境的平均,所以它不可能盖过 所有邻点。在中间放一个真正的源,比如一块加热板、一个点电荷,核心就可能 成为最热的点;但那样的场不再是无源的,描述它需要额外的项 (z−P 的负次幂),那些项落在我们这里用的 那叠干净幂之外。“中心 = 圆周平均”这种刚性,恰恰是无源的情形, 而这正是柯西定理和本文所讲的东西。
第二部分,证明它:圆周是一束旋转箭头
看到它就先讲到这里。它为什么必须成立呢?因为圆周,经过任意一个 性质良好的函数处理后,结果无非是一束 §2 的旋转箭头,而我们已经知道一整圈对那些 箭头会做什么:所有旋转的东西平均成零,只有静止的部分留存下来。从这里开始的一切, 都是把这一个观察讲精确。
选一个点 P 和一个半径 r,让第二个点 z 沿着以 P 为圆心、半径为 r 的圆行走:
z = P + r exp(iθ)P 和 z 都是复数: 它们是平面上的点,而不是一条直线上的刻度。当 θ 从 0 跑到 τ 时,相对中心的位移是
z − P = r exp(iθ)它正是我们的一个旋转箭头:长度为 r,转一整圈。 整圈抵消引理已蓄势待发;我们只需先把这个圆喂进一个函数里。
一个性质良好的函数是一叠幂。复分析所关心的那些函数,即光滑、 不撕裂的那些,恰恰是你能用同一个位移 z−P 的整数次幂之和搭出来的那些:
f(z) = a0 + a1(z−P) + a2(z−P)² + a3(z−P)³ + …这里有两类符号。不带下标的 P 是圆的 中心,一个固定的点。带下标的 a0、a1、 a2、… 是系数,即给每个幂加权的旋钮设定。 这些系数是在中心处读出来的,特别是 a0 = f(P), 我们马上就会看到。
(你总能这样做,这是个深刻的事实;现在先把它当作给定的,我们在 §4 里会挣得它。)这样写 f 立刻就有回报,因为在圆上每个幂都变成了 一个旋转箭头。把刚才上面的 z−P = r exp(iθ) 喂进去,
(z−P)k = rk exp(ikθ)于是第 k 项在一个半径为 rk 的圆上以转速 k 转动(每绕一圈转 k 整圈)。f 在圆上的 每一项都是我们的一个箭头;只有那个常数项 a0,即转速为 0 的项,不旋转。
把圆保持得小一点。在本节中我们让半径保持小于一, r < 1。有两个理由。它让圆安稳地待在 f 真的是这一叠干净的 z−P 的幂的那个区域之内。它还让每个更高的幂 被拴在一根更短的绳上,r > r² > r³ > …,所以当我们在一圈上取平均时,旋转的那些项很快淡去, 静止的常数清晰地凸显出来。(只要 f 在外面仍然性质良好, 在更大的半径上抵消也照样奏效;r < 1 不过是观看它最干净的那扇窗。)
现在让它动起来。一个复函数把一个点送到一个点,所以我们同时 看两个平面。左边,输入:z 沿着绕 P 的圆行走,旋转箭头 z−P 从 P 画到 z。右边,输出:函数把它送往哪里,即 f(z),用相配的颜色描出它自己的回路。 下方:那同一个 f 被拆成它的四项 ak(z−P)k。 拖动一个滑块改变某项的大小,拖动 P 移动中心,按 ▶ 让 z 绕一整圈。
输入。z 绕着中心 P 转圈;虚线箭头是位移 z−P = r exp(iθ)。 拖动以移动 P。
输出。f(z), 即四项首尾相接地加起来。它的回路四处游走,但它的平均 恰好落在 a0 = f(P) 上。
这四项。每个 朱红色圆点都是那一项在这一圈上的平均:三个旋转项 (转速 1–3)无论它们的系数如何都平均到 原点;只有转速为 0 的项(金色) 留存下来,坐在 a0 处。这六个面板共用一个标尺。
绕圆取平均 → 中心处的值。这就是整个证明,我们刚刚看着它运行了一遍。 用符号说:在圆上,每个幂 (z−P)k = rk exp(ikθ) 都是一个旋转箭头,所以 f 是一个静止项加上一整队旋转者的合唱:
在一整圈上取平均,根据整圈抵消引理,每个旋转箭头都消失了;只有那个静止项 a0 留存下来:
这就是柯西的均值性质,即本节开头那块板的规则,现在对每一个性质良好的 函数都得到了证明:f 绕任意一个圆的平均,等于它在中心处的值。 无论圆是大是小,f 绕回路的晃动都完美地相互平均掉,只留下中间的那个值。 所以一整圈交给我们一个单独的数,a0 = f(P),即中心处的值。
第三部分,这同一个平均就是柯西积分公式
那个圆周平均其实已经就是柯西闻名于世的那个公式了,两者只是同一行换了不同的衣裳, 一小步的求变化速度就能显示这一点。当 z 沿着圆 z = P + r exp(iθ) 行走时,问一小步 dθ 对它做了什么。唯一移动的部件是 exp(iθ);记 u = iθ,并依靠 exp 的故事里的那个事实, 即 exp 的变化速度就是它自己:
dz = r d exp(iθ) = r i exp(iθ) dθ = i (z−P) dθu = iθ, du = i dθ: d exp(iθ) = exp(u) du = i exp(iθ) dθ
为什么要费力把它改写成 z 的形式?因为 z 形式把角度、甚至把圆都忘掉了:它能从任何包围 P 的回路返回 f(P) (把它缩小、拉伸、压瘪,答案都不动),而且它是能推广的那个版本,能在 §4 里 提取出每一个系数,还能攻克本来束手无策的积分(留数定理)。角度的图景是直觉; z 形式才是复分析其余部分赖以运转的主力。
这个动作本身很简单:两个公式是同一个积分,即那个圆周平均, 只不过用点 z 而不是角度 θ 来写。 这个平均以 dθ 为步长把 f 加起来; 要改成以 dz 为步长来加,就把每个 dθ 换成上面那一行里与之相配的 dz。那一次替换就是全部诀窍:
答案 微分元 积分号 函数的输入
柯西积分公式:上面那次替换落到的那一行,带着同一个整圈 ∮
圆:一个干净的四分之一圈。把 θ 推进 dθ,会让 z 滑动 dz,也就是把 半径 z−P 转了一个四分之一圈(这就是 i:乘以 i 会把平面转四分之一圈,这个故事我们会在未来的一个系列里讲), 再按 dθ 缩放: dz = i(z−P)dθ。 半径与步长相交成直角,所以那些淡淡的小线段全都是相等的长度 r dθ, 而那个回路积分干净利落地读出 f(P)。
不规则形:同样的答案,倾斜的步长。把圆周弯曲, dz 就会偏离半径,那个干净的四分之一圈 也就没了。然而那个回路积分 (1/τi) ∮ f/(z−P) dz 仍然落在那同一个 f(P) 上(盯着读数看,它稳如磐石): 柯西公式不在乎你画什么形状,只在乎这条回路把 P 圈在里头。 玄机在于这个中心是怎么被构造出来的:现在它是一个不对称的、加权的 平均(坐得更近、或边界弯曲处的圆周点,算得更重),而不是那个均匀的平均。 这正是为什么热力图那幅图要待在圆上:只有在圆上,“中心颜色 = 圆周颜色的朴素平均” 才成立,每个圆周点的权重都相等。
这就是它的全部了。但那最后一个因子, 1z−P, 值得放慢脚步看看:它就是我们刚在不规则形上遇到的那个加权平均里的权重。 它不是一个新的成分,只是用 z 而不是用角度 θ 来计数所付的代价,而且它分三步就能推出来。
一。一个公平的圆周平均,对每一片角度都同等计数:每个 dθ 都投同样的一票。这正是这里“平均”的含义。
二。但 z 上的一步并不是角度上的一步。由上面那一行, dz = i(z−P) dθ: z 上的一步,是把角度步长 dθ 按半径 (z−P) 拉伸(并由 i 转了四分之一圈)。所以若是把原始的 f dz 加起来,就会按每个点 离 P 多远的比例多算它:一个不对称的平均。
三。除以 (z−P) 恰好抵消掉 那次拉伸,把每个角度重新放回同等的一票:
半径抵消了,再加上前面的 1τi,这又是那个朴素的圆周平均了
所以 1z−P 就是那个校正权重,它把每个 dz 去拉伸、还原成一个公平的 dθ,它正是之前的那个加权。在圆上, 这个权重是 dz/(z−P) = i dθ, 一个恒定的四分之一圈,所以它把平均拉平成一个完全均匀的平均。在不规则形上, 半径在变化,dz 偏离了它,所以权重不再恒定: 同一个 1/(z−P) 仍然给每一步重新加权,但它再也没法把那些票拉平(这就是那个不对称的平均)。 权重是这个公式的核心;圆只不过是让它呈现得均匀的那种形状。
(符号 ∮ 只是表示“沿闭合回路绕一圈”,和 §2 的 ∫0τ … dθ 是同一整圈。) 所以“中心 = 圆周平均”和柯西积分公式是同一个陈述,读出两种说法。
看权重发挥作用。第一部分把圆画在 P 四周,所以每个圆周点离它的距离都一样,那一票是均匀的。这里这条回路被 固定住,你在它内部拖动 P,于是各处距离不同, 权重终于有事可做了:
权重就是故事的全部。和第一部分一样的热力图板面, 但现在这条回路被固定住,你在它内部拖动中心 P。每个圆周点都以权重 1/|z−P|² 给 P 投票:更近的点(更高的柱、更粗的辐条)算得更重。在圆上, 这个加权投票恰好落在 P 自己的值上,无论 P 是端坐正中(所有权重相等,即第一部分那个均匀的平均),还是 远偏到一侧(近处的圆周占主导)。相比之下,均匀的等票平均完全无视 P 在哪里:它始终卡在那块区域几何中心处的值上。所以正是加权 让圆周能找到 P。现在把这条回路弯成不规则形: 那个加权投票不再恰好落在 P 上(看那个小小的 Δ 出现了), 因为离开圆之后,诚实的权重还需要知道每一段圆周朝向哪个方向,而不只是它坐得多远。 没有任何只看长度的权重能钉住一个不规则形,这正是那个干净的热力图捷径之所以 始终是圆的特权的确切原因。
最后一桩顾虑,也解决掉:除以 z−P 难道不会在中心处 炸掉吗?只在中心本身那一点会,那里 z−P = 0,而我们从不去那里。 我们是在圆周上取平均,那里 z−P = r exp(iθ) 始终与中心保持固定的距离 r,从不为 0。 整整一圈下来,这个圆都让我们安稳地避开那一个点。
柯西就是一个事实:边界回路锁定了内部。到目前为止它交给我们的是 一个单独的数,即中心值 f(P);在 §4 里 我们把那同一个平均重新调一调,就能提取出每一个系数,并发现它们正是这个 函数自己的泰勒系数。那一个事实,写成一行:
柯西积分公式
泰勒:原来那些平均一直就是系数
泰勒:在一个点附近,一个函数是一叠纯幂,而每个幂的强度,恰恰就是傅里叶和柯西交回来的那个数。
第一部分,单独一个点已经知道些什么
在任何公式之前,泰勒所回答的问题是一个物理问题:单独一个点能告诉你多少关于 它周围环境的事?多得出人意料:在一个点附近,一个函数是由几个简单的零件,即它的 构件组成的,而那一个点就锁定了它各自带着多少个构件。下面的图就是 关于看见那些构件的。
盯着一个处于弧顶的小球看那么一瞬间。你能读出它在哪里、它向旁边漂移得多快, 以及那股稳稳向下、把它的路径弯曲的拽力。那一张快照就够了:从那几个局部事实出发, 整条弧线便随之而来,前后都有。曲线一直藏在那个点里面。
还有一幅更深的图景,正是它让 §2 的 旋转箭头不断回来:在任何一个静止点附近,几乎每个系统的行为都像一根弹簧。 凑近看一道山谷的谷底,它像一条抛物线那样卷曲,而那一层弯曲就定下了节奏。一只走时的钟摆、 一根被拨响发声的弦、一块晶体里嗡嗡作响的原子:它们之所以都振荡,是因为凑近看, 它们存储的能量就是那唯一一层弯曲。这正是振荡为什么在物理里到处出现。
一瞬间就能重建整条弧线。一个被抛出的小球描出 绿色路径。把它冻结在金色圆点处,三个事实就锁定了一切: 它的位置、它前进的方向,以及那股稳稳向下的 拽力。那就是头三个构件: 高度(它的位置)、倾斜(它前进的方向)、 弯曲(那股恒定的拽力)。因为这股拽力从不改变,不需要更深的构件, 所以这三个就把整条弧线精确地重画出来,一条抛物线。按观看。
每一道山谷都是一根弹簧。绿色 曲线是一片存储能量的地貌;金色虚线抛物线是它单独的 弯曲构件。在最底部,倾斜趋平为零,所以弯曲是唯一剩下能驱动运动的构件, 于是小球像弹簧上的重物那样来回摇摆。那一层弯曲(正是小球的拽力所提供的同一个构件) 定下了节奏;更深的构件只是对它做微调。
你的计算器做的是同一件事,只不过是用算术做的。当被问到 sin(0.3) 时, 它并不藏着什么秘密表格;它把几个简单的项(0.3,然后一个小修正,再一个更小的)加起来, 然后就停。它显示给你的每一个值,都是从一个函数在单独一个点上的行为重建出来的。
sin(0.3),从单独一个点搭出来。 计算器只在 0 处认识 sin,所以它在那里把构件加起来: 0.3,然后一个小修正(−0.3³/6),再一个极小的 (+0.3⁵/120)。金色圆点是累计的总和; 青色圆环是真值。仅仅三个构件之后,总和就已经锁定到 sin(0.3) 的 小数点后六位。按加一项,看着估计值爬上曲线。
这三者背后坐着泰勒的想法:在一个选定的点 P 附近,一个函数被 几个局部构件钉死,而你刚刚就遇见了它们。小球的位置、前进方向和拽力,就是 高度、倾斜和弯曲;山谷的弹簧就是弯曲 单独起作用。这些构件并不稀奇:每一个都是 §1 的 一个旋转箭头,是 §2 和 §3 一直在加起来的那种成分,只是在这里被 按住静止,好让我们能把它叠起来。把它们叠起来(高度、倾斜、弯曲、那层弯曲的转动, 等等),你就能重建附近的任何函数。本节其余部分要问每个构件有多大,然后发现 §2 和 §3 的取平均一直在把那些大小交到我们手里。
一个高度,一个倾斜,一个弯曲。f 曲线(淡青色)在三个面板里都一样,P 由那个金色圆点标出。 每个面板的金色构件都标注着它的强度 ak,就显示在图上: a0 是 P 处的高度(即 高度构件),a1 是那道倾斜的斜率(倾斜), a2 是抛物线在一条直线之外多加的那段卷曲 (弯曲)。按滑动 P,让这个点沿曲线移动,看着这三个强度一起改变。 叠在一起,这些构件就是泰勒。
第二部分,泰勒说了什么:一叠构件
§3 的回路交给我们一个数, a0 = f(P)。但一个函数 带着一整叠这样的数,a0、a1、 a2、…,而在计算其余的之前,值得先问问它们究竟是什么。
站在 P 处放大。凑近看,几乎任何光滑函数都像一片平坦的 高度;稍微退后一点,一道淡淡的倾斜出现了;再退一点, 一道平缓的弯曲;然后那道弯曲本身开始转动,如此往下。泰勒的想法, 是通过把那些构件叠起来,在附近一个(实数)点 x 处重建 f,而在纸面上每个构件都是位移 (x−P) 的 一个纯幂:
f(x) = a0 + a1(x−P) + a2(x−P)² + a3(x−P)³ + …构件 k 是纯幂 (x−P)k;系数 ak 是 f 在 P 附近带着多少个这种构件
所以每个系数就是一个强度,即混合里某个构件的分量: a0 定下高度,a1 定下倾斜,a2 定下弯曲,而每多一个构件, 都让重建出的曲线在更宽的一段上紧贴真正的 f。把下面的计数往上滑, 看着这些层一次一个构件地叠到 f 上。
函数 f(绿色)和它在 P 处的泰勒和(金色),保留到 N 次的构件。淡淡的那条曲线只是最新一个构件单独的样子, aN(x−P)N; 金色曲线是直到 N 的每个构件的累计和。 构件 0 是平坦的高度,构件 1 是直线状的倾斜, 构件 2 是弯曲,而每个新构件都让这个和能更往外一点贴住 f。逐项叠加把它们叠起来, 或拖动以移动 P。
实数轴给了我们什么,又扣下了什么。到目前为止,这幅图告诉了我们这些 系数是什么:每个 ak 都是某个构件的强度,把构件叠起来就重建出 f,正如图所示。 一半的活儿甚至是白送的,因为那个形状 (x−P)k 在 P 和 k 一选定的那一刻就固定了。但图就到此为止。 它把这些构件堆在一起给我们看,却没有给我们任何办法伸进去单独读出一个强度 ak。知道这些系数意味着什么, 和手里握着一个提取其中一个的方法,并不是一回事。
而这恰恰就是圆的用处。我们拥有一个从一堆东西里抽出单独一片的工具: §1 的那个动作,冻结你想要的那一个, 把其余的在一整圈上取平均除掉。但一整圈需要一个圆,而一条直线没有圆: 你没法绕着实轴上的一个点走一圈。所以我们把实输入 x 提升到平面上的一个圆上, z = P + r exp(iθ) (与原理 3 同一个平面,也是同一个理由)。 在那里,静止的构件开始旋转,§1 的动作终于 能发挥作用,一圈的取平均就能抬出我们所要的任意一个 ak。无论哪种方式,系数都是同一些数: 我们在一条线上画出它们,在一个圆上提取它们。
第三部分,读出任意一个系数:泰勒 = 傅里叶 = 柯西
§3 用一次取平均读出了中心值 f(P):即 k = 0 的系数。其余每一个都是同一个平均, 重新调过。看一个等式分四步把它带出来,每一行都是上一行对两边各做一次运算的结果。
1 · 每个构件都变成一个旋转箭头。第二部分把 f 写成一叠构件,f = a0 + a1(x−P) + a2(x−P)² + … 。 现在把输入提升到一个圆上,z = P + r exp(iθ):位移 z−P = r exp(iθ) 是一个长度为 r、指向角度 θ 的单个箭头。 复数相乘是把它们的角度相加,所以把那个箭头平方就让它的角度翻倍、立方就让角度翻三倍: (z−P)k 是一个长度为 rk 的箭头,每当 θ 绕一圈它就转 k 整圈:一个转速为 k 的旋转箭头。 于是构件 k = ak(z−P)k 是一个长度为 akrk、 以转速 k 旋转的箭头,而把所有构件首尾相接地摆好,就在圆周上给出 f。
f(P+r exp(iθ)) = a0 + a1r exp(iθ) + a2r² exp(2iθ) + a3r³ exp(3iθ) + a4r⁴ exp(4iθ) + …2 · 冻结一个构件,比如说构件 3。要把构件 3 单独挑出来,就让整幅画面以转速 3 倒着转:把每个值都 乘以 exp(−3iθ)。构件 3 失去了它的旋转、静止下来(它的转速变成 3−3 = 0), 而其他每个构件 k 仍在转动,现在转速移成了 k−3。
exp(−3iθ) f = a0 exp(−3iθ) + a1r exp(−2iθ) + a2r² exp(−iθ) + a3r³ + a4r⁴ exp(iθ) + …3 · 在一整圈上取平均。根据整圈抵消引理(§1), 每个仍在旋转的构件都均匀地扫过所有方向、平均成 0;只有那个静止不动的, 即构件 3,留存下来。平均保持它在 §3 里的含义: 完整的复数值,即平面上各箭头尖端的形心,从来不是它们的长度。所以这个留存者 a3r³ 本身就是平面上的一个点, 一般来说是复数,不是实数。下面这一行就是上面那一行逐项取平均的结果:
1τ∫0τexp(−3iθ) f dθ = 0 + 0 + 0 + a3r³ + 0 + …4 · 读出这三个名字。那个留存下来的平均就是 §2 的 傅里叶系数 c3,而它的值 就是泰勒的强度 a3 (乘上圆的 r3)。并没有什么把构件 3 挑出来:同样的“冻结再取平均”能抽出我们点名的任意一个构件 k。 所以对每一个 k,泰勒的数和傅里叶的数都是同一个数,这正是整篇文章的枢纽:
ak rk = ck这同一个平均还戴着第二张脸。把它写成 z 中的一条回路、而不是 θ 中的一个角度,它就变成柯西的系数公式,即下面那条流水线。 两次替换完成了这次翻译:冻结一个构件(上面那个 exp(−ikθ))变成除以 (z−P)k+1,而 在角度上取平均变成那一个回路 ∮(…) dz。两者一起运行还会消掉 rk,把 ak 单独交回来,图下方那个在圆上成立的恒等式让这次替换精确无误。
三步动作,实时演示。每个彩色箭头都是一个构件 ak(z−P)k, 首尾相接地摆好;它们的和(白色圆点)就是圆周上的 f。冻结你选的那个构件 (这里是构件 3):它变成金色并静止下来, 而其余的继续旋转。按播放,让 θ 绕一整圈。 朱红色圆点是移动平均;随着这一圈完成,它螺旋落到那个构件的强度 (金色圆环)上。每个旋转的构件都平均成零;只有被冻结的那个留存下来。 读数把两者都打印成复数,所以你能看着朱红色的平均恰好落在金色的强度 akrk 上。 点🎲 新构件来随机化这些强度,看看它对任何函数都成立。
究竟为什么要拿角度去换一条回路?因为这个回路形式就是 柯西的系数公式:同一个强度 ak, 现在戴上了我们三个名字里的第三个,而且能一下子从任意一个圆上读出来, 而不是被绑在我们画的那一个上。正是这份回报让这次改写值得去做。在那四步里我们 乘以了 exp(−3iθ) 并对 dθ 取平均;下面这台机器则改为除以 (z−P)k+1,并对 dz 作回路。 不过这没什么要凭空相信的:这两半都从我们已有的东西里推得出来。第 1 步把第 k 个幂变成了转速为 k 的箭头, (z−P)k = rk exp(ikθ); 把它反过来,冻结因子 exp(−ikθ) 就单独立住了。而 §3 已经 求出了 dz = i(z−P) dθ, 即角度步长在回路里的版本。排在一起:
于是冻结变成了除以 (z−P)k, 而角度步长 dθ 给回路的 dz 提供了多出来的一个幂。把这个恒等式喂进那个枢纽(即给出 akrk 的 §2 平均): 回路带着的那个 rk 抵消掉左边那个,立在那里的 就是柯西的系数公式,它把 ak 交回来,里面再也没有任何半径:
从头到尾读下来,整个动作就是一台机器:喂进 f, 沿回路把曲柄摇一圈,读出 ak。
这个动作,从头到尾
三个课堂坍缩成同一个等式。泰勒问这些系数是什么?傅里叶通过把旋转箭头 在一整圈上取平均来计算它们。柯西则是那座桥,它说这两者字面上就是相等的。 一个动作,价值一个 τ 的取平均,戴着三个名字。
有一根值得一拽的线头:ak 里不带 r,可它却是从一个半径为 r 的圆上读出来的。 这并不矛盾:那个回路积分对每一个半径都给出相同的结果,所以这个系数不可能 取决于你画了哪个圆。绕 P 的任意一个圆,只要 f 在它内部保持光滑,都返回同一个 ak。 那种对半径的视而不见,就是复分析的刚性,用一行话说出来。
有了每一个强度在手,这些构件就重新组装成我们一开始的那幅图,现在它精确无误了: 泰勒级数,每个系数都是一整圈交回来的那个数。
泰勒级数
f(z) = a0 + a1(z−P) + a2(z−P)² + a3(z−P)³ + …每个强度 ak 都正是刚刚上面推出的那个回路系数,即一整圈交回来的那个数。
为什么是 τ,以及三者背后的同一句话
为什么同一个 τ 坐在三者之中,以及它们各自读出的那一个等式。
有一根线把这三者系在一起,而它就显现在它们共同带着的那个符号上。 τ 出现在它们每一个里的理由都相同:每一个都是在一整圈上的 平均,而 τ 正是一整圈的名字(你平常看到的那个 2π 就是同一圈的伪装)。所以从这些符号往后退一步,会发现一个 等式一直在 §2、§3 和 §4 底下运行。它完整地写在这里:让输入绕一个以 P 为心的圆转一圈,乘以第 k 个箭头来冻结构件 k, 然后在一整圈上取平均。
τ 是一整圈;exp(−ikθ) 是冻结;那个平均就是所有旋转的东西抵消为零。
三个定理只是对那一行的三种读法。
所以整篇文章用一句话来说就是:要测量一个函数里 含有多少第 k 个成分,就让它的输入绕一个圆转一圈, 并把它对着第 k 个箭头取平均。
那一个平均,在三个课堂里被读出。 在中心它是一个构件强度:那是泰勒。 在圆周它是一个频率:那是傅里叶。 把它当作那趟旅程本身,它是一个围道积分:那是柯西。 价值一个 τ 的取平均,写出来三次。
三个定理原来是同一句话,读出三种说法,而这句话讲的, 就是绕一个圆恰好走一圈。
每当 τ 出现在一个等式里,
总会有一个圆在某处浮现。
相关:欧拉公式的全部优雅 →