
学到泛函分析第七章前后很多人会有一种突然被扔进另一个维度的感觉。前一章还在老老实实算范数、验证三角不等式这一章开始“收敛”这个词一下子裂成了三份范数收敛、弱收敛、弱星收敛。同一个序列在同一个空间里可能对一种收敛成立、对另一种不成立甚至换个空间身份把 ℓ¹ 当成自身和把 ℓ¹ 当成 c₀ 的对偶结论就翻过来了。这种“一词三义”的混乱是泛函分析从“算”过渡到“结构”的分水岭也是后面变分法、偏微分方程弱解、算子谱理论全部绕不开的地基。我写这篇笔记是想把弱收敛与弱星收敛这两个概念从“定义背下来”变成“能在草稿纸上判断一个具体序列到底收不收敛、按哪种意义收敛”。所以下面不会只堆定理我会把 ℓ^p、c₀、ℓ¹、L^p、测度空间这几个经典场景摆在一起对比把每个反例背后的判据讲透再给出一套我自己做题时一直在用的判别套路。如果你正在啃泛函分析的收敛部分或者后面要用变分法、数值分析里“抽弱收敛子列”那套手法这篇应该能帮你把思路理顺。1. 范数收敛为什么不够用从无限维单位球失去紧性说起1.1 有限维的错觉在无限维直接崩掉在 ℝⁿ 里我们被惯坏了两件事有界闭集必紧以及“有界序列必有收敛子列”。这两条在无限维 Banach 空间里同时失效而且是彻底失效不是“偶尔不灵”。最直观的例子是 ℓ² 里的标准基 e₁, e₂, e₃, …每个 ‖e_n‖ 1序列整体有界但任意两项之间 ‖e_n − e_m‖ √2你不可能从里面抽出任何柯西子列。所以 ℓ² 的闭单位球一点都不紧它甚至不是序列紧的。这件事的后果非常严重。分析学里最常用的一招是“拿一串逼近最优的东西从中抽出一个收敛子列把极限取出来证明它就是解”。这个方法在有限维叫 Bolzano–Weierstrass在无限维直接被掐死。可是现实中我们太需要它了变分问题要极小化序列、PDE 要构造近似解、数值格式要证收敛性全都指望这一招。于是思路转向紧性不是没有而是范数这把尺子太“严格”了。范数要求两个向量在每一个方向上同时靠近这个要求比我们实际需要的强得多。如果我们把“靠近”的标准放松——不要求向量本身靠近只要求它在每一个线性观测者眼里看起来靠近——紧性就回来了。这就是弱拓扑的全部动机。1.2 弱拓扑把检验标准从“无穷多方向”换成“全体连续线性泛函”先把话说清楚。设 X 是 Banach 空间X* 是它的对偶空间。X 上的弱拓扑定义为使所有 f ∈ X* 作为映射 x ↦ f(x) 连续的最弱拓扑。用大白话讲我不再直接比较两个向量 x 和 y 有多近我只关心“所有合格的探针 f 测出来的数值 f(x) 和 f(y) 有多近”。探针集合越大、越细拓扑越强探针集合取全体 X*就得到弱拓扑。为什么这个定义看起来有点绕因为它其实是在说弱拓扑是由一族半范数 {|f(·)| : f ∈ X*} 生成的局部凸拓扑。所以它不是度量拓扑——这一点后面会反复用到很多时候你会看到一个空间根本没有“弱距离”这种东西只能谈网net不能谈序列。按同样的逻辑定义弱星拓扑就顺理成章了。这次我们把研究对象换成对偶空间 X*。X* 上自然的“探针”是什么是求值映射 x̂ : f ↦ f(x)其中 x 遍历 X。把 X 中的每个 x 都当成一个检验员要求所有这些求值映射连续得到的最弱拓扑就叫 X* 上的弱星拓扑weak-star topology通常写作 w*-拓扑。这两个定义差在什么地方差在一个词探针是取遍 X*对 X 而言还是取遍 X对 X* 而言。但正因为有自然嵌入 J : X → X**把 x 映成求值泛函 x̂我们知道 J(X) ⊆ X**。X* 的弱拓扑要求对所有 X** 的元素连续弱星拓扑只要求对 J(X) 这一部分连续。要求更少拓扑就更弱。所以一句话记住同一个 X上w-拓扑比 w-拓扑弱w*-收敛是比 w-收敛更容易达到的目标。** 这不是技术细节这是整章内容的分水岭。1.3 弱收敛的定义以及第一个反例定义摆出来就很短了。对 X 中的序列 {x_n} 和 x ∈ Xx_n ⇀ x弱收敛当且仅当对每个 f ∈ X*都有 f(x_n) → f(x)。对 X* 中的序列 {f_n} 和 f ∈ X*f_n ⇀* f弱星收敛当且仅当对每个 x ∈ X都有 f_n(x) → f(x)。注意这里的对称感弱收敛是把泛函作用到序列上看数值收敛弱星收敛是把序列作用到每个向量上看数值收敛。很多教材到这一步就往下走了但我觉得必须立刻补一条“最容易忘的事实”弱收敛是好定义的、唯一的。也就是说如果 x_n ⇀ x 且 x_n ⇀ y那么 x y。理由用 Hahn–Banach 一句话若 x ≠ y存在 f ∈ X* 使 f(x) ≠ f(y)与 f(x_n) 同时收敛到 f(x) 和 f(y) 矛盾。这个唯一性看着平凡但它保证了后面所有“抽弱收敛子列”的操作有意义。那到底什么样的序列弱收敛但不范数收敛回到 ℓ^p1 p ∞的标准基 e_n。取任意 f ∈ ℓ^q (ℓ^p)*f 对应一个数列 (a_k) ∈ ℓ^q那么 f(e_n) a_n。因为 Σ|a_k|^q ∞必然有 a_n → 0。所以对每个 f 都有 f(e_n) → 0即e_n ⇀ 0。但 ‖e_n − 0‖ 1 对所有 n 成立范数收敛完全不可能。这就是最标准的“弱收敛非范数收敛”样本也是每次考试必考的题目。这里有个细节很多人第一遍会忽略e_n ⇀ 0 的证明里用到的关键不是“a_n → 0”本身而是“对每一个 ℓ^q 中的序列都成立”。如果换成 f 只在某个子集上取结论可能就不成立。所谓弱收敛检验的是全体对偶空间的成员一个都不能漏。2. 弱星收敛对偶空间上的第二把尺子与三件趁手工具2.1 w 与 w* 的差别到底落在哪一行推导上我见过太多人在这一步翻车在对偶空间 X* 上讨论收敛随手用了弱收敛的定义结果证出来的结论其实只对弱星收敛成立。区别在于检验集合的大小。假设 {f_n} ⊂ X*要证 f_n ⇀* f你只需要对每一个x ∈ X 验证 f_n(x) → f(x)。要证 f_n ⇀ f你得对每一个Φ ∈ X** 验证 Φ(f_n) → Φ(f)这通常难得多因为你根本不知道 X** 里除了 J(X) 之外还有什么东西。这个差别在自反空间里消失因为 J(X) X**所以如果你只在 ℓ^p1 p ∞、L^p1 p ∞、Hilbert 空间里打转w 和 w* 是同一件事你甚至可以不区分。但只要空间不自反比如 c₀、ℓ¹、C[0,1]、L¹两者的区别立刻显现而且往往是“一个成立、一个不成立”的剧烈区别。这就是第 3 节要重点拆的地方。我自己的判断习惯是先问研究对象住在 X 还是 X再问 X 自反不自反。* 住在 X 上的序列只能谈弱收敛住在 X* 上的序列两把尺子都能用优先用弱星因为它要求少、更容易满足只有当你需要区分“这是弱还是弱星”的时候才去深究。2.2 Banach–Alaoglu弱星紧性是“免费送”的弱星拓扑之所以好用靠的是泛函分析里性价比最高的一条定理Banach–Alaoglu 定理X* 的闭单位球 B_{X*} 在弱星拓扑下是紧的。对比一下就知道这条定理有多慷慨。X 的闭单位球 B_X 在范数下永远不紧除非 X 有限维在弱拓扑下紧当且仅当 X 自反。而 B_{X*} 在弱星拓扑下无条件紧不管 X 是什么、自反不自反全都紧。这就是弱星拓扑存在的最大意义它提供了一个永远可用的紧性来源。为什么它能免费证明思路其实很朴素本质是 Tychonoff 定理。把 B_{X*} 映到乘积空间 Π_{x∈X} [−‖x‖, ‖x‖] 中去映射方式是 f ↦ (f(x)){x∈X}。每个分量都被限制在一个紧区间里因为 |f(x)| ≤ ‖f‖‖x‖ ≤ ‖x‖乘起来是紧空间。这个映射是单射而且可以验证 B{X*} 上的弱星拓扑恰好就是乘积拓扑限制过来的像集是闭的所以是紧的。整条链子没有一处需要 X 的性质纯靠 Tychonoff。这个证明值得琢磨一下因为它揭示了一个直觉弱星拓扑本质上就是“逐点收敛拓扑”。f 被当成一个定义在 X 上的函数f_n ⇀* f 就是 f_n 逐点收敛到 f。理解成逐点收敛很多结论就变得不奇怪了。2.3 可分离性带来的红利有界集上的弱星序列紧Alaoglu 给你的是紧性紧性在一般拓扑里只保证“有限子覆盖”不保证“序列能抽子列”。序列层面需要额外条件这就是可分离性登场的时刻。如果 X 是可分离的那么 B_{X*} 上的弱星拓扑是可度量化的于是 B_{X*} 是弱星序列紧的X* 中任何有界序列必有弱星收敛的子列。这条推论是我做 PDE 和变分问题时用得最多的一句话。X 通常取可分离的 Banach 或 Hilbert 空间比如 H₀¹(Ω)、L^p(Ω)Ω 是 ℝⁿ 中的规则区域对偶空间里的近似解序列有界于是必然能抽出一个弱星收敛的子列。没有它整个存在性证明没法写。度量化的构造也不神秘取 {x_k} 为 X 中可数稠密子集定义d(f, g) Σ_k 2^{-k} · |f(x_k) - g(x_k)| / (1 |f(x_k) - g(x_k)|)这个 d 在有界集上诱导的拓扑正是弱星拓扑。为什么要“有界集上”因为上面那个级数收敛需要 f, g 在稠密子集上的取值整体有界有界性正好提供这一点。这也顺带解释了一条经验规则在有界集上弱星收敛等价于在一个稠密子集上逐点收敛。证明用标准的 3ε 手法——稠密点上的误差被控制住非稠密点用有界性加稠密性逼近误差可以任意小。2.4 Goldstine 定理X 在对偶的二次对偶里是稠密的还有一条容易被跳过但很有用的结果Goldstine 定理说把 B_X 通过自然嵌入 J 放进 B_{X**} 后它在弱星拓扑下稠密。也就是 J(B_X) 在 (B_{X**}, w*) 中稠密。它的价值在于提供了一个“把 X 里的东西搬到 X** 里”的桥梁。当你在 X** 里拿到一个弱星极限Goldstine 告诉你这个极限可以用 X 中的元素在弱星意义下逼近当 X 自反时B_X 弱星稠密于整个 B_{X**}于是 J(B_X) B_{X**} 的弱星闭包就是它自己配合其他条件就能推出自反性。Kakutani 定理给出的判据也很漂亮X 自反当且仅当 B_X 在弱拓扑下紧。这些都是同一个“紧性从哪来”的故事的不同侧面。3. 把 ℓ^p、c₀、ℓ¹、L^p 摆在一起五个经典反例逐个拆3.1 同一个 e_n在三个不同身份下结论完全不同这是我最喜欢讲的一组例子因为它用一个序列把 w 与 w* 的区别、空间身份的重要性全部串起来了。序列所在空间对偶空间弱收敛目标弱星收敛目标范数收敛e_n ∈ ℓ^p (1p∞)ℓ^q⇀ 0与弱收敛等价自反不收敛e_n ∈ c₀ℓ¹⇀ 0与弱收敛等价自反性无关见下不收敛e_n ∈ ℓ¹ 作为自身ℓ^∞不弱收敛—不收敛e_n ∈ ℓ¹ 作为 (c₀)*—不弱收敛⇀* 0不收敛δ_{1/n} ∈ C[0,1]*—不弱收敛⇀* δ_0不收敛先看 e_n ∈ ℓ¹ 作为自身空间。要证它不弱收敛到 0找一个 ℓ^∞ 里的泛函把差别放大取 f (1, 1, 1, …)f ∈ ℓ^∞ (ℓ¹)*那么 f(e_n) 1 对所有 n 成立不可能趋于 0所以 e_n 不弱收敛到 0。更进一步ℓ¹ 有Schur 性质ℓ¹ 中弱收敛的序列必然范数收敛。所以不只是“不收敛到 0”而是它压根不弱收敛到任何东西若 e_n ⇀ x 则由 Schur 得 e_n → x而 ‖e_n − e_m‖ 2矛盾。再看 e_n ∈ ℓ¹ 作为 (c₀)。这次检验集合变成 c₀对任意 x (x_k) ∈ c₀⟨x, e_n⟩ x_n → 0因为 c₀ 的序列本身趋于 0。所以 e_n ⇀0。同一个 e_n同一个 ℓ¹ 集合作为自身空间的序列不弱收敛作为 c₀ 的对偶却弱星收敛到零。这就是“空间身份决定收敛”的最尖锐的例子。顺便e_n ∈ c₀ 是弱收敛到 0 的c₀ 的对偶是 ℓ¹任取 f (a_k) ∈ ℓ¹f(e_n) a_n → 0因为 Σ|a_k| ∞。所以 ⇀ 0。这也说明“c₀ 不自反”并不妨碍它里面的标准基弱收敛到零——不自反影响的是单位球的弱紧性不是每个具体序列的弱收敛性。3.2 L^p 与 Riemann–Lebesgue振荡型弱收敛ℓ^p 里的例子靠“坐标跑到无穷远”L^p 里的经典例子靠“频率跑到无穷远”。对 1 p ∞考虑 f_n(x) sin(nx)定义在 [0, 2π] 上。任取 g ∈ L^q[0,2π]由 Riemann–Lebesgue 引理 ∫ sin(nx) g(x) dx → 0所以sin(nx) ⇀ 0。但 ‖sin(nx)‖_p 是一个与 n 无关的正常数范数收敛同样不可能。L^p1 p ∞上还有一个我们实验室里经常用的判据比逐条验证对偶元素方便得多f_n ⇀ f 于 L^p1 p ∞当且仅当 sup_n ‖f_n‖_p ∞且对每个可测集 E 都有 ∫_E f_n → ∫_E f。这个判据把“对所有 g ∈ L^q 验证”降级成“对所有集合的特征函数验证”实用价值极高。注意这里的“有界”不能省我后面会专门讲为什么。3.3 L¹ 的麻烦可数测度下是 Schur连续测度下不是很多人会把 ℓ¹ 的经验直接搬到 L¹然后出错。这两个空间虽然都是“L¹”但性质差别很大。ℓ¹可数测度有 Schur 性质弱收敛序列必范数收敛。L¹[0,1]连续测度没有Schur 性质。反例还是那串正弦由 Riemann–Lebesgue∫_E sin(nx) dx → 0 对每个可测集 E 成立‖sin(nx)‖₁ 有界sin(nx) 一致可积因为 |sin| ≤ 1 一致有界而测度空间是有限测度所以 sin(nx) ⇀ 0 于 L¹[0,1]但 ‖sin(nx)‖₁ → 2/π ≠ 0。L¹ 的弱收敛判据需要补一个条件这就是 Dunford–Pettis 那套东西的实用版本在 σ-有限测度空间上{f_n} 弱收敛于 f当且仅当它范数有界、对每个可测集 E 有 ∫_E f_n → ∫_E f、并且 {f_n} 一致可积。一致可积这一条正是 ℓ¹ 和 L¹[0,1] 分道扬镳的地方ℓ¹ 里一致可积等价于“尾部一致趋于零”这是一个非常强的条件配合有界性就能推出范数收敛于是 Schur 性质成立。3.4 δ_{1/n}用 C[0,1]** 里的一个泛函把 w 和 w* 撕开测度空间上的例子最能说明 w 与 w* 的真实差距。设 μ_n δ_{1/n}即质量全部压在 1/n 处的点测度看成 C[0,1] 的对偶空间 M[0,1] C[0,1]* 里的元素。对任意 f ∈ C[0,1]⟨f, μ_n⟩ f(1/n) → f(0) ⟨f, δ_0⟩。所以δ_{1/n} ⇀δ_0*。范数上 ‖δ_{1/n} − δ_0‖ 2完全不收敛。关键问题来了δ_{1/n} 弱收敛到 δ_0 吗答案是不。方法就是构造一个 X** 里的泛函它不是求值泛函。考虑 Φ(μ) μ({0})也就是“取在 0 点的质量”。这是 M[0,1] 上定义良好的线性泛函且 |Φ(μ)| ≤ |μ|({0}) ≤ ‖μ‖所以 Φ ∈ M[0,1]* C[0,1]**范数不超过 1。但 Φ 不是某个连续函数 f 对应的求值泛函因为求值泛函 μ ↦ ∫ f dμ 都是弱星连续的而 Φ 不是。现在检查Φ(δ_{1/n}) 0 对所有 n质量在 1/n ≠ 0而 Φ(δ_0) 1。所以 Φ(δ_{1/n}) ↛ Φ(δ_0)δ_{1/n} 不弱收敛到 δ_0。这个例子的价值在于它给出了一个具体的、能手算出来的 Φ ∈ X** \ J(X)让你真切地看到“X** 里确实比 X 多出东西”也让你明白为什么弱星收敛比弱收敛好证。4. 一套可复用的判别套路怎么证、怎么否定弱收敛4.1 证弱收敛的三步法有界 稠密子集 3ε做题时真正卡住的往往不是定义而是“X* 里的泛函太多了怎么逐个验证”。标准解法是把无限多的验证任务压缩成有限的工作量步骤如下。第一步先证有界。这一步不能跳因为它既是后续 3ε 论证的前提也是很多人以为“显然”而实际上需要一致有界原理才能得到的结论下一小节细说。第二步找 X中一个线性张成稠密的子集 S在 S 上验证收敛。* 比如证 L^p 里的弱收敛可以只对特征函数验证它们的线性组合在 L^q 中稠密证 ℓ^p 里的弱收敛如果极限是零可以只对有限支序列验证因为有限支序列在 ℓ^q 中稠密。第三步用 3ε 补齐。设 f ∈ X* 任意ε 0。取 s ∈ span(S) 使 ‖f − s‖ ε/(2M)其中 M sup_n ‖x_n‖ ∨ ‖x‖。则由|f(x_n) - f(x)| ≤ |f(x_n) - s(x_n)| |s(x_n) - s(x)| |s(x) - f(x)| ≤ ε/2 |s(x_n) - s(x)| ε/2后半段由 S 上已知的收敛性对充分大的 n 小于任意给定值。三步走完结论封死。这个模板有个前提被藏起来了S 的线性张成必须在 X* 中稠密。如果 S 张成不稠密你验证得再辛苦也推不出弱收敛。这是我见过的最常见的证明失效原因——辛辛苦苦验证了一堆泛函最后发现验证集合太小。4.2 否定弱收敛找一个“照妖镜”泛函就够了反方向往往比正方向简单得多因为你只需要找出一个f ∈ X* 使得 f(x_n) 不倾向 f(x)。诀窍是让这个 f “挑”到序列的弱点上。对 ℓ¹ 里的 e_n用 f (1,1,1,…)它把每个 e_n 都测成 1。对 L¹[0,1] 里可能想“逃逸到 0 点”的序列用 g 是一个在 0 附近有尖峰的有界函数能把集中在小测度集上的质量放大。我自己的经验是找照妖镜的直觉来自“序列的质量跑到哪里去了”。跑到无穷远就在对偶空间里取一个“无穷远处不衰减”的元素跑到某个点上就在对偶空间里取一个在该点附近有峰的元素。绝大多数反例都是这两类。4.3 弱下半连续与 Mazur 引理极限的范数不会更大有三条关于弱收敛的“结构性”事实做存在性证明时几乎每次都会用到。范数的弱下半连续性若 x_n ⇀ x则 ‖x‖ ≤ liminf ‖x_n‖。证明只用 Hahn–Banach取 f ∈ X*‖f‖ 1 且 f(x) ‖x‖则 ‖x‖ f(x) lim f(x_n) ≤ liminf ‖f‖‖x_n‖ liminf ‖x_n‖。这个不等式是整个变分法存在性证明的最后一块拼图。Mazur 引理若 x_n ⇀ x则 x 属于 {x_n} 的凸包在范数下的闭包更具体地说存在凸组合按范数收敛到 x。它的意义是“弱极限虽然本身可能不在序列的范数闭包里但一定在凸包的范数闭包里”给了你一个把弱收敛升级成范数收敛代价是换成凸组合的工具。弱收敛序列自动有界这就是前面一直提的那条。证明用一致有界原理。把 x_n 通过自然嵌入看成 X** 中的元素对每个 f ∈ X*序列 f(x_n) 收敛因而有界所以 {J(x_n)} 在 X** 中逐点有界由一致有界原理得 sup_n ‖J(x_n)‖ ∞再由等距性得 sup_n ‖x_n‖ ∞。记住这一条的重要性在于在泛函分析里“有界”几乎从来不是可以省略的装饰条件而是几乎所有收敛判据的必要前提。你看到任何弱收敛判据第一眼就该去找“有界”两个字在哪里。4.4 一张速查表三条收敛之间的关系关系是否成立备注范数收敛 ⟹ 弱收敛成立由 |f(x_n) − f(x)| ≤ ‖f‖‖x_n − x‖弱收敛 ⟹ 范数收敛一般不成立ℓ^p 中 e_n ⇀ 0 但不范数收敛弱收敛 ⟹ 弱星收敛在 X* 上成立因为 J(X) ⊆ X**弱拓扑更强弱星收敛 ⟹ 弱收敛一般不成立ℓ¹ 中 e_n ⇀* 0 但不弱收敛弱收敛且 ‖x_n‖ → ‖x‖ ⟹ 范数收敛仅在一族凸空间成立ℓ^p (1p∞)、Hilbert 空间成立有限维空间中三者等价成立不需要任何额外条件最后一行“同一条定理在 L¹ 里失效”的例子值得单独记住。取 g_n(x) 1 sin(nx) 于 L¹[0,1]。由 Riemann–Lebesgue对任意 h ∈ L^∞ 有 ∫ g_n h → ∫ 1 · h所以 g_n ⇀ 1。并且 ‖g_n‖₁ → 1 ‖1‖₁这个可以手算∫|1 sin y| 在一个周期上的平均值恰好是 1。但 ‖g_n − 1‖₁ ∫|sin(nx)| dx → 2/π ≠ 0。所以“弱收敛 极限范数收敛”推不出范数收敛前提是要一致凸。L¹ 的单位球面上有平直段恰好挡住了这个推论。5. 从定义走到应用弱收敛在变分法与数值分析里怎么用5.1 变分法的直接方法抽弱收敛子列的完整逻辑理解弱收敛最好的方式是走一遍变分法里的“直接方法”。考虑 H₀¹(Ω) 上的泛函I(u) ∫_Ω ( 1/2 |∇u|² - f u ) dx设定下I 有下界取极小化序列 {u_n}即 I(u_n) → inf I。第一步用 coercivity 得到 {u_n} 在 H₀¹ 中范数有界由 I(u_n) ≤ C 和带 ε 的 Young 不等式可得 ‖∇u_n‖₂ ≤ C。第二步H₀¹ 是可分离自反 Hilbert 空间所以有界序列有弱收敛子列 u_n ⇀ u在自反空间里弱紧 弱序列紧可用 Eberlein–Šmulian 或直接对 Hilbert 空间用对角线法。第三步用范数的弱下半连续性和后半项 f u_n 的弱连续性f u_n → f u 因为 f ∈ H⁻¹ 是固定的对偶元得出 I(u) ≤ liminf I(u_n) inf I所以 u 是极小元。整条证明里真正“硬”的部分只有第一步的范数估计后面全靠弱收敛的通用性质。这也是弱收敛概念的全部价值所在它把具体问题里最难的紧性论证变成了一个由空间结构自动保证的黑盒。顺便说一句Hilbert 空间里判断弱收敛有一条捷径u_n ⇀ u 当且仅当 ‖u_n‖ 有界且对某个完备正交系的所有元素 ⟨u_n, e_k⟩ → ⟨u, e_k⟩。因为正交系是基它的线性张成稠密正好落回第 4.1 节的模板。5.2 弱解与能量估计为什么 PDE 的收敛一定从弱收敛开始偏微分方程里“弱解”这个词之所以叫弱原因就在这里我们没有办法直接证明近似解序列在强范数下收敛因为方程本身的椭圆性只给能量估计即 H¹ 范数有界所以先把收敛降级到弱得到极限 u然后回过头用方程的变分形式定义什么是“解”。一个典型的链条是从能量估计得到 {u_n} 在 H₀¹ 中一致有界抽出子列 u_n ⇀ u对测试函数 φ ∈ C_c^∞(Ω) 取 ⟨u_n, φ⟩ → ⟨u, φ⟩这正是弱收敛的定义而 ⟨u_n, φ⟩ 里含 ∇u_n 的那部分通过分部积分和弱收敛的配对性质过渡到极限最终得到 a(u, φ) ⟨f, φ⟩ 对所有 φ 成立。整个过程一次都没有要求 ∇u_n 强收敛。我踩过的一个坑是能量估计通常只给“∇u_n 在 L² 里有界”这配合 Poincaré 不等式才推出 ‖u_n‖_{H¹} 有界。如果 Ω 无界或者方程退化Poincaré 不等式可能不成立能量估计只能控制梯度的 L² 范数这时候抽出的弱收敛子列要放在适当的商空间或者加权空间里讨论否则极限里会冒出一个不确定的常数。细节不对整条存在性证明就废了。5.3 弱收敛过不去的那道坎非线性项的极限交换这一条是我最想强调的实战经验也是最容易在论文里被审稿人挑出来的问题。弱收敛只能穿线性运算穿不过非线性运算。换句话说如果 u_n ⇀ u你永远可以放心地写 ∫ f u_n → ∫ f uf 固定但如果出现 ∫ |u_n|² dx 或者 ∫ u_n² φ dx 这种非线性项你就没有任何理由认为它收敛到 ∫ |u|² dx。原因其实很简单弱收敛只保证了“所有线性观测者看到的数值收敛”而非线性表达式的收敛本质上是范数层面的事情。经典的失效例子是二维 L² 中的正交基 e_ne_n ⇀ 0但 ‖e_n‖² 1 不趋于 0。所以 ∫|u_n|² 极可能是常数 1而 ∫|u|² 0。那实际怎么处理三条常见出路。第一把弱收敛升级为强收敛利用紧嵌入定理。在有界 Lipschitz 区域上H¹ ↪ L² 是紧嵌入所以 H¹ 中的弱收敛序列在 L² 中是强收敛的这是 Rellich–Kondrachov 定理非线性项用 L² 的强收敛就能过极限。第二用凸性若非线性项是凸的则它有弱下半连续性至少能拿到不等式方向这对极小化问题常常够用。第三用更细的补偿紧性或多尺度方法处理振荡较强的非线性项。我个人的检查清单里有一条粗暴但有效的规则看最终结论里有没有对 u_n 做的乘法或非线性复合如果有必须给出一个强收敛或者紧嵌入的论证否则这一步不成立。5.4 数值分析里怎么实际操作“弱收敛验证”数值格式的收敛性分析经常出现类似的需求证明有限元解 u_h 在某个弱范数下收敛到真解。实操上分辨清楚在哪个范数下收敛比你想象的重要。如果目标是 L² 收敛强收敛一般的做法是 Aubin–Nitsche 对偶论证把一个 L² 误差估计转成 H¹ 误差的平方阶。如果目标是某种弱收敛或者泛函值收敛比如能量泛函、通量、平均值那可以直接用弱收敛的语言配合对偶测试函数做论证。有一类常见的误会是在有限元里观察到某个量的误差以 1 阶下降就认为“这是弱收敛”。其实那可能只是 L² 或 H¹ 的强收敛两者的证明工具完全不同。从数值实验的角度验证弱收敛一个实用的手段是观察“振荡量”的行为。如果近似解在高频下出现振幅不衰减但整体积分趋于某个值的现象那基本可以判断是弱收敛而非强收敛在起作用。这个现象在守恒律方程和不可压流的高频模式下都很常见。6. 我踩过的几个坑以及临场能用的检查清单6.1 把 w 和 w* 弄反结论直接就反了最常见的翻车方式是在 c₀ 和 ℓ¹ 之间讨论收敛时写错空间身份。具体表现为想证 ℓ¹ 中某个序列弱收敛到零用的是“对每个 x ∈ c₀⟨x, f_n⟩ → 0”。这个论证本身没错但它证明的是弱星收敛到零不是弱收敛。而由于 ℓ¹ 有 Schur 性质弱收敛在这个空间里其实等价于范数收敛——也就是说你如果想证的是弱收敛基本上得证出范数收敛来否则就是错的。我自己的防错方法很简单在草稿纸最上面写一行字“现在讨论的是 X 上的序列检验用 X*这是弱收敛”。只要写下来这类错误会少一大半。6.2 忘掉“有界”前提判据就变成假命题前面提到的所有判据都带“有界”这个词而且它不是装饰。举个例子f_n n·1_{[0,1/n]} 在 L¹[0,1] 中每个 f_n 的范数都是 1看起来有界但如果我取 f_n n·1_{[0,1/n]} 于 L² 里那 ‖f_n‖₂ √n → ∞无边界的序列在弱拓扑下的行为完全不可控因为弱拓扑本身太弱一个无界的序列可以让任何论证都失效。有一个我觉得很好用的直觉弱收敛在无穷维空间里是一种非常弱的约束它只能约束有限多个线性泛函的取值所以必须靠有界性来“补足”约束力。没有有界性你甚至不能保证弱极限有界。6.3 序列和网的区别不可度量化时别乱写弱拓扑和弱星拓扑一般不是度量拓扑。只有在 X* 可分离对应 X 的弱拓扑可度量化或 X 可分离对应 X* 上弱星拓扑在有界集上可度量化时你才能放心地用“序列”。在一般情形下紧性只保证网net的收敛抽“子列”这件事没有保障。好消息是实际应用中七八成的情况都满足可分离性L^p(Ω)、H₀¹(Ω)、C[0,1]、ℓ^p 都是可分离的。坏消息是 ℓ^∞、L^∞、B(H)有界算子空间不可分离在这些空间上用序列语言要非常谨慎。特别是 B(H)它是某个空间的对偶有弱星拓扑但 H 不可分离时如果 H 是可分离 Hilbert 空间B(H) 的对偶是迹类算子空间情况稍好弱星拓扑的可度量化会打折扣。值得一提的还有 Eberlein–Šmulian 定理它说在 Banach 空间里弱紧和弱序列紧是一回事。所以凡是讨论弱拓扑不是弱星你都可以放心用序列语言。这条定理在写证明时省了很多心。6.4 一份我实际会用的检查清单最后把上面所有经验压成一张表做题或者写证明前扫一遍能省掉八成返工。检查项要问的问题出错的典型后果空间身份序列住在 X 还是 X*把弱星收敛当成弱收敛自反性X 自反吗误以为两者等价有界性序列有界吗怎么证的判据失效极限不存在检验集合验证的泛函张成在 X* 中稠密吗验证充分但不构成证明极限交换有没有非线性项要过极限结论完全错误可度量化能否用序列语言不可分离空间里的证明不严谨范数比较极限范数与 liminf 的关系用对了吗存在性证明的最后一步断链唯一性极限唯一吗抽子列得到的极限论证不闭合关于“极限唯一”还有一条等式特别好用我几乎每篇证明里都要检查它一遍若 x_n ⇀ x 且 ‖x_n‖ → ‖x‖在一致凸空间ℓ^p, 1 p ∞L^p 同理Hilbert 空间里就能升级为 x_n → x。这条等式我在处理非线性问题时就靠它把弱收敛升级成强收敛。而在 L¹ 或者 ℓ¹ 里这条路走不通得像前面那样换用别的工具。这篇笔记我整理的这些反例和套路基本上是每次复习都会重新过一遍的内容。真正把弱收敛和弱星收敛学明白的标志不是能背出定义而是拿到一个陌生空间里的陌生序列能先判断该用哪把尺子、再去挑一个照妖镜泛函验证真伪。练到那个程度后面变分法和 PDE 里的存在性证明就变成了一堆可以机械写完的步骤剩下的精力都可以花在真正难的能量估计上。