← 专著首页目录德麦国际专著第 70 号

第二章 一个反例对:同一个极限点集,两个长度

SDE数学解构导论 · 约 2,516 汉字

本章要做的事:把第一章第二、三节那两条路径推到底,直到得出三条可以为假的命题。全章的数字都可以在一页纸上复算,半径 r = 1,直径 d = 2。

一、把两条路径摆在一起

同一个圆,同一个欧氏平面。两条逼近路径:

路径一 · 从里面。 内接正 n 边形,顶点全在圆上。

路径二 · 从外面。 外切正方形,反复把每个凸角折进去顶到圆上。

两条都在计算同一个圆的周长。结果:

                        周长              周长 ÷ 直径
路径一,n → ∞               2π = 6.283185   3.1415926
路径二,任意层                 8.000000        4

差 1.716815,相对差 27.32 %。

二、路径一:为什么收敛到 2π

内接正 n 边形每边是一条弦,对应圆心角 2π/n,边长 2r·sin(π/n),故周长

P(n) = 2n · sin(π/n).
 n                         周长                    ÷ 直径
 6                         6.0000000             3.0000000
 24                        6.2652572             3.1326286
 96                        6.2820639             3.1410320
 1 000                     6.2831750             3.1415875
 →∞                        6.2831853             3.1415926

n = 96 是阿基米德做到的那一步。

三、路径二:为什么恒等于 8

折角操作是这样的:在第一象限取角度分点,每两个相邻分点之间,锯齿先沿竖直方向走,再沿水平方向走,接到下一个分点。折一次,分点加密一倍。

关键在于这个操作对什么量不变。

绕圆一周,锯齿的全部水平位移之和恒为 4(每象限 1),全部竖直位移之和恒为 4。而锯齿的长度就是这两个总和相加,因为它每一步只走水平或竖直。

折角只是把一段水平和一段竖直换个次序。两个总和都没变。 所以周长与折

了多少次无关,恒为 8。

这一段不需要任何计算,只需要看清“折角是重排,不是缩短”。

四、同一个 8,另一条算法

上一节的论证是组合的。同一个结果可以由积分给出,而且这条算法会直接引出本章的诊断。

在圆上取参数 φ,切向为 (−sin φ, cos φ)。锯齿在该处把弧元 ds 拆成两段:

• 竖直段,长 |cos φ| · ds

• 水平段,长 |sin φ| · ds

(φ = 0 时圆在 (1, 0) 处正朝上运动,故此处全是竖直段——竖直段对应 |cos φ|,不是 |sin φ|。这一处极易记反。)

于是锯齿的总长

∫[0, 2π] ( |cos φ| + |sin φ| ) dφ = 4 + 4 = 8,

而圆的总长

∫[0, 2π] 1 dφ = 2π = 6.283185.

两个积分都可以一行算完:|sin| 与 |cos| 在一个周期上的积分各等于 4。

所以 8 不是误差。它是同一条曲线在 ℓ¹ 度量下的准确长度。 顺带得到一个副

产品:在出租车几何里,π 恰好等于 4。

五、锯齿确实在收敛——而且三层里有两层收敛得很好

若锯齿只是“不够像”,这一切就没有意思。它非常像。

面积层。 锯齿包围的面积 → π:

层数 k              段数                 包围面积              与 π 之差
2                 32                 3.45929219        3.177 × 10⁻¹
6                 512                3.16582218        2.423 × 10⁻²
10                8 192              3.14312540        1.533 × 10⁻³

点集层。 锯齿到圆的 Hausdorff 距离 → 0:

层数 k / 边数 n               锯齿 d_H                  内接正 n 边形 d_H
6 / 64                    1.219 × 10⁻²            1.205 × 10⁻³
10 / 1 024                7.667 × 10⁻⁴            4.706 × 10⁻⁶
12 / 4 096                1.917 × 10⁻⁴            2.941 × 10⁻⁷

而在这全部过程中,锯齿的周长一个数位都没有动:第 12 层仍是 8.0000000000。

六、点集这一层:两个极限是同一个集合

上表的左右两列都趋于零。于是:

两条序列的 Hausdorff 极限,都恰好是单位圆 { x : |x| = 1 }。

不是“几乎相同”,不是“相差一个零测集”,是同一个集合。

这一句是全章的支点。它把这对反例从“一个有趣的现象”提升为一条逻辑:

若“沿逼近序列读出的长度”只由极限点集决定,那么两条序列必须给出同

一个数。 它们给出 2π 与 8。 故它不是极限点集的函数。 ∎

七、Golab 定理:点集这一层只给一个不等号

点集层并非什么都不给,它给一个不等号,而且是一条经典定理:

Golab 半连续定理. 若紧连通集列 Kₙ 在 Hausdorff 距离下收敛到 K,则

ℋ¹(K) ≤ liminf ℋ¹(Kₙ).

代入本例:

2π = 6.283185 ≤ 8 ✓不等号严格成立,一点矛盾都没有。你要的等号从来没有被承诺过。

面积层给的是同一个形状的东西:集合的 L¹ 收敛下,面积连续(|Eₙ| → |E|),而周长只下半连续。两层都只给不等号。

八、切向这一层:分道就在这里

前两层看不出差别。差别在第三层。

其一,切向不收敛,而且差距有一个与层数无关的下界。

锯齿的切向永远只有水平与竖直两种取值,圆的切向连续地扫过一整段角度。二者的距离:

sup ‖ t(锯齿) − t(圆) ‖ ≥ 0.765367,

在 φ ≈ π/4 处取到,对一切层数 k 成立。层数翻到多少都不动。

所以锯齿在切向那一层根本不是柯西列。它不是被一条规则筛掉的,它压根

不在那个空间里。

其二,切向也不是乱跑——它以测度收敛。

在每个 φ 处,极限不是一个切向,而是一个切向的分布:

                                          极限速度 |cos φ|
φ                竖直段占比           水平段占比    +|sin φ|
0                1.0000          0.0000   1.000000
π/6              0.6340          0.3660   1.366025
π/4              0.5000          0.5000   1.414214
π/3              0.3660          0.6340   1.366025
π/2              0.0000          1.0000   1.000000

竖直段占比 = |cos φ| ÷ (|cos φ| + |sin φ|)。

这正是“相邻两段怎么接”这件事在极限处的样子:接成竖直还是水平,不再有唯一答案,只剩一个比例。

这类对象在文献里有名字:参数化测度,通称 Young 测度——专为“振荡在强拓扑下没有极限”而造。

九、极限不是圆

于是本章那句要紧的话:

在切向有定义的那个空间里,锯齿的极限不是圆。

极限是「圆 + 一层切向振荡」这个复合对象。而这个对象的长度,正是

∫[0, 2π] ( |cos φ| + |sin φ| ) dφ = 8。

验算:按圆的参数 φ 度量,锯齿在任意子区间上的长度,精确等于新速度的积分。

                   锯齿长(k =            ∫(|cos|+|
区间                 14)                sin|)dφ           圆弧长
[0, π/4]           1.00000000         1.00000000        0.78539816
[π/6, π/3]         0.73205081         0.73205081        0.52359878
[π/4, π/2]         1.00000000         1.00000000        0.78539816
[0, π/2]           2.00000000         2.00000000        1.57079633

不是近似,是逐位相等。 极限对象的速度是 |cos φ| + |sin φ|,不是 1。

于是:

从来就没有悖论。 两条序列在“长度有定义”的那个空间里,收敛到两个不

同的对象;两个对象有两个不同的长度,各自一分不差。

十、三层对照

全章可以压进一张表:

锯齿的极 内接的极层 收敛方式 限 限 相同? 长度泛函点集 Hausdor 圆 圆 完全相同 只下半连

ff 续

(Golab

)面积 测度 / L¹ 圆盘 圆盘 完全相同 只下半连

续切向 参数化测 圆 + 振荡 圆 不同 连续

前两层看不出任何差别。差别只在第三层才出现。

十一、一个刚性的取舍

把三层并排,会看到一件事,而且它不是技术困难:

想让两条序列有同一个极限,长度就不连续。 想让长度连续,两条序列就不

再有同一个极限。

二者不可得兼——这是同一件事的两面。在点集层与面积层,你买到了“同一个极限”,代价是长度只剩一个不等号;在切向层,你买到了“长度连续”,代价是锯齿的极限不再是圆。

这条取舍解释了为什么这个悖论那么难破:人们下意识地同时要两样,而它们是同一枚硬币的两面。

十二、要补的不是条件,是把对象换掉

一个常见的补法是:在点集上加一条筛选规则(凸性、全变差有界、切向收敛),把锯齿排除出去。这个补法有效,但它把事情说小了。

第八节第一条已经指出:锯齿的切向距离有一个与层数无关的下界,它不是被规则排除的,它根本不在那个空间里。所以真正发生的不是“加一条条件”,而是:

把对象从「点集」换成「点集 + 每点切向的分布」。

这个对象在几何测度论里也有名字:varifold。

• 圆的 varifold:每点一个 Dirac 测度,压在真切向上。质量 = 2π。• 锯齿极限的 varifold:支撑集与圆一模一样,而每点是第八节那个两点测度。

质量 = 8。

同一个支撑集,两个不同的 varifold。

值得注意的是 varifold 当初被造出来的理由,与本章走到这一步的理由完全相同:点集这一层控制不住切向,紧性与下半连续的论证做不下去。第五编第三十章把Douglas 1936 判为通道三,正是这条线的起点。

十三、本章证明了什么

三条命题,每条都可以为假。

命题 2.1.「沿逼近序列读出的长度」不是极限点集的函数。 证明:第六节的

构造。两条序列的 Hausdorff 极限是同一个集合,而长度的极限是 2π 与

8。∎ 失败标准:证明这两条序列的 Hausdorff 极限不同,或证明其中一条的

长度极限不是所报的值。

命题 2.2. 在 Hausdorff 收敛与 L¹ 收敛这两层上,长度只下半连续。 依据:

Golab 定理与周长的下半连续性,本书不重复其证明。本例给出 2π ≤ 8。 失

败标准:举出一列紧连通集,其 Hausdorff 极限的 ℋ¹ 严格大于 liminf。

命题 2.3. 存在一个刚性取舍:使两条序列同极限的拓扑,长度必不连续;使

长度连续的拓扑,两条序列必不同极限。 依据:第十节的三层对照。 失败标

准:造出一个拓扑,两条序列在其中同极限且长度连续。

十四、本章没有证明什么

四条,必须写在明处,否则本章会被读成比它更强的东西。

其一,本章没有证明点集定义是错的。 ℋ¹(圆) = 2πr 良定,且完全由点集决定。不良定的是“沿逼近序列读出来的长度”。第一章第十二节已经把这条界线划过一次,这里重申。

其二,本章没有证明锯齿算错了。 它精确地算出了 ℓ¹ 长度 8,也精确地算出了它自己那个极限对象的长度 8。

其三,本章没有给出 varifold 的任何定理。 第十二节只是指出这个对象存在并且早有名字;它的紧性理论与下半连续性属于几何测度论,本书不重述。

其四,本章只处理了一个对象。 一条曲线的长度。它是不是一切“低维量在逼近中丢失”的模型,本章没有证。第四编第二十七章会给出一个更一般的形状(体积量与跳变量的分道),而那一条同样只到第二层。

德麦国际专著第 70 号 · 王德生《SDE数学解构导论》