函数列与一致收敛
函数列把“一个函数”变成“一串函数”。它看起来只是把数列的下标搬到了函数上,但本质上多了一个变量:我们既要让下标 n 趋于无穷,又要照顾自变量 x 在整个定义域里的变化。逐点收敛问的是每个固定位置最终会怎样;一致收敛问的是能否用同一个阶段同时管住所有位置。
本章的主线是:什么时候极限函数还保留原来函数列的好性质,什么时候可以把极限号穿过积分号或导数号。答案通常不在“每一点都收敛”,而在“收敛得足够整齐”。

逐点收敛是“每个点都有自己的等待时间”,一致收敛是“全体点共享同一个等待时间”。这一个量词顺序的差别,会决定连续性、积分和求导能不能与极限交换。
函数列与逐点收敛
设 E⊂R,每个 fn:E→R 都是一个函数。这样的序列
(f1,f2,…,fn,…)
称为定义在 E 上的函数列。说 fn 在 E 上逐点收敛到 f,意思是对每个固定的 x∈E,数列 收敛到 。用量词写就是:
∀x∈E, ∀ε>0, ∃N=N(ε,x), ∀
注意 N 可以依赖 x。这正是逐点收敛的宽松之处:靠近端点、靠近尖峰、靠近振荡剧烈的地方,可以等得更久。
先固定一个 x,把 fn(x) 当成普通数列来研究。此时 x 只是一个参数,不再移动。
例如在 [0,1] 上令 fn(x)=xn。若 0≤,则 ;若 ,则 。因此逐点极限为
f(x)={0,1,0≤x<1,
每个 fn 都连续,但逐点极限 f 在 x=1 处不连续。这说明逐点收敛本身太弱,不能保证连续性传到极限。

一致收敛的定义
说 fn 在 E 上一致收敛到 f,记作 fn⇉f,是指:
∀ε>0, ∃N=N(ε), ∀n≥N, ∀x∈
和逐点收敛相比,唯一的变化是 N 不再依赖 x。也就是说,从某一项开始,整张函数图像都落进极限函数的同一条 ε-误差带中。

如果定义域上可以使用上确界范数,这个定义可以写得很短。令
∥g∥∞,E=x∈Esup∣g(x)∣.
则 fn 在 E 上一致收敛到 f,等价于
∥fn−f∥∞,E→0.
这个形式很有用,因为它把函数列问题重新变成一个数列问题:误差的最大高度是否趋于 0。
逐点误差 ∣fn(x)−f(x)∣ 对每个固定 x 趋于 0,并不意味着最大误差 趋于 。许多反例都把误差藏在一个随 移动的位置上。
以 fn(x)=xn 为例,在 [0,1] 上它不一致收敛到上面的 f。因为对 ,误差是 ,而
0≤x<1supxn=1.
虽然每个固定 x<1 处的误差都会降到 0,但在靠近 1 的地方总能找到误差接近 1 的点。这个“坏点”不断向 1 移动,所以单点检查看不见它。
一致收敛的 Cauchy 准则
数列的 Cauchy 准则说:在完备的实数中,收敛等价于尾部项彼此靠近。函数列也有完全对应的版本。函数列 fn:E→R 在 E 上一致收敛,当且仅当它在 E 上一致 Cauchy:
∀ε>0, ∃N, ∀m,n≥N, ∀x∈E,∣
它的价值在于:判断一致收敛时,有时我们还不知道极限函数 f 是什么。Cauchy 准则只比较尾部函数之间的距离,避开了先猜极限的步骤。

证明思路和数列情形相似,但要注意“逐点”和“一致”的衔接。
如果 fn 一致收敛到 f,取 N 使得 n≥ 时对所有 都有 。
一致 Cauchy 准则把“存在极限函数”隐藏在完备性里。它常用于函数项级数:只要部分和函数列的尾部一致小,就能得到一致收敛。
一致极限保持连续
一致收敛最经典的用途,是保护连续性。设 E⊂R,a∈E。如果每个 fn 都在 a 处连续,并且 在 上一致收敛到 ,那么 在 处连续。若每个 在 上连续,则 在 上连续。
证明的核心是一条三段估计:
∣f(x)−f(a)∣≤∣f(x)−f
其中第一段和第三段由一致收敛控制,中间一段由某一个固定函数 fN 的连续性控制。三个误差各取 ε/3,就得到 f 的连续性。

给定 ε>0。由一致收敛,选取 N,使得对所有 y∈E,都有 。
这个证明也解释了为什么 xn 的例子不可能是一致收敛:若它在 [0,1] 上一致收敛,而每个 xn 都连续,那么极限函数也必须连续;但逐点极限在 1 处跳跃。
不能把“每个 fn 连续且 fn 逐点收敛”误读成“极限函数连续”。连续性保持需要一致收敛,或者需要其他能替代一致控制的条件。
极限与积分交换
积分对误差很友好:只要整个区间上的函数误差一致小,积分误差就被区间长度放大一个固定倍数。设 fn 在 [a,b] 上 Riemann 可积,且 fn 一致收敛到 f。若 也可积,则
n→∞lim∫abfn
在常见课程设定中,如果每个 fn 连续并且一致收敛到 f,上一节已经保证 f 连续,因此 f 可积。
证明只用一个估计:
∫
当右端趋于 0,积分也随之收敛。
积分交换比求导交换宽容得多。积分会平均误差,求导会放大局部变化。因此一致收敛足以交换极限与 Riemann 积分,但不一定足以交换极限与导数。
一个反例能说明逐点收敛仍然不够。令
fn(x)=nxn−1,0≤x≤1.
对每个 0≤x<1,有 fn(x)→0,而在 x=1 处 发散,所以它甚至不逐点收敛到一个有限函数。若改造为在端点附近越来越高、越来越窄的尖峰,也可以让函数几乎处处逐点趋于 ,但积分始终保持不小。这类例子提醒我们:积分看的是面积,逐点看的是固定位置,两者不自动一致。

极限与导数交换条件
求导最容易出错。即使 fn 一致收敛到 f,也不能保证
fn′(x)→f′(x).
例如
fn(x)=n
在任意有界区间上一致收敛到 0,但
fn′(x)=ncos(
并不收敛到 0,甚至通常没有逐点收敛。
正确的常用定理把控制放在导数列上。设 fn 在 [a,b] 上可导,存在一点 x0∈[a, 使得数列 收敛,并且 在 上一致收敛到某个函数 。那么 在 上一致收敛到某个函数 ,且
f′(x)=g(x)
也就是说,
(n→∞limfn)′=
为什么条件长成这样?因为微积分基本定理给出
fn(x)=fn(x0)
如果 fn(x0) 有极限,且 fn′ 一致收敛,就可以把极限穿过右侧积分,得到
f(x)=L+∫x0xg(t)d
于是 f 可导,导数正是 g。求导交换不是直接靠 fn 一致收敛,而是靠“在一个点钉住函数值”加上“导数列一致收敛”。
判断流程
面对一个函数列,建议按下面的顺序分析。
先求逐点极限。固定 x,把 fn(x) 当数列处理,必要时把端点、零点、间断点、参数边界单独拿出来。
再估计统一误差。计算或估计 ,判断它是否趋于 。如果坏点随 移动,优先怀疑非一致收敛。
例题:一个移动坏点
设
fn(x)=1+n2x2
判断 fn 是否逐点收敛、一致收敛,并计算积分极限。
固定 x=0,有 fn(0)=0。固定 ,分子是 ,分母主项是 ,所以
练习
- 设 fn(x)=x/(1+nx),x∈[0,1]。求逐点极限,并判断是否一致收敛。
对 x=0,fn(0)=0。对 x>0,,所以逐点极限是 。又因为
- 设 fn(x)=sin(x/n),x∈R。它是否在 R 上一致收敛到 ?是否在任意有界区间上一致收敛到 ?
在整个 R 上不一致收敛,因为对任意 n,可以取 x=nπ/2,使 ∣sin(x/n)∣=1。但在 上,
- 设 fn 在 [a,b] 上连续,且 fn⇉f。证明 可积并且积分可以交换极限。
由一致极限保持连续,f 在 [a,b] 上连续,因此 Riemann 可积。又由一致收敛,
小结
函数列的核心不是“有没有极限”,而是“极限过程对整个定义域是否统一可控”。逐点收敛只保证每个固定位置最终稳定;一致收敛保证整张图像最终稳定。正因为有统一误差控制,连续性可以传到极限,积分可以和极限交换。
求导交换更严格:函数列本身一致收敛仍然不够,通常需要导数列一致收敛,并在一个点控制函数值。把这三件事分清,后面学习函数项级数、幂级数、Fourier 级数时,很多看似神秘的“逐项运算条件”都会变得有章可循。