度量空间入口与全课收束
到上一章为止,我们已经处理过两种“极限”:实数列的极限,以及函数列的逐点或一致极限。它们看上去差别很大:一个数列的项是数,另一个数列的项是函数。可是一致收敛的定义其实已经泄露了一个统一的想法:只要能规定两个对象相差多远,函数也可以像数一样构成一个“点列”。
这正是本章要做的迁移。它不会把前面学过的内容丢掉,再塞进一串陌生名词;恰好相反,我们要把前十七章反复用过的绝对值、最大偏差、柯西条件和有限覆盖,一一辨认出它们真正依赖的东西。很多结论只需要距离,换一个对象仍然成立;另一些结论其实偷偷借用了实数的大小顺序、区间的连通性,或者有限维的特征。后者若不把条件说清,就很容易被错误地搬运。
这一章的核心问题只有一个:当对象不再排在数轴上时,“靠近”还是什么意思?答案不是给每个对象硬画坐标,而是先规定距离,再重新阅读收敛、连续、完备和紧这几个词。
距离不是图形,而是一套规则
在实直线里,x 与 y 的距离是 ∣x−y∣。我们以前几乎没有特意说明这件事,因为数轴把距离画得太直观了:两点之间就是一段线段。可一旦对象变成平面向量、连续函数或无限数列,“横坐标相减”就不再有意义。我们真正需要保留的不是线段,而是距离应当遵守的三条规则。
设 X 是非空集合。若函数
d:X×X→[0,∞)
对任意 x,y,z∈X 都满足
d(x,y)=0⟺x=y,
d(x,y)=d(y,x),
以及
d(x,z)≤d(x,y)+d(y,z),
那么 d 称为 X 上的度量,(X,d) 称为一个度量空间。前两条分别排除了“不同对象距离为零”和“从 x 到 y 与反向距离不同”的怪事;第三条就是三角不等式。它保证绕道不会比直达更短,也保证了后面所有“把误差拆成两段”的证明能继续工作。
例如,从三角不等式立刻得到一个很常用的估计:
∣d(x,z)−d(y,z)∣≤d(x,y).
确实,d(x,z)≤d(x,y)+d(y,z) 给出 d(x,z;交换 再做一次,就得到另一个方向。这告诉我们:当点 小幅移动时,它到固定点 的距离也只能小幅移动。
同一批点,距离可以不同
在 R2 上,下面三种距离都合法:
d1(x,y)=∣x1−y
d2(x,y)=(x1−y
d∞(x,y)=max{∣x1−y
其中 d2 是平面几何里的通常距离;d1 把横向和纵向的移动量相加;d∞ 只盯住坐标中最大的偏差。以 为中心、半径 的开球,在这三种度量下分别呈现圆盘、菱形和正方形。这里没有谁更“真”:问题关心哪一种误差,就该用哪一种距离。
这也解释了为什么“开球就是圆”不是定义。开球的形状是度量算出来的结果,不是我们预先塞进去的图像。
另一个极端例子更能打破图像直觉。对任意非空集合 X,规定
ddisc(x,y)={0,
这叫离散度量。它的三角不等式并不难:若 x=z,左边是 1;中间点 y 不可能同时等于 x 和 z,所以右边至少有一项为 1。在这种距离下,半径小于 的开球只有中心点自己;半径大于 的开球则是整个 。集合本身没变,局部结构却完全变了。
从范数得到距离
在向量空间中,最常见的距离来自长度。若 ∥⋅∥ 满足
∥v∥≥0,∥v∥=0⟺v=0,
∥cv∥=∣c∣∥v∥,
∥u+v∥≤∥u∥+∥v∥,
就称它为范数,并可定义
d(u,v)=∥u−v∥.
这确实是度量:非负性和零距离条件来自范数的第一条;对称性来自 ∥v−u∥=∥−(u−v)∥=∥u−v∥;三角不等式来自
∥u−w∥=∥(u−v)+(v−w)∥≤∥u−
前面的一致收敛正是这个构造的一个实例。在 C[0,1]([0,1] 上的连续实值函数)中使用上确界范数
∥f∥∞=x∈[0,1]max∣f(x)∣,
于是
d∞(f,g)=∥f−g∥∞
第 16 章的一致收敛,逐字改写后就是 d∞(fn,f)→0。它不是“对每个 x 都做一次极限”的别名,而是函数整体之间的距离趋于零。
开球把“附近”说清楚
给定 a∈X 和 r>0,定义以 a 为中心、半径为 r 的开球为
Br(a)={x∈X:d(x,a)<r}.
在通常实数度量下,Br(a)=(a−r,a+r);在离散度量下,若 0<r,则 。所以不要把“小邻域”理解成一定能画出的短区间;它只是“距离中心足够小的全部对象”。
开球本身总是开集。这个结论的证明值得亲手看一次,因为它是三角不等式怎样支撑局部语言的缩影。取 x∈Br(a),则 d(x,a)<r,故余量
η=r−d(x,a)
为正。若 d(y,x)<η,那么
d(y,a)≤d(y,x)+d(x,a)<η+d(x,a)
因此 Bη(x)⊂Br(a)。也就是说,球中每个点周围还能放进一个更小的球,这正是“开”的含义。
集合 U⊂X 称为开集,如果对每个 u∈U,都能找到 ru>0,使得 。半径允许随点变化;要求一个统一半径,反而会把许多正常的开集误判掉。集合 称为闭集,如果其补集 是开集。
在度量空间里,闭集还有一个和前面数列语言完全一致的检验法:
F 闭⟺(xn∈F, xn→
向右的理由很直接:若 x∈/F,开集 X∖F 含有一个以 x 为中心的小球,收敛列最终必须落进该球,不可能始终在 F。反过来,如果 F 不闭,则有 ,但 的每个小球都碰到 ;从半径 的球中各选一点 ,便有 ,与右边的条件矛盾。
若对每个 r>0,删去中心后的球 Br(p)∖{p} 仍碰到 S,就称 p 为 的极限点。 加上它全部极限点得到的集合叫 的闭包;每个小球同时碰到 和 的点叫 的边界点。于是上面的序列判别也可说成: 闭,当且仅当它包含自己的所有极限点。这里必须删去中心点;否则 时,任何球都因含 而“碰到 ”,这个条件就失去辨别力。
在离散度量中,每个子集都是开集,因而也是闭集。这里“既开又闭”完全不奇怪;它只说明该空间被许多孤立点拆开了。这个例子提醒我们,开与闭不是一对互相排斥的形容词。
数列和完备性:把绝对值换成距离
第 4 章里,an→L 的严格定义要求:任意给定的 ε>0,总能找到 N,使 n≥N 时 。它真正用到的只有“误差可量”。在度量空间 中,我们定义
xn→x⟺∀ε>0, ∃N∈
换句话说,任意小的球 Bε(x) 最终都会装下整条数列的尾部。量词顺序没有变,仍然是“对方先指定误差要求,我再给出起始项”。也正因为三角不等式还在,极限依然唯一:若 xn→x 且 x,对任意 ,尾部同时满足 与 ,所以
d(x,y)≤d(x,xn)+d(xn,
这对任意 ε 成立,只能有 d(x,y)=0,即 x=y。
例:同一数列在不同距离下会有不同命运
把实数集合先配通常距离 d(x,y)=∣x−y∣。数列 xn=1/n 满足 。但若在同一个集合 上改用离散度量, 不收敛到 :取 ,对每一个 都有 ,因而
ddisc(xn,0)=1<
这不是两个定义谁更“宽松”,而是“接近”已经换了含义。在离散度量中,收敛列从某一项起必须恒等于极限。若它有无穷多个不同项,就没有极限。
柯西列不知道终点,也能判断是否挤紧
数列 (xn) 是柯西列,如果
∀ε>0, ∃N∈N, ∀m,n≥N, d(xm
这正是第 5 章的定义,只是 ∣xm−xn∣ 换成了 d(xm,。收敛列一定是柯西列:若 ,就让两项各自离 小于 ,再用三角不等式把二者连起来。反过来未必成立,因为一条“越来越挤紧”的数列可能正朝着空间漏掉的点前进。
若 (X,d) 中每一条柯西列都收敛到 X 内的点,就称 X 是完备的。这里的“在 X 内”不能省略。把有理数看成通常距离下的空间,取一列有理数不断逼近 2,它是柯西列,但没有有理极限;故 不完备。实数的完备性恰好补上了这个洞。
实数中“每个有上界的非空集合有上确界”和“每个柯西列收敛”可以互相推出;前者能谈上确界,是因为实数有大小顺序。一般度量空间未必能比较两个点的大小,所以完备性的可迁移版本是柯西列版本,不是上确界版本。
函数空间为什么把一致收敛看成普通收敛
设 (fn) 是 C[0,1] 中的柯西列,距离取 d∞。对固定 ,有
∣fn(x)−fm(x)∣≤∥f
所以实数列 (fn(x)) 也是柯西列,因 R 完备而有极限;记该极限为 f(x)。这一步只给了逐点定义的函数 f。关键的下一步是:原来的柯西条件对所有 x 使用同一个 。若 ,令 ,便得到
∣fm(x)−f(x)∣≤ε(x∈[0,1]).
取最大值后,∥fm−f∥∞≤ε。因此 fm 一致收敛。第 16 章已经证明一致极限仍连续,故 。这就说明:
(C[0,1],d∞) 是完备的。
前面学习“一致收敛保连续”时,这个结论看起来像一条额外工具;现在可以看到,它正是函数空间不漏掉柯西极限的最后一块拼图。
完备性还有一个很形象的等价面貌。若非空闭集列 F1⊃F2⊃⋯ 满足直径
diam(Fn)=sup{d(u,v):u,v∈F
那么在完备空间中,⋂n=1∞Fn 恰有一个点。证明的选点法和柯西定义几乎重合:任取 xn,当 时 ,所以 ,故 柯西并收敛到某个 。每个 闭,且尾部都在 ,于是 。若 都在所有 中,则 对每个 成立,故 。这给“不断夹紧的闭区间”一个不依赖数轴顺序的版本。
等价度量:有时换尺子,不会换结论
并非每次换距离都会像离散度量那样改变收敛。在 Rm 中,若两种度量 d 和 ρ 存在常数 c,C>0,使
cρ(x,y)≤d(x,y)≤Cρ(x,y)(x,y∈
则它们称为等价度量。此时 d(xn,x)→0 当且仅当 ρ(xn,x)→0;同样,柯西性、完备性和开集也不变。理由很朴素:一个距离小,另一个至多差一个固定倍数,任意小误差仍可相互压缩。
例如对 v=(v1,…,vm),有
∥v∥∞≤∥v∥2≤m
所以有限维空间里用最大坐标误差还是欧氏距离,不会改变“哪些列收敛”。但这个方便结论有范围:它是有限维现象,不能据此宣称任意两个度量或任意两个函数空间范数都给出相同的收敛。
有限个度量空间也能自然拼成一个新的空间。若 (Xi,di),1≤i≤k,已给定,便可在积集 上定义
d((x1,…,xk),(
三角不等式按坐标相加即可验证。更重要的是,(x1,n,…,xk,n) 收敛当且仅当每个坐标列 x 收敛到相应坐标。这正是我们在 中习惯“逐坐标看极限”的真正理由。
紧性:把无限局部控制压成有限控制
第 11 章里,闭区间 [a,b] 特别可靠:连续函数在上面有界、取到最大最小值,还一致连续。我们当时用的是闭有界区间的性质。但“闭且有界”并不是紧性的普遍定义;它是在 Rm 的通常距离中恰好成立的一个判据。
在度量空间中,集合 K⊂X 称为紧集,如果它的任意开覆盖都有有限子覆盖。也就是说,只要一族开集 (Uα)α∈A 满足
K⊂α∈A⋃Uα,
就能从中挑出有限多个 Uα1,…,UαN,仍有
K⊂Uα1∪⋯∪Uα
这句话第一次读会觉得抽象,因为它不是在谈一条具体数列。你可以把它看成一种“有限预算”承诺:每个点附近都有可用的局部方案时,紧性保证不必带着无限多种方案出门,有限份就能覆盖全体。
度量空间中最顺手的紧性判别
在度量空间里,下述序列版本与开覆盖定义等价:
K 紧⟺K 中每个序列都有收敛到 K 内点的子列。
它就是第 5 章 Bolzano–Weierstrass 思想的抽象形式。要注意两层要求:先能抽出子列,再要求极限仍留在 K 内。后一句防止序列从集合边缘逃走,例如 (0,1) 中的 1/n 虽有收敛子列,但极限 0 不在集合里。
还有一个更便于诊断的概念。K 称为全有界,如果每个 ε>0 都能用有限多个半径为 ε 的球盖住它:存在 a1,…,a,使
K⊂Bε(a1)∪⋯∪B
全有界比普通有界强。普通有界只说整个集合能塞进某个大球;全有界说无论观察尺度缩小到多细,都可以用有限个小球控制它。在度量空间中,准确的关系是
K 紧⟺K 完备且全有界
(完备性指 K 配上从 X 限制来的度量)。紧性推出全有界:若某个尺度无法有限覆盖,就能逐步选出两两相距至少该尺度的一列点,它不可能有收敛子列。反过来,全有界允许我们在尺度 1,1/2,1/3,… 上不断挑出无限子列,采用对角线式选择得到柯西子列;完备性再给出极限。
为什么“闭且有界”不能离开有限维
在无限集合的离散度量中,任何子集的直径至多为 1,而且每个子集都闭。但无限子集不紧:由所有单点集合组成的开覆盖,没有有限子覆盖。这说明闭加有界仍可能远远不够。
函数或无限数列空间中也会出现同一问题。令 ℓ2 是平方可和实数列构成的空间,取通常范数
∥x∥2=(k=1∑∞∣x
令 en 是第 n 个坐标为 1、其余坐标为 0 的列。集合
E={en:n∈N}
有界,且对 m=n,
∥en−em∥2=2
因此半径小于 2/3 的球每次至多装进 E 的一个点;E 不全有界,也没有收敛子列。事实上 E 还是闭的:任何趋于某点的 中序列必须最终不再跳换指标,否则两项距离始终是 ,不可能是柯西列。于是“闭且有界所以紧”在这里彻底失效。
安全的说法是:在 Rm 的通常度量中,紧当且仅当闭且有界。离开有限维欧氏空间后,先问全有界与完备,或直接回到开覆盖、收敛子列定义;不要只检查闭和有界。
函数族紧:每个函数好,还不够
我们已经知道 C[0,1] 在上确界距离下完备。它的子集要紧,还需要防止函数族在横向上越来越急。若集合 F⊂C[0,1] 满足存在 M>0 使
∣f(x)∣≤M(f∈F, x∈[0,1]),
称它一致有界;若对每个 ε>0,存在同一个 δ>0,使
∣f(x)−f(y)∣<ε(f∈F, ∣x−y∣<δ
称它等度连续。这里“同一个 δ”是关键。每个 f 单独连续只允许 δ 依赖于 f,不足以控制整族函数。
在 C[0,1] 的上确界距离下,一个非空集合紧,当且仅当它闭、一致有界且等度连续。这个结论把“函数空间中的紧”翻译成可检查的三件事。
看 F={xn:n∈N}。它确实一致有界,因为 0≤xn≤;却不等度连续。若取 ,任给 ,总可取足够大的 ,使 。于是 、 的距离小于 ,但
∣yn−xn∣=1−(1−δ/2)
这族函数的“陡峭区域”不断挤向 1,所以没有一致收敛子列;任何子列都逐点趋于在 [0,1) 为 0、在 1 为 1 的不连续函数,而一致极限不可能不连续。这个反例正好把第 16 章的一致收敛与紧性接在一起。
连续性和一致连续性:近点如何被送到近点
前面写 ∣x−a∣<δ 时,x 和 a 属于实数轴,函数值也在实数轴。现在定义域和值域都可以是度量空间。设
f:(X,dX)→(Y,dY),
且 a 在 f 的定义域中。f 在 a 连续,指的是
∀ε>0, ∃δ>0, ∀x∈Dom(f),
这就是第 10 章的定义,只有两边的绝对值各自换成了所属空间的距离。要留心 x 只在定义域内取值;若定义域是 [0,1],在端点 0 处讨论连续性时,我们不必也不应该要求函数处理负数一侧的点。
若讨论 limx→af(x)=b 而不预设 f(a)=b,就必须排除中心点本身:
0<dX(x,a)<δ⇒dY
这一区别和实函数时完全一样。若 a 是定义域的孤立点,连续性自动成立:选一个足够小的球,使定义域在球内只有 a,那么不等式只需比较 f(a) 与自己。
序列判别仍然可靠
度量空间的好处是,连续性仍可用数列检验:
f 在 a 连续⟺xn→a⇒f(xn
正向方向只是把收敛定义代入连续定义。反向方向更值得记住:若连续性失败,则存在某个 ε0>0,使任意小的 δ 都能找到 x 满足 dX,但函数值与 的距离至少为 。令 ,选出 ,便有 而 。这和第 9 章用反证构造坏数列的逻辑一模一样。
例:范数函数和积分映射都连续
在任何赋范空间中,映射 N(v)=∥v∥ 从该空间到 R 连续。前面得到的反三角不等式给出
∣N(u)−N(v)∣=∥u∥−∥v∥
因此只要 ∥u−v∥<ε,就自动有 ∣N(u)−N(v)∣<ε。这比“存在某个 δ”更强:可以直接取 。这种能把输出距离控制为输入距离固定倍数的映射,必然一致连续。
同样,在 C[0,1] 的上确界距离下,取值映射 E1/3(f)=f(1/3) 连续,因为
∣E1/3(f)−E1/3(g
积分映射也连续:
∫01
这把第 15 章的积分估计放进了函数空间语言:函数整体误差小,积分误差就小。
紧性给连续性补上全局力量
设 K⊂X 紧,且 f:K→Y 连续。则 f(K) 紧。用序列刻画证明最清楚:任取 f(K) 中序列 ,每项可写成 ,其中 。紧性给出子列 ;连续性给出
ynj=f(xn
所以像集中的任意序列都有收敛到像集内的子列。
当 Y=R 时,紧集 f(K) 闭且有界,故存在最大和最小元素。于是连续实值函数在紧域上取到最大、最小值。请看清最后一步为何要求值域是实数:一般度量空间只有距离,未必有“最大”的大小关系;极值定理不是单靠度量得来的。
更进一步,若 K 紧而 f:K→Y 连续,f 在 K 上一致连续。局部连续性中允许 δ 随中心点变化;紧性把所有点附近的局部控制压缩成有限多个,然后取这些有限个半径中的最小者,就能得到统一的 δ。
也可以从反证看出它为什么成立。若不一致连续,便有某个 ε0>0,以及 un,vn∈,满足
dX(un,vn)<n
但
dY(f(un),f(vn))
从 (un) 抽出收敛子列 unj→u∈。因为 ,三角不等式给出 。连续性迫使两列函数值都趋向 ,与它们始终相距至少 矛盾。
这正是 1/x 在 (0,1) 上连续却不一致连续的原因:定义域缺少紧性。两点可以一起挤向被删掉的 0,函数值差却无法统一控制。
压缩映射:完备性如何制造唯一解
度量空间语言不只用于给旧概念改名字;它还能把“不断迭代会不会真的到达答案”变成一条可证明的定理。设 (X,d) 完备,映射 T:X→X 满足存在 q∈(0,1),对任意 都有
d(T(u),T(v))≤qd(u,v).
这样的 T 称为压缩映射。它把任意两点之间的距离至少按固定比例缩小。结论是:T 有唯一的不动点,即存在唯一 x∗∈X 使
T(x∗)=x∗.
唯一性很快。若 T(u)=u 且 T(v)=v,则
d(u,v)=d(T(u),T(v))≤qd(u,v).
由于 q<1,只能有 d(u,v)=0,所以 u=v。
存在性才真正使用完备性。任取 x0∈X,递推
xn+1=T(xn).
由压缩条件反复应用可得
d(xn+1,xn)≤qnd(x
若 n>m,把从 xm 到 xn 的路分段相加:
d(x
右边随 m→∞ 趋于 0,所以 (xn) 是柯西列。若空间不完备,证明会在这里停住;正是完备性保证它收敛到某个 x∗。压缩条件又说明 连续,于是
T(x∗)=T(n→∞
例:把积分方程变成函数空间中的不动点问题
在 C[0,1] 上使用 ∥⋅∥∞。定义
(Tf)(x)=1+41∫0
若 f 连续,Tf 也连续,故 T 确实把 C[0,1] 送回自身。对任意 f,g∈C,有
∣(Tf
对 x∈[0,1] 取最大值得
∥Tf−Tg∥∞≤81∥f−
所以 T 是压缩映射。C[0,1] 的完备性保证存在唯一连续函数满足
f(x)=1+41∫01
我们不必先猜出这个函数的公式;从任意连续初值开始迭代 fn+1=Tfn,就会在上确界距离下收敛到它。这是“柯西列一定有落点”怎样变成解的存在与唯一性的一个具体用途。
哪些结论能迁移,哪些必须带着条件走
学到这里,最危险的不是不会定义度量,而是看到一个熟悉的结论就下意识套到所有空间。下面这张表把前面课程中常见的结论按它们真正需要的结构拆开。
其中有三组条件特别容易混淆。
完备、紧与有界不是同一件事
完备关心的是:已经彼此挤紧的过程,是否会在空间内落到一点。紧关心的是:任意序列能否抽出收敛子列,或者任意局部覆盖能否压缩成有限覆盖。有界只限制集合不向无穷远跑。它们的关系不是同义替换:
- R 完备但不紧,因为整条实线不有界;
- (0,1) 有界但不完备,因为 1/n 的极限 0 被删掉;
- 无限离散空间完备且有界,却不紧,因为不同点永远无法挤近;
- 紧度量空间一定完备且全有界。
最后一条很有用,但不要倒读成“有界就紧”或“完备就紧”。缺少全有界时,仍然能藏下无限多彼此隔开的点。
点态、整体与统一尺度
对函数列来说,逐点收敛问的是每个固定 x 的实数列是否稳定;一致收敛问的是整个函数的最大偏差是否稳定。等度连续又在问一族函数是否共享同一条“横向变化速度”的规则。这三种量词都不同:
∀x ∀ε ∃Nx
与
∀ε ∃N ∀x
不能互换。前者允许每个点各等各的,后者才允许把函数当成一个整体点来讨论。
连通性不是紧性的别名
连续函数在 [a,b] 上有介值性质,常被和极值定理一起记住,仿佛二者都来自“闭区间很好”。实际上,极值定理的核心是紧性;介值性质的核心是连通性。离散空间中的两点集合是紧的,却可以定义连续函数把两点分别送到 0 与 1,中间的 1/2 根本不必取到。紧性不能替代连通性。
用一张检查表收束这门课
实分析 I 反复做的事,并不是把微积分公式证明得更长,而是把每个“当然如此”拆成可检验的条件。现在回头看,很多章节都可以放回三条主线上。
以后读一个定理,可以先不急着背结论,依次问三件事:对象所在的空间是什么?这里的“近”用什么距离量?假设中的完备、紧、连续或一致控制,分别堵住了哪一种失败?如果能把这些问题问清,前面学过的数列、函数列、导数、积分和幂级数就不再是一堆散开的章节,而是一套不断重复使用的证明语言。
练习
- 在任意集合 X 的离散度量下,证明数列 (xn) 收敛当且仅当它从某一项起恒等于某个 x∈X。再说明每个子集为何同时开又闭。
若 xn→x,取 ε=1/2。由收敛定义,存在 N,使 n≥N 时 。离散距离只取 ,故此时距离只能为 ,即 。反过来,若从某项起 ,则任给 ,从该项起距离恒为 ,所以收敛到 。
- 在任意度量空间中,证明开球 Br(a) 是开集。你的证明必须明确给出球内一点周围可用的半径。
任取 x∈Br(a),则 d(x,a)<r。令 η。若 ,则由三角不等式,
- 对 v=(v1,v2)∈R2,证明
∥v∥∞≤∥v∥2≤2
据此说明 d2 收敛与 d∞ 收敛等价。
设 M=max{∣v1∣,∣v2∣}=∥v∥。至少有一个坐标的绝对值等于 ,所以
- 在 ℓ2 中令 E={en:n∈N}。证明 E 不全有界,并由此说明它不紧。
对 m=n,en−em 恰有两个非零坐标,一个为 、另一个为 ,所以
- 在 R 的通常距离下令 T(x)=31x+1。从 x 出发定义 。证明 有唯一不动点,并求出 与该不动点的距离。
对任意 u,v∈R,
∣T(u)−T(v)∣=3
如果你现在能把“一致收敛”读成函数空间中的收敛,把“闭有界”改读为有限维中的紧性判据,并在使用定理前主动查找完备、紧、连通或一致控制的条件,那么这门课从计算走向证明的主线已经真正连起来了。