层(sheaf)是现代代数几何的核心语言。它的直觉极其自然:把局部数据(定义在开集上的函数、向量场、微分形式……)组织成一个全局结构,并要求"局部相容的数据可以唯一粘合成全局的"。这像什么?想象全国天气预报网络——每个气象站只观测本地区域,但只要相邻站的数据在重叠区一致,就能拼成完整的全国天气图。
"层 = 能从局部粘合成全局的数据系统。"
1. 预层(Presheaf)
预层的定义
设 $X$ 为拓扑空间。$X$ 上取值在范畴 $\mathbf{C}$(通常取 $\mathbf{Set}$、$\mathbf{Ab}$、$\mathbf{Ring}$)中的一个预层(presheaf)是一个反变函子: $$ \mathcal{F} : \mathrm{Open}(X)^{\mathrm{op}} \longrightarrow \mathbf{C}. $$
具体地:
- 对每个开集 $U \subseteq X$,指定一个对象 $\mathcal{F}(U) \in \mathbf{C}$,称为 $U$ 上的截面(sections)。
- 对每个包含 $V \subseteq U$,有限制映射(restriction)$\mathrm{res}_{U,V}: \mathcal{F}(U) \to \mathcal{F}(V)$。
- $\mathrm{res}_{U,U} = \mathrm{id}$;若 $W \subseteq V \subseteq U$,则 $\mathrm{res}_{U,W} = \mathrm{res}_{V,W} \circ \mathrm{res}_{U,V}$。
记 $s|_V := \mathrm{res}_{U,V}(s)$,即截面 $s \in \mathcal{F}(U)$ 限制到子开集 $V$ 上的值。
生活比喻:把 $X$ 想象成中国地图,每个省是一个开集 $U$。$\mathcal{F}(U)$ 就是"$U$ 区域内的温度分布函数集"。限制映射 = 把全省的温度函数截取到某个城市。预层只管分配数据,不管"重叠区数据是否一致"。
图解 1:开集上的截面与限制映射
2. 层条件(Sheaf Condition)
预层只要求"数据能限制",但层还要求两个额外条件——它们保证"局部数据能唯一粘合成全局数据":
层的公理
预层 $\mathcal{F}$ 是层(sheaf),若对 $X$ 中任意开集 $U$ 及其任意开覆盖 $\{U_i\}_{i \in I}$(即 $U = \bigcup_i U_i$),下列两条成立:
- (相容性 / Locality)若 $s, t \in \mathcal{F}(U)$ 满足 $s|_{U_i} = t|_{U_i}$($\forall i$),则 $s = t$。
- (粘合 / Gluing)若给定一族 $s_i \in \mathcal{F}(U_i)$ 满足相容条件 $s_i|_{U_i \cap U_j} = s_j|_{U_i \cap U_j}$($\forall i, j$),则存在 $s \in \mathcal{F}(U)$ 使得 $s|_{U_i} = s_i$($\forall i$)。
两条合一:层条件等价于下述等化子(equalizer)序列是正合的: $$ \mathcal{F}(U) \xrightarrow{\;\;\mathrm{res}\;\;} \prod_i \mathcal{F}(U_i) \;\rightrightarrows\; \prod_{i,j} \mathcal{F}(U_i \cap U_j). $$
生活比喻:拼图。每块拼图是一个 $s_i$(局部截面),"相容"= 相邻拼图的边缘图案一致,"粘合"= 一致的拼图块可以唯一拼成完整画面。如果相邻的边不一致,就无法粘合——这不是层的数据(预层可能有这种"坏"情况)。
图解 2:层的粘合公理(视觉亮点)
3. 层的经典例子
例 1:连续函数层 $\mathcal{C}_X$
设 $X$ 为拓扑空间。定义 $\mathcal{C}_X(U) = C(U, \mathbb{R})$($U$ 上的实值连续函数集),限制映射为函数的限制。这是层:两个连续函数在每块开集上相同 ⇒ 全局相同(相容性);局部连续函数若在重叠处吻合,则可以粘合成全局连续函数(粘合性)。
例 2:常值层 $\underline{A}_X$
给定集合(或群、环)$A$,定义 $\underline{A}(U) = \{$局部常值函数 $U \to A\}$。注意不是所有常数函数的集合——当 $U$ 不连通时,可在不同连通分量取不同值。
例 3:结构层 $\mathcal{O}_X$
在代数几何中最重要的是结构层:给定代数簇 $X$,$\mathcal{O}_X(U)$ 是 $U$ 上的正则函数(regular functions)。这个层"记住"了 $X$ 的代数结构——不同的结构层给出不同的代数簇。
反例:有界函数的"预层而非层"
令 $\mathcal{B}(U) = \{f: U \to \mathbb{R} \mid f \text{ 有界}\}$。这只是预层!因为每个 $f_i$ 在各自 $U_i$ 上有界,粘合后的全局 $f$ 在 $U = \bigcup U_i$ 上可能无界。例如在 $\mathbb{R}$ 上取 $U_i = (i-1, i+1)$,$f_i(x) = x$,每个有界但粘合后为 $f(x) = x$(无界)。
4. 层化(Sheafification)
给定一个预层 $\mathcal{F}^{\mathrm{pre}}$,总存在一个层 $\mathcal{F}^{\mathrm{sh}}$ 以及预层态射 $\theta: \mathcal{F}^{\mathrm{pre}} \to \mathcal{F}^{\mathrm{sh}}$,满足如下泛性质:任何从 $\mathcal{F}^{\mathrm{pre}}$ 到层的态射都唯一地穿过 $\theta$。
层化的泛性质
层化函子 $(-)^{\mathrm{sh}}$ 是从预层范畴到层范畴的左伴随: $$ \mathrm{Hom}_{\mathrm{Sh}}(\mathcal{F}^{\mathrm{sh}}, \mathcal{G}) \;\cong\; \mathrm{Hom}_{\mathrm{PSh}}(\mathcal{F}^{\mathrm{pre}}, \mathcal{G}). $$ 直觉:层化 = "强制执行粘合公理"的最小修补。
图解 3:层化过程
图解 4:层条件的等化子序列
5. 练习
练习 1:验证连续函数层
证明 $\mathcal{C}_X(U) = C(U, \mathbb{R})$ 满足层条件(相容性 + 粘合性)。提示:连续函数在开集上由值唯一决定。
练习 2:有界函数不是层
给出具体的开覆盖和相容的有界截面族,使得粘合后的全局截面无界。
提示
取 $X = \mathbb{R}$,$U_n = (-n, n)$,$f_n(x) = x$(在 $(-n,n)$ 上有界)。粘合后 $f(x) = x$ 在 $\mathbb{R}$ 上无界。
练习 3:常值预层 vs 常值层
设 $A = \mathbb{Z}$,$X$ 为不连通的空间(如两个点 $\{0, 1\}$ 带离散拓扑)。比较"常值预层"$\mathcal{F}^{\mathrm{pre}}(U) = \mathbb{Z}$(对所有非空 $U$)和"常值层"$\underline{\mathbb{Z}}(U)$。它们何时不同?
练习 4:层化的构造
描述层化的"两步构造":先做分离化(使得相容性成立),再做粘合完备化。用前面的有界函数预层作为例子说明每一步做了什么。