夜雨聆风学习资料网

ARTICLE · 1244601

Ai学数学 分析学 用Cantor函数串起五个不同的连续概念

Ai学数学 分析学 用Cantor函数串起五个不同的连续概念

AiMath · 古典分析 · 连续性分类

连续是一条五层的阶梯

Cantor 函数卡在第二层与第三层之间

A06-7

核心问题 ——「连续」在分析学里不是一个词,是五个条件越来越强的版本:连续、一致连续、绝对连续、Lipschitz、连续可微。它们层层包含。Cantor 函数:它一致连续、单调、有界变差、几乎处处可导且导数几乎处处为零,却从 0 一路爬到 1。五个连续概念它满足两个、不满足三个。

01 / 06

连续与绝对:「一段」和「很多段」之间

一致连续管一段,绝对连续管任意多段加起来。前者不蕴含后者,缺的那一步是「求和」。

五个连续概念排成一条包含链:连续可微 ⊆ Lipschitz ⊆ 绝对连续 ⊆ 一致连续 ⊆ 连续。越往后越宽,每往前进一层条件就强一次。

从一致连续往绝对连续这一步,直觉上像是同一件事的加强版:既然每一小段的增量都能压小,那么很多小段加起来,不也应该很小吗?关键就在「很多」这个词上。每一段各自很窄,可如果段的数目随着段变窄而增加,总和可以纹丝不动。这不是量的差别,是求和这一步引入了新的东西。

Cantor 函数把这件事做到了极致。它有 2 的 n 次方个小段,每段长 3 的 −n 次方,总长是三分之二的 n 次方,随 n 趋于零;而每段上的增量是 2 的 −n 次方,加起来恒等于 1。段数以指数速度增长,正好抵消了每段变短带来的减小。总长度想多小就多小,总增量永远是一。

02 / 06

五个连续概念

它们的骨架完全一样:给 ε,找 δ。差别只在「谁可以先看」「管几段」这两处。

① 连续(在每一点 x0) 任给 ε > 0,存在 δ > 0,使得只要 |x − x0| < δ,就有 |F(x) − F(x0)| < ε。允许 δ 先看 x0 再定——不同点可以用不同的 δ。

② 一致连续 任给 ε > 0,存在 δ > 0,使得只要 |x − y| < δ,就有 |F(x) − F(y)| < ε。δ 只看 ε,与点无关。与 ① 的全部差别就是这几个字:不许依赖 x0。

③ 绝对连续 任给 ε > 0,存在 δ > 0,使得对任意有限个互不重叠的开区间 (a1, b1), …, (aN, bN),只要总长 Σ over k of (bk − ak) < δ,就有 Σ over k of |F(bk) − F(ak)| < ε。② 只管一段,③ 管任意多段的和——这个「和」是全新的东西,②里没有对应的位置。

④ Lipschitz 存在常数 M,使得一切 x、y 满足 |F(x) − F(y)| ≤ M |x − y|。δ 与 ε 成正比,比例固定为 1/M。② 里 δ 是 ε 的某个函数,④ 要求它是线性的。

⑤ 连续可微 F′ 存在且连续(在闭区间上指端点处取单侧导数)。它蕴含 ④:紧区间上导数连续就有界,用中值定理得 M 取导数的上界。

另外还有一条旁支,它不在这条链上:有界变差——存在常数 M,使得对任意分割 0 = x0 < x1 < … < xm = 1,都有 Σ over i of |F(xi) − F(xi−1)| ≤ M。③ 蕴含它(把分割本身当成一组区间),但它不在 ② 里面——有界变差函数允许有跳跃,跳跃当然不是连续的。

Cantor 函数:

连续 ✅  一致连续 ✅  有界变差 ✅

绝对连续 ❌  Lipschitz ❌  连续可微 ❌

03 / 06

Cantor 函数到底怎么造出来

本节要点 · 它是一列越来越细的楼梯的极限。造法是一条规则:挖掉的那段让它平,剩下的那段拉直线。

从 [0,1] 出发,每一步把剩下的每一段都挖掉正中间的三分之一。第一步挖掉 (1/3, 2/3),剩下两段;第二步在两段里各挖掉各自的正中间三分之一,也就是 (1/9, 2/9) 与 (7/9, 8/9),剩下四段;第三步挖掉四段,剩下八段。第 n 步之后剩下 2n 段,每段长 3−n,总长 (2/3)n,随 n 趋于零。剩下的那些点合起来,就是 Cantor 集。

Cantor函数:凡是被挖掉的开区间,让函数在上头当常数;剩下没挖掉的每一小段,把两端的值用直线连起来。

第 1 轮 挖掉 (1/3, 2/3),在它上面取常数 1/2。剩下的 [0, 1/3] 从 0 连到 1/2,[2/3, 1] 从 1/2 连到 1。得到一条三段折线。

第 2 轮 在 [0, 1/3] 里挖掉 (1/9, 2/9),取常数 1/4;在 [2/3, 1] 里挖掉 (7/9, 8/9),取常数 3/4。剩下四段,各拉直线。

第 3 轮 挖掉四个长度 1/27 的区间,从左到右取常数 1/8、3/8、5/8、7/8。剩下八段,各拉直线。

第 n 轮 挖掉 2n−1 个长度 3−n 的开区间,从左到右依次取常数 (1/2n)、(3/2n)、(5/2n)、…、((2n−1)/2n)。剩下的 2n 段各拉直线。

把前三轮叠在同一张图上

浅色的那条只有两个斜段,中色四个,深色八个。每多画一阶,斜段数目翻一倍、长度缩到三分之一;平的地方越来越多,也就越来越像一座只有台阶、没有斜坡的楼梯。注意三条线的位置关系:它们不是一条压在另一条上面,而是交错着走。后一阶只在上一阶的斜段里动手,把中段压平——于是每个斜段被劈成三截:左截更陡、跑到上一阶上方,右截跑到上一阶下方,两条线正好在斜段的正中间交叉一次。摆动的幅度随着阶数越来越小,这才是它收敛的原因,而不是靠「单调地往上贴」。

图里最陡的地方,是深色那条的那些小斜段。先记住这个印象:越往高阶走,斜段越短、也越陡。后面判 Lipschitz 成不成立,用的就是这些短斜段,而不是那些长平台。

定义域每一轮「挖掉中间三分之一、留下两段」——段数翻倍;值域每一轮「劈成两半」——高度减半。第 1 轮挖出来的那一段,位置正在定义域的正中间,所以给它值域的正中间 1/2;第 2 轮挖出来的两段,分别在左半边和右半边的正中间,所以给 1/4 和 3/4。凡是「某一轮的正中间」,值就是奇数除以 2 的 n 次方。

定义域每轮乘 2/3,最后缩到长度零;值域每轮乘 1/2,最后还剩长度一。定义域被榨干,值域没变——这就是「全部上升压在零测集上」的来源。这不奇怪,是两个缩小速度不同造成的。

先读最大的那一段深金。它横跨 1/3 到 2/3,高度停在 1/2,是第 1 轮挖出来的那个区间。往左往右各有一个矮一点的平台,在 1/4 和 3/4,对应第 2 轮挖出的两段;再往里还有四个更短的浅金平台,在 1/8、3/8、5/8、7/8,属于第 3 轮。颜色越浅,代表它出现得越晚、也越短。

剩下那些斜的蓝色短段,就是「还没挖掉的部分」。它们在下一轮会被各自再劈成「斜、平、斜」三小段——所以斜的越来越短,平的越来越多。这张图画到第三轮就停;继续下去,蓝色斜段会细到看不见,每个斜段挤成一条几乎竖直的细线,而那些细线的横坐标合起来就是 Cantor 集。

这张图画的是第 3 阶,不是最终那条曲线。差多少?第 n 阶的图和真正的 Cantor 函数,处处相差不到 2 的 −n 次方除以 3——第三阶是 1/24,约百分之四;到第十阶已经小于千分之一。所以图上看起来「已经定了」的地方,确实就定了。

为什么这列楼梯一定有极限?比较相邻两阶:第 n+1 阶只是在第 n 阶的那些斜段上做改动,每个高 h 的斜段被换成「斜、平、斜」,与原来那条直线的偏差最大是 h 的六分之一。而第 n 阶的斜段高度是 2 的 −n 次方,所以两阶之差处处不超过 2 的 −n 次方除以 6。把这些差从第 n 阶往后全部加起来,得到 2 的 −n 次方除以 3——收敛。所以这列函数是一致 Cauchy 列,极限存在且连续(一致极限保连续)。那个极限,就是 Cantor 函数的定义。

顺带解释一件常被问的事:它在 Cantor 集上的值是怎么定的?不用单独定。每一阶的函数在整条 [0,1] 上都有定义,那列函数一致收敛,极限自然在每一点都有值。C 上的那些点是被「夹」出来的:两侧平台的取值一左一右逼近,连续性保证它们必须吻合。所以「用连续性延拓」不是一条额外规定,是收敛这件事的自动结果。

04 / 06

Cantor函数的连续性分析

1 连续:成立。它是那列楼梯的一致极限,一致极限保连续。这一步不需要任何计算。

2 一致连续:成立,而且是白送的。[0,1] 紧,上面连续就一致连续(Heine-Cantor)。很多证明就停在这里,误以为「一致连续」是这道题的全部结论。

3 有界变差:成立。它单调不减(每阶楼梯都单调,一致极限保持单调),所以任意分割上的变差和就是 F(1) − F(0) = 1,取 M = 1 即可。

4 导数:被挖掉的部分是至多可数个开区间之并,每个这样的开区间上 F 是常数,所以在 C 之外 F′ 处处存在且等于零。而 C 的测度为零,于是「几乎处处可导,且导数几乎处处为零」。这一步只用到了「平台的测度是一」,不需要知道函数在 C 上长什么样。

5 绝对连续:不成立。取第 n 阶剩下的 2n 个闭区间。它们的总长是 (2/3)n,而每个区间上 F 的增量恰好是 2−n(值域被均分成 2n 份),所以总增量恒等于 2n 乘 2−n = 1。取 ε = 1/2:无论 δ 多小,选 n 使 (2/3)n < δ,就得到总长 < δ 而总增量 = 1 > ε。

6 Lipschitz:不成立。看第 n 阶剩下的任意一个小段:长度 3−n,函数在它上面从某个平台升到下一个平台,增量正好是 2−n。两端连一条割线,斜率等于 2−n 除以 3−n,也就是 (3/2)n。n = 10 时是 57.7,n = 20 时是 3325,没有上界,所以不存在那个常数 M。

7 连续可微:不成立。若导数存在且连续,又已知它几乎处处为零,则导数处处为零,函数只能是常数——与 F(1) − F(0) = 1 矛盾。

8 于是牛顿-莱布尼茨公式在这里失效:F(1) − F(0) = 1,而被积函数几乎处处为零,积分等于 0。两边差 1,差的正是那一段被压进零测集里的上升。微积分基本定理的正确前提是绝对连续,不是「几乎处处可导」。

第 6 步有一个极易搞反的地方:

最陡的地方不在那些平台上,恰恰相反,平台是整条曲线上最平的地方。平台是被挖掉的区间,函数在上面是常数,左右两端的函数值一模一样,差商是 0。拿平台的两端去算斜率,得到的永远是零。

会变陡的是那些还没被挖掉的小骨架段:长度 3−n,函数在它上面从某个平台爬到下一个平台,升高正好 2−n。分子按 2 的 n 次方缩小,分母按 3 的 n 次方缩小,分母缩得慢,商就一路往上长。两个数都在趋于零,可它们的比值趋于无穷。

「斜率没有上界」这句话,还要跟「某个地方斜率无穷大」分清楚。Lipschitz 是一个全局条件:它要求存在一个 M,把所有两点之间的割线一次压住,全区间通用。要否定它,只需要造出一列割线,它们的斜率能超过任何一个你事先给定的 M——不需要存在一条斜率真的等于无穷的割线,那是另一回事,而且 Cantor 函数上根本不存在这样的两点。

画出来是这样:横轴是层数 n,纵轴是那一层小段的斜率。曲线按指数往上冲,你随便在哪儿画一条水平线当 M,它都会在某个 n 之后被穿过去。M 越大,只是穿得越晚,不可能穿不过去。

现在把两件事并排放,才是 Cantor 函数真正怪的地方。

一方面,它的导数几乎处处是零。被挖掉的那些区间加起来长度正好是 1,占满整个 [0,1],而 F 在每个这样的区间上是常数。随便在 [0,1] 里挑一个点,它落在某个平台里的概率是 1,切线就是水平的。所以你闭着眼睛指一处,看到的是一条平得不能再平的线。

另一方面,它每一层都藏着一批陡得没边的短段。第 n 阶有 2n 个这样的段,散布在整条区间上;每一层的段又被下一层劈成三段,于是永远有新的一批更短、更陡的段冒出来。想在图上看到它们,必须把镜头推到很小的窗口里;推得越深,看到的那一段越陡。

把镜头推到宽度 1/3、高度 1/2 的那个窗口里,三阶曲线叠在一起看:

第一阶是那条贯穿整个窗口的直线,斜率 1.5。第二阶把它劈成「斜、平、斜」三截:左截更陡,跑到这条直线上方;右截跑到下方;中间那个平台横在一半高度上。第三阶把每一截再劈三下。窗口一寸没变,只是里面一次比一次碎、一次比一次陡。

这就是那个反直觉的结论:它并不是「某一处切线斜率无穷大」,而是「在任意小的尺度上,都能找到很陡的割线」,同时几乎处处局部看又是平的。两句话合起来才描述完它。少了前一句,你会以为它处处不可导得像锯齿;少了后一句,你会以为它只是条普通的光滑曲线。

也正因为这样,「再放大一点就看清了」这条直觉在这里失效。对一条普通曲线,放大到足够近就趋于切线;对 Cantor 函数,放大之后看到的还是同样的结构,只是更陡。它是一个自相似的对象——每一层的细部都是整体的缩小版,所以你永远到不了「够近」的那一刻。

第 2 步和第 5 步之间只隔了一行字,但那行字是全部。一致连续看的是「一段多窄」,绝对连续看的是「很多段加起来多窄」。前者只要每段够短就行,后者要求段的数目变多时总量仍受控。Cantor 函数偏偏让段的数目按 2 的 n 次方增长,正好把每段变短的好处抵消干净。

第 7 步那个论证值得记法:它没有直接去算导数,而是用「几乎处处为零」加「导数连续」推出「处处为零」。连续函数在一个稠密集合上为零,就处处为零——这一招在分析里反复出现,比硬算省力得多。

还有一个数要摆出来:Cantor 函数其实满足 α = log32 ≈ 0.631 的 Hölder 条件,即 |F(x) − F(y)| ≤ C |x − y|α,而且这个指数是最优的——第 6 步那个差商恰好卡住它,要让 (3/2)n 与 (3−n)α 同阶,就必须 3α ≥ 2。所以它不是「仅仅连续」,它比一般的连续函数规整得多;只是没规整到 Lipschitz 那一步。

05 / 06

反例与边界:再加三条也救不回来

本节要点 · 把「连续 + 有界变差 + 几乎处处可导 + 导数可积」四条凑在一起,看起来已经很强了,仍然不够。

为什么偏偏是绝对连续这一条?因为它等价于一个关于集合的条件。有一个定理把这件事说死了:在闭区间上,绝对连续等价于三条同时成立——连续、有界变差、把零测集映成零测集(最后这条叫 Luzin 的 N 性质)。Cantor 函数过了前两条,不满足第三条:它把长度为 0 的 Cantor 集映满了整个 [0,1],像的长度是 1。

这条刻画解释了为什么前面所有「看起来够用」的条件都会失败。连续管的是单点的邻域,有界变差管的是总波动,可导管的是局部线性化,这三样全是「逐点」或者「整体求和」的视角;而绝对连续要的是「一个集合被送到哪里去」,这是一个关于映射作用在集合上的条件,前面那些视角根本问不到。缺的那一层不是更强,是另一个方向。

反过来也要小心,别把绝对连续当成「光滑」的升级。绝对连续并不蕴含处处可导——确实存在绝对连续却处处不可导的函数。它管的是「变差可以被长度控制」,与「切线的存在」是两回事。这条阶梯上每一层的名字都在讲不同的性质,不是同一个性质的不同强度。

一个常见的误读可以顺便清掉:Cantor 函数没有一处「病得不能积分」。它连续,所以在闭区间上 Riemann 可积;由对称性 F(x) + F(1−x) = 1,它在 [0,1] 上的积分正好是 1/2。出问题的从来不是「积不进去」,是「积出来的东西不是它自己」——把导数的积分还回去,得到的是 0,不是 1。

边界探测 · 一问 —— 如果把构造改一改:每一轮不挖中间三分之一,而是挖中间二分之一,剩下的总长变成 (1/2)n,还趋于零,函数会变成什么样?仍然是一座奇异楼梯。只要「每轮挖掉一个正比例、剩下的总长趋于零、剩下的部分劈成两半」,极限就把全部上升压在零测集上,绝对连续照样不成立。真正起作用的不是 1/3 这个数,是「被挖掉的长度加起来等于全长,剩下的是一座零测的骨架」。反过来,如果每轮挖掉的比例收得足够快,使得剩下的总长不趋于零,得到的函数就是绝对连续的。分界线在「剩余总长是否趋于零」这一处,不在具体的数字上。

边界探测 · 二问 —— 挖中间三分之一,(3/2)n 看着已经够快了。改成挖中间二分之一呢?剩下的小段每段都被砍到原来的四分之一,所以第 n 轮段长是 4 的 −n 次方,而增量还是 2 的 −n 次方,斜率就是 2 的 n 次方——涨得比 (3/2)n 猛得多。换个比例就换个底数:挖掉中间的比例记作 p,剩下的两段各占 (1−p)/2,第 n 轮段长 ((1−p)/2)n,斜率就是 1/(1−p) 的 n 次方。p = 1/3 给 (3/2)n,p = 1/2 给 2n。也就是说 (3/2)n 不是「最坏情况」,它只是这个经典比例下的具体值;p 越大,陡得越凶。而只要 p 大于零,底数就大于一,斜率就没有上界。所以陡峭程度由「剩下的骨架收缩得多快」决定,与「是否零测」是两件事——在 1/3 的经典构造里这两件事恰好一起发生,很容易被当成同一件事。

06 / 06

地图连接

本节要点 · 五层各有专卡,这张是它们之间的缝。先看专卡,再回来看缝在哪。

往下一层一层看 —— 第一层见《连续的三张脸》,那一条讲的是同一个定义的三种等价写法(ε-δ、开集原像、序列);第二层见《一致连续》,重点是 δ 不许依赖点;第三层见《绝对连续》,那里把「多段求和」这个动作单独推了一遍;第四层见《Lipschitz 连续》,它给 δ 与 ε 定了一个固定比例。这条链上唯一的「免费升级」是《Heine-Cantor 定理》:紧区间上连续自动一致连续,Cantor 函数的一致连续性就是靠它。

往旁边看 —— 第 4 步那个「导数几乎处处为零」,是《按测度忽略》那条思路的反面用法:通常「测度为零」意味着可以不管,这里它偏偏是全部的上升所在。第 8 步那个失效的公式,在测度语言里对应的正是《Radon-Nikodym 定理》——Cantor 函数对应的测度与 Lebesgue 测度相互奇异,所以它没有密度,也就写不成导数的积分。

最后把这句话记住 —— 连续性是一条阶梯,每往下一层条件更强,而强弱的顺序与「看起来该升级」的直觉并不一致:从连续到一致连续是白送的,从一致连续到绝对连续是断的,从绝对连续到可微又是断的。一个函数卡在哪一层,就说明它恰好缺了那一层要的东西——Cantor 函数缺的不是光滑性,是「把零测集还是送到零测集」。

AiMath · A06-7

#Cantor函数#绝对连续#一致连续

相关学习资料