每个点一个极限
设对每个 n 都有定义在集合 E 上的函数 f_n。问序列 (f_n) 是否收敛,其实就是在 E 的每一点 x 分别问:数列 f_1(x), f_2(x), f_3(x), … 是否收敛。若对每个 x 都收敛,就说 (f_n) 逐点收敛,并定义极限函数 f 为 f(x) = lim f_n(x)。这里发生的不过是把固定 x 处的数列极限逐点跑一遍而已。
用量词写出来,逐点收敛说:对每个 x ∈ E 与每个 epsilon > 0,存在 N(可同时依赖 x 和 epsilon),使得对一切 n >= N 有 |f_n(x) - f(x)| < epsilon。关键短语是“可依赖 x”。同一个 epsilon 在某点可能要求比另一点大得多的 N。正是这一个漏洞,制造了本篇所有的意外。
著名的反例
取 E = [0, 1] 与 f_n(x) = x^n。每个 f_n 是多项式,因而处处连续。我们来计算其逐点极限,会发现它并不连续——这是“连续性在取极限后总能保留”这一愿望的干净反例。
f_n(x) = x^n on [0, 1].
Fix a point and take n -> infinity:
* If 0 <= x < 1: x^n -> 0 (geometric decay since |x| < 1).
* If x = 1: 1^n = 1 -> 1.
So the pointwise limit function is
f(x) = 0 for 0 <= x < 1,
f(1) = 1.
Every f_n is continuous on [0,1], but f has a jump at x = 1:
lim_{x -> 1^-} f(x) = 0 , f(1) = 1.
The limit of continuous functions is DISCONTINUOUS.为何 N 在角落附近失控
用量词来诊断这次失败。在 [0, 1) 上极限是 0,故需 x^n < epsilon。解得 n > ln(epsilon)/ln(x)。当 x 趋近 1 时,ln(x) 从下方趋于 0,所需的 n 便爆炸。没有单一的 N 能同时对所有 x 奏效:这正是所缺的一致性,也是下一篇的主题。
Need x^n < epsilon = 0.01 on [0,1). x = 0.5 : n > ln(0.01)/ln(0.5) = 4.605/0.693 ~ 6.6 -> N = 7. x = 0.9 : n > ln(0.01)/ln(0.9) = 4.605/0.105 ~ 43.7 -> N = 44. x = 0.99: n > ln(0.01)/ln(0.99) = 4.605/0.0101~ 458 -> N = 459. As x -> 1^-, the required N -> infinity. No finite N serves the whole interval [0,1): convergence is NOT uniform, only pointwise.