伴随函子(Adjoint Functors)

阶段3.5 · 范畴论进阶 · 第5章 | 预计学习时间: 4 小时 | 难度: 🟡 进阶

📋 前置知识

"伴随(adjunction)"是范畴论里最优雅、也最常用的概念之一。Saunders Mac Lane 说过一句被引用到泛滥的话:

"Adjoint functors arise everywhere." —— 伴随函子无处不在。

本章的目标不是把伴随讲完——那要一本书——而是让你认出它,记住它的形状,并在层、概形、神经网络里都能识别出它的脸。

1. 伴随对的定义

伴随(Adjunction)

设 $F: \mathcal{C}\to\mathcal{D}$ 与 $G: \mathcal{D}\to\mathcal{C}$ 是两个函子。称 $F$ 与 $G$ 构成一对伴随,记 $F\dashv G$($F$ 是左伴随,$G$ 是右伴随),若有自然同构 $$ \mathrm{Hom}_{\mathcal{D}}(F(A),\, B) \;\cong\; \mathrm{Hom}_{\mathcal{C}}(A,\, G(B)) \qquad (\text{对任意 } A\in\mathcal{C},\, B\in\mathcal{D}), $$ 且该同构在 $A$ 与 $B$ 上都是自然的。

直观:把 $A$ 通过 $F$ "翻译"到 $\mathcal{D}$ 再连到 $B$,和把 $B$ 通过 $G$ "翻译"回 $\mathcal{C}$ 再被 $A$ 连,给出同样多的态射

图解 1:伴随对 $F\dashv G$ 的 Hom 集同构

$\textcolor{5d6d7e}{F\dashv G}$:两个范畴之间"互相换算"的 Hom 集同构
范畴 $\textcolor{1e5fa8}{\mathcal{C}}$
$\textcolor{1e5fa8}{A}$
$\textcolor{b85c10}{G(B)}$
$\textcolor{1e5fa8}{\tilde f: A\to G(B)}$
范畴 $\textcolor{1d7a45}{\mathcal{D}}$
$\textcolor{1e5fa8}{F(A)}$
$\textcolor{b85c10}{B}$
$\textcolor{1d7a45}{f: F(A)\to B}$
$\textcolor{1e5fa8}{F}$
$\textcolor{b85c10}{G}$
$\textcolor{8e44ad}{F\dashv G}$
自然同构:$\textcolor{6b3d8a}{\mathrm{Hom}_{\mathcal{D}}(F(A), B)\;\cong\;\mathrm{Hom}_{\mathcal{C}}(A, G(B))}$  —— "在 $\textcolor{6b3d8a}{\mathcal{D}}$ 中数 $\textcolor{6b3d8a}{F}$-像到 $\textcolor{6b3d8a}{B}$ 的态射 = 在 $\textcolor{6b3d8a}{\mathcal{C}}$ 中数 $\textcolor{6b3d8a}{A}$ 到 $\textcolor{6b3d8a}{G}$-像的态射"

2. 经典伴随例子

2.1 自由 ⊣ 遗忘(Free ⊣ Forgetful)

所有的"自由对象"——自由群、自由模、自由幺半群、自由 $R$-代数——都是遗忘函子的左伴随。这是伴随最常见、也最直观的来源。

例 1:自由群 ⊣ 遗忘

$F: \mathbf{Set}\to\mathbf{Grp}$ 把集合 $S$ 送到自由群 $F(S)$;$U: \mathbf{Grp}\to\mathbf{Set}$ 把群忘记成集合。则 $$ \mathrm{Hom}_{\mathbf{Grp}}(F(S), G)\;\cong\;\mathrm{Hom}_{\mathbf{Set}}(S, U(G)). $$ 解读:定义一个群同态 $F(S)\to G$ 等价于给 $S$ 中每个生成元指派一个 $G$ 中的元素——和"无关系约束"完全一致。

图解 2:自由-遗忘伴随的具体例子

$\textcolor{5d6d7e}{F: \mathbf{Set}\to\mathbf{Grp}}$  ⊣  $\textcolor{5d6d7e}{U: \mathbf{Grp}\to\mathbf{Set}}$
$\textcolor{1e5fa8}{\mathbf{Set}}$ 中
$\textcolor{1e5fa8}{a}$
$\textcolor{1e5fa8}{b}$
$\textcolor{1e5fa8}{S = \{a, b\}}$
$\textcolor{6b3d8a}{\mathbf{Grp}}$ 中:自由群
$\textcolor{2c3e50}{F(S) = \langle a, b\rangle = }$
$\textcolor{2c3e50}{\{e, a, b, ab, ba, a^{-1}b, }$
$\textcolor{2c3e50}{aba^{-1}, b^{-1}aba^{-1}, \ldots\}}$
所有无约简关系的字
$\textcolor{6b3d8a}{F(S)}$
$\textcolor{b85c10}{\mathbf{Set}}$ 中:$\textcolor{b85c10}{U(F(S))}$
忘掉群运算
只保留底层集合
(仍是可数无限)
$\textcolor{1e5fa8}{F}$
$\textcolor{b85c10}{U}$
单位 $\textcolor{8e44ad}{\eta_S: S\hookrightarrow U(F(S))}$(生成元嵌入)

2.2 张量 ⊣ Hom

例 2:$(-\otimes_R M) \dashv \mathrm{Hom}_R(M, -)$

在 $R$-模范畴中,对固定的 $R$-模 $M$,有 $$ \mathrm{Hom}_R(A\otimes_R M,\, B)\;\cong\;\mathrm{Hom}_R(A,\, \mathrm{Hom}_R(M, B)). $$ 这就是Hom-tensor 伴随。它的"咖哩化"风味——把双线性映射改写成"先吃一个,再吐出一个一元映射"——和 lambda 演算中的 currying 是同一件事。

2.3 直接像 ⊣ 逆像(代数几何核心)

图解 3:直接像-逆像伴随 $f^{-1}\dashv f_*$

$\textcolor{5d6d7e}{f: X\to Y}$ 在层范畴上诱导一对伴随 $\textcolor{5d6d7e}{f^{-1}\dashv f_*}$
$\textcolor{1e5fa8}{X}$
$\textcolor{b85c10}{Y}$
$\textcolor{5d6d7e}{f}$
$\textcolor{1e5fa8}{\mathbf{Sh}(X)}$ — $\textcolor{1e5fa8}{X}$ 上的层
逆像层 $\textcolor{2c3e50}{f^{-1}\mathcal{G}}$
"把 $\textcolor{2c3e50}{Y}$ 上的层
沿 $\textcolor{2c3e50}{f}$ 拉回到 $\textcolor{2c3e50}{X}$"


$\textcolor{2c3e50}{f^{-1}\mathcal{G}(U) = }$
$\textcolor{2c3e50}{\varinjlim_{V\supseteq f(U)} \mathcal{G}(V)}$
$\textcolor{b85c10}{\mathbf{Sh}(Y)}$ — $\textcolor{b85c10}{Y}$ 上的层
直接像层 $\textcolor{2c3e50}{f_*\mathcal{F}}$
"把 $\textcolor{2c3e50}{X}$ 上的层
推前到 $\textcolor{2c3e50}{Y}$"


$\textcolor{2c3e50}{f_*\mathcal{F}(V) = \mathcal{F}(f^{-1}V)}$
$\textcolor{1e5fa8}{f_*}$(右伴随)
$\textcolor{b85c10}{f^{-1}}$(左伴随)
$\textcolor{8e44ad}{f^{-1}\dashv f_*}$

伴随同构

对 $\mathcal{F}\in\mathbf{Sh}(X)$,$\mathcal{G}\in\mathbf{Sh}(Y)$: $$ \mathrm{Hom}_{\mathbf{Sh}(X)}(f^{-1}\mathcal{G},\, \mathcal{F}) \;\cong\; \mathrm{Hom}_{\mathbf{Sh}(Y)}(\mathcal{G},\, f_*\mathcal{F}). $$ 在概形理论中,"诱导环映射 → 概形态射"、"模层的拉回与推前"……几乎所有"几何 ↔ 代数"对应都是这条同构的化身。

3. 单位 $\eta$、余单位 $\varepsilon$ 与三角恒等式

单位与余单位

给定 $F\dashv G$,存在两个自然变换:

$\eta$ 是 $\mathrm{id}_A$ 对应 $A\xrightarrow{\eta_A} G(F A)$;$\varepsilon$ 是 $\mathrm{id}_{F A}$ 对应 $F(G B)\xrightarrow{\varepsilon_B} B$ 的"伴随翻译"。

图解 4:三角恒等式(Zig-zag identities)

两条等式称为"zig-zag"——拉直一条折线
三角恒等式(1):$\textcolor{1e5fa8}{\varepsilon F\circ F\eta = \mathrm{id}_F}$
$\textcolor{1e5fa8}{F}$
$\textcolor{6b3d8a}{FGF}$
$\textcolor{1e5fa8}{F}$
$\textcolor{1e5fa8}{F\eta}$
$\textcolor{1e5fa8}{\varepsilon F}$
$\textcolor{5d6d7e}{\mathrm{id}_F}$
三角恒等式(2):$\textcolor{b85c10}{G\varepsilon\circ \eta G = \mathrm{id}_G}$
$\textcolor{b85c10}{G}$
$\textcolor{6b3d8a}{GFG}$
$\textcolor{b85c10}{G}$
$\textcolor{b85c10}{\eta G}$
$\textcolor{b85c10}{G\varepsilon}$
$\textcolor{5d6d7e}{\mathrm{id}_G}$
"先升后降"等于原地不动——这正是伴随性的两条等价表述(同伦于 Hom 同构)

4. 伴随与(余)极限:RAPL / LAPC

RAPL (Right Adjoints Preserve Limits)

若 $G$ 有左伴随 $F$,则 $G$ 保持所有已存在的极限: $$ G\bigl(\varprojlim D\bigr)\;\cong\;\varprojlim (G\circ D). $$ 对偶地:LAPC(Left Adjoints Preserve Colimits)—— 左伴随保持余极限。

为什么直觉上是对的?因为 $\mathrm{Hom}(A, -)$ 自身保持极限,而伴随同构 $\mathrm{Hom}(F-, B) = \mathrm{Hom}(-, GB)$ 把 $G$ "翻译"成 $\mathrm{Hom}$ 函子,由此继承极限保持性。

图解 5:RAPL —— 右伴随保持积

右伴随 $\textcolor{5d6d7e}{G}$ 把 $\textcolor{5d6d7e}{\mathcal{D}}$ 中的积 $\textcolor{5d6d7e}{A\times B}$ 送到 $\textcolor{5d6d7e}{\mathcal{C}}$ 中的积 $\textcolor{5d6d7e}{GA\times GB}$
$\textcolor{1d7a45}{\mathcal{D}}$("在 $\textcolor{1d7a45}{G}$ 那一边")
$\textcolor{1d7a45}{A\times B}$
$\textcolor{1d7a45}{A}$
$\textcolor{1d7a45}{B}$
$\textcolor{1d7a45}{\pi_1}$
$\textcolor{1d7a45}{\pi_2}$
$\textcolor{b85c10}{G}$(应用)
右伴随
$\textcolor{1e5fa8}{\mathcal{C}}$("在 $\textcolor{1e5fa8}{F}$ 那一边")
$\textcolor{1e5fa8}{G(A\times B)}$
$\textcolor{6b3d8a}{\cong\, GA\times GB}$
$\textcolor{1e5fa8}{GA}$
$\textcolor{1e5fa8}{GB}$

例 3:从 RAPL 看古典定理

5. 单子(Monad):伴随的"自传"

由伴随诱导的单子

每对伴随 $F\dashv G$ 都自动给出一个单子 $(T, \eta, \mu)$,其中

满足结合律 $\mu\circ T\mu = \mu\circ \mu T$ 和单位律 $\mu\circ \eta T = \mu\circ T\eta = \mathrm{id}$。

例 4:常见单子

6. 生活实例:免费试用 ⊣ 付费订阅

用户世界想成 $\mathbf{User}$,会员世界想成 $\mathbf{Member}$。

7. 练习

练习 1(自由阿贝尔群伴随)

自由阿贝尔群 $\mathbb{Z}[-]: \mathbf{Set}\to\mathbf{Ab}$ 与遗忘 $U: \mathbf{Ab}\to\mathbf{Set}$ 构成伴随。验证伴随同构,并写出单位 $\eta_S$ 与余单位 $\varepsilon_A$ 的显式公式。

提示

$\eta_S(s) = [s]\in \mathbb{Z}[S]$;$\varepsilon_A: \mathbb{Z}[U(A)]\to A$ 定义为 $\sum n_a [a]\mapsto \sum n_a\cdot a$("求值")。三角恒等式验证略。

练习 2(离散 ⊣ 遗忘 ⊣ 平凡)

$\mathbf{Set}$ 与 $\mathbf{Top}$ 之间有三个函子:$D$(赋予离散拓扑)、$U$(遗忘拓扑)、$T$(赋予平凡拓扑)。证明 $D\dashv U\dashv T$。

提示

连续映射 $D(S)\to X$ 任意(无约束),等价于集合映射 $S\to U(X)$;连续映射 $X\to T(S)$ 任意,等价于集合映射 $U(X)\to S$。

练习 3(RAPL 一例)

用 RAPL 证明:$\mathrm{Hom}(X, \prod_i A_i) \cong \prod_i \mathrm{Hom}(X, A_i)$。

练习 4(伴随的唯一性)

若 $F$ 同时有两个右伴随 $G, G'$,证明 $G\cong G'$(自然同构)。

提示

对所有 $A,B$:$\mathrm{Hom}(A, GB) \cong \mathrm{Hom}(FA, B) \cong \mathrm{Hom}(A, G'B)$,自然于 $A$ → 由 Yoneda 得 $GB\cong G'B$,自然于 $B$。

练习 5(具体的 Hom-tensor)

设 $M = \mathbb{Z}/2$ 作为 $\mathbb{Z}$-模。计算 $\mathbb{Z}\otimes_\mathbb{Z} M$ 与 $\mathrm{Hom}_\mathbb{Z}(M, \mathbb{Q}/\mathbb{Z})$,并验证伴随同构在 $A = \mathbb{Z}, B = \mathbb{Q}/\mathbb{Z}$ 上的具体含义。