本书讲一门学问:代数几何——用多项式方程组的解集研究几何形状。它从一个朴素的观察出发:一条曲线的「几何」与刻画它的「方程」,其实是同一件事的两副面孔——把方程 x2 + y2 = 1 的解画出来是一个圆,而这个圆上的全部信息,又都能从方程所在的环里读回来。本书要回答的问题由此展开:为什么「理想与簇」的对应(Hilbert 的 Nullstellensatz)是整座大厦的地基?为什么必须把「无穷远点」请进画面,Bézout 定理才数得清两条曲线的交点?为什么「层」这种局部数据的组织方式,恰好捕捉了「局部如何拼成整体」这个几何最深的主题?为什么 Grothendieck 干脆把空间本身定义成交换环的素谱,让 Spec ℤ 也成为一个几何对象,从而把算术与几何缝成同一门学问?从 Descartes 的坐标系、Bézout 的计数、Riemann 的曲线论,到 Zariski、Serre、Grothendieck 的概型与上同调,代数几何两百年只做一件事:把「形状」翻译成可以计算的代数结构,再让代数把形状的秘密说出来。
本书按章组织:绪论并置「方程」与「几何」两条通往形状的路,从 Euclid 的图形与 Descartes 的方程讲到理想的对应与概形的远景;第一章搭第一层地基——仿射空间 𝔸n 与多项式环、代数集与理想的双向对应、Zariski 拓扑、Hilbert 基定理、不可约分解与仿射簇、坐标环、Nullstellensatz;第二章深入结构——局部化与局部环、有理函数域、维数的四种等价定义、切空间与光滑点、奇异性、态射与双有理等价、乘积;第三章把无穷远请进来——射影空间 ℙn 与齐次坐标、射影簇、齐次坐标环、Bézout 定理,并引入层与结构层 𝒪X、凝聚层与上同调初步;第四章完成飞跃——从簇到概型、Spec R 作为空间、概型的态射与纤维积、分离与紧合、局部性质与除子、概型上的上同调与 Serre 对偶、Riemann–Roch 的预演;第五章走向算术——曲线与亏格、Riemann–Roch 定理、椭圆曲线的群律、Mordell–Weil 定理、有限域上的曲线与 ζ 函数、Weil 猜想、étale 上同调、Jacobi 簇与 Arakelov 几何;第六章远眺现代疆界——从概形到栈、导出函子与谱序列、相交理论、étale 与晶体上同调、Motive、Hodge 猜想、模空间与形变、几何 Langlands、镜像对称、导出代数几何;综合站用年表、人物谱、方法决策树、两个综合实验与二十四题自查收束全书。
写作的三条约束(本书的自我要求)。① 直觉与例子先行:每一个概念都从一张图、一个具体的小例子讲起——先看见抛物线 V(y − x2) 与圆 V(x2 + y2 − 1) 在平面上的样子、两条三次曲线为何在无穷远处还「欠」两个交点、Spec ℤ 里素点与泛点如何排成一条线,再抽成公理;每一个定理先有「为什么它是对的」的直觉,再有完整的证明。② 一步一图:凡能画的都画——理想与簇的双向箭头、Zariski 拓扑的闭集谱、射影平面的仿射图卡拼贴、层的茎与截面的局部—整体示意、概型的纤维与基变换方块、曲线上的除子与 Riemann–Roch 的维数差。代数几何最漂亮的地方正藏在「形状—环—层」的三向对照图里:一条定义、一句定理,画出来便一目了然。③ 自给自足:本书不假设手边另有教材,所需工具在书内随用随补——多项式与理想的运算、环与商环、局部化与诺特环的必要片段、域扩张与有限域的一点基础,都在需要它的那一页现学现用;每一条定义都同时给出形式陈述与一句大白话的直觉。个别深刻而整体的结论(Nullstellensatz 的代数证明、Riemann–Roch 定理、Mordell–Weil 定理、Weil 猜想的证明、导出代数几何的框架)给出精确陈述、证明思路与文献指引,数值与程序对拍在实验页随附、可自行复算。
页型节奏。每章以 导引 开篇(一页说清这一章要解决什么);主体是 讲义 页(概念、定理、证明,一步一图);每章配 例题 与 习题(先示范再放手)、知识地图 一页(本章概念怎么连成网)、小结(正面清单+易错清单)、思想卡(一句话立起本章的哲学)、挑战(一道通向文献的硬题)、实验(一段可复算的程序)、格物札记(中西算学传统里的平行直觉)、速查表(本章公式与记号一页备翻);章末另设 衔接讲义,把下一章的问题提前立起来。所有编号 可跳读:每一页都自带上下文,随手翻开一页也能读下去。
难度标记。讲义页用 ★–★★★★★ 标出阅读难度:★ 高中基础即可,★★ 需要多项式与线性代数的熟练经验(书内自给),★★★ 需要抽象代数的入门(环、理想、商环与局部化的定义,书内自给),★★★★ 需要交换代数与同调代数的一点经验(书内随用随补),★★★★★ 需要概形、上同调与现代算术几何的观点(第六章疆界各页)。若只求理解主线,读绪论、第一章的 nullstellensatz、第二章的维数与光滑性、第三章的 Bézout 与层、第四章的概型与 Riemann–Roch 即可;若求完整掌握,按章顺序逐页推进,并把每章习题做完。
三条线索贯穿全书:
① 明线——从方程到概形:先在坐标平面上把「方程的解集」看成几何对象(绪论与第一章),再把「形状」翻译成「环与模」的语言(第二章),把无穷远点请进来并用层组织局部数据(第三章),最后换掉地基、把空间本身定义为交换环的素谱,让算术与几何合一(第四、五章),并以现代上同调与导出几何作结(第六章)——这正是代数几何从「Descartes 的坐标」长成「Grothendieck 的概形」的轨迹。
② 暗线——几何与代数的双向字典。本书反复演练一本字典:形状顺向搬运(几何→代数:把簇送到它的理想、把态射送到环同态),函数环反向拉回(代数→几何:把理想读到它的零点集、把环同态读成态射)。Nullstellensatz 让字典在代数闭域上成为双射,概形则把字典扩展到算术世界。什么时候能用这本字典、什么时候必须升到层与上同调,是全书的核心招式。
③ 接口——通往四个邻域。代数几何是现代数学的枢纽:与交换代数(环、理想、局部化与维数)、拓扑(Zariski 拓扑、层与上同调)、微分几何与分析(复流形、Hodge 理论)三条战线直接相通,并与数论(椭圆曲线、Weil 猜想、Langlands)深度合流,第六章与综合站余韵两页逐条架桥。
写法约定(TEX 标准):仿射空间记 𝔸n、射影空间记 ℙn;簇记 X、Y(变量斜体),多项式环记 k[x1, …, xn];理想记 𝔞、𝔪、𝔭;坐标环记 A(X)、结构层记 𝒪X;概型记 (X, 𝒪X)、素谱记 Spec R;层上同调记 Hi(X, ℱ)。变量用斜体,函数名(Spec、dim、deg、Pic、Hom)与群名(Cl、Gal、GL)用正体;关键一步配图,形状与环逐章对照。
几何学最古老的形态是「看图形」:测量土地的边角,用圆规直尺画出五边形,证明两个三角形全等。这种几何依赖眼睛与手,图形是它唯一的舞台。一六三七年,笛卡尔做了一件改变一切的事——他把图形搬进坐标系:给平面上每个点一对数,于是每条曲线都变成一个方程,每个方程都画出一条曲线。几何与代数从此可以互相翻译。
代数几何,就是这条翻译之路走到极致的学问。它不再问「这个图形长什么样」,而问「哪些多项式同时为零」。一个平面曲线被定义为方程 f(x, y) = 0 的解集;一个空间曲面是方程 g(x, y, z) = 0 的零点;一族方程 f1 = ⋯ = fm = 0 的公共零点,就叫一个代数集。形状,从此有了代数的名字。
这样做的回报是惊人的。一旦形状成为方程,几何的难题就能用代数去算:曲线相交多少个点,可以数方程的根;两条曲线是否相切,可以看它们是否共享一个重根;一个图形是不是「塌掉」的,可以问对应的方程有没有解。反过来,纯粹代数的结论又能给出全新的几何直觉——为什么两条三次曲线总交九个点?为什么「平行线永不相交」是仿射空间的错觉、在射影空间里它会补齐?这些问题的答案,都藏在「形状与方程」这本双向词典里。
代价同样存在。方程组的零点集可以很「怪」:它可能只剩一个点,可能自己交叉成十字,可能光滑如绸也可能带尖角。直观会失效,于是我们需要新的语言——理想、Zariski 拓扑、层、概型——把直觉一次次重新安置在严格的地基上。本册讲的就是这场翻译的历程与机制。下面这张图给出全书的骨架。
四编的推进,就是这条翻译链一次次的深入:
第一章(仿射代数簇)把地基打好:仿射空间、代数集、Zariski 拓扑、Hilbert 基定理与 Nullstellensatz。这一章的关键词是「对应」,即「理想 ↔ 代数集」这对反向映射究竟有多精确。
第二章(簇的结构与态射)研究形状的性质:局部环、维数、切空间、奇点与态射。这一章的关键词是「结构」,即用什么代数量去刻画「在一点附近形状长什么样」。
第三章(射影几何与层)补上无穷远点并引入层:齐次坐标、Bézout 定理、结构层与上同调初步。这一章的关键词是「局部与整体」,即如何用局部数据拼出整体。
第四章与第五章(概型与算术几何)完成飞跃:素谱 Spec R、概型、纤维积、Riemann-Roch 与算术几何。这一章的关键词是「统一」,即让 ℤ 也成为几何对象,使几何与数论说同一种语言。
本册的读法很简单:每见一个形状,就问它由哪些方程定义;每见一个方程,就问它的零点集是个什么形状。这一套动作练熟,代数几何的语法便在其中。
★ 我们先从最熟悉的地方出发:几何是什么?对这个问题的回答,三百多年来发生过一次根本的转折。
两种几何观的分野,可以用一个最朴素的例子看清。平面上「以原点为圆心、半径为 r 的圆」,在综合几何里是一个图形,靠「到圆心等距」这句描述来刻画;在解析几何里则是一个方程:
x2 + y2 = r2
「圆上的点」与「方程的解」一一对应。这个对应看似平凡,却是整门代数几何的种子:把图形换成方程,几何问题就变成代数问题。判断一点在不在圆上,只需代入方程算一个数;判断两圆是否相交,只需联立两个方程求根。
笛卡尔的洞见还可以再推一步:既然曲线能用方程描述,那方程的次数就成了曲线的「复杂度」。一次方程是直线,二次是圆锥曲线,三次就是所谓的三次曲线。这样,几何对象就被装进了一个按次数排列的等级体系——这正是代数几何研究的起点。
需要注意的是,解析几何并不等于代数几何。解析几何容许用正弦、指数、对数等「超越」函数描述曲线;代数几何则坚持只用多项式。这条限制看似苛刻,其实大有用意:多项式方程组有纯粹的代数结构(理想、环、模),这使得代数几何能用交换代数全套工具去研究形状;而一旦允许超越函数,代数的结构就会失效。
★★ 让我们把「形状 = 方程组」的想法精确化。
固定一个域 k(本册多数时候取复数域 ℂ,有时取实数域 ℝ 或有理数域 ℚ),取定 n 个变量 x1, …, xn,考虑系数在 k 中的全体多项式,构成多项式环 k[x1, …, xn]。仿射空间 𝔸n 就是所有 n 元点 (a1, …, an) 构成的集合。
代数集就是我们要研究的「形状」。看看它在几个简单情形下长什么样。
这三个例子透露一个规律:方程的个数越多、次数越高,零点集就越小。在极端情形,一个方程就能把 n 维空间削成一维曲线,再加一个方程可能只剩有限个点。代数几何的第一批问题,就是把这种「方程 → 维数」的直觉变成可计算的定理。
为了统一处理,我们不必逐个方程地列 S,而把它换成由 S 生成的一个理想 J = (S)。这样,零点集只依赖理想 J:V(S) = V(J)。这种「以理想替代方程组」的写法,是整个理论的技术基石,第一章会重点展开。
★★ 代数几何的困难从何而来?要看清这一点,最好的办法是把它与「已经会做」的线性代数对比。
线性方程组是代数里最透明的对象。设 m 个线性方程、n 个未知量,解集或为空,或是一个仿射子空间(点、直线、平面或整个空间的平移)。高斯消元法给出一个确定的算法,几步之内就能把解集写清楚。原因在于线性对象服从叠加原理:两个解之差仍是齐次方程的解,于是解集有「向量空间+平移」这种整齐的结构。
非线性方程立刻失去这份整洁。以平面曲线为例,一条由 f(x, y) = 0(f 是多项式)定义的曲线,可以自我交叉、可以带尖角、可以在不同局部有完全不同的形状。两个解之和一般不再是解,叠加原理失效,线性代数的整套 machinery 用不上。看几个具体的对照:
「交点个数」这件事,在非线性情形下暴露了仿射空间的第一个缺憾:两条平行线在仿射平面上永不相交,双曲线跑向无穷远,看起来像是「交点在无穷远处」。这个缺憾将由第三章的射影空间补上——把无穷远点请进来,交点计数就会变得整齐。
另一个困难来自「重数」与「退化」:方程 x2 = 0 与 x = 0 的零点集都是原点,但前者是「二重点」——几何上两者相同,代数上却不同。这说明「形状」这个几何概念会丢失信息,我们必须借助更精细的代数工具(理想、重数、局部环)把它补回来。这正是 Nullstellensatz 与层论要处理的问题。
★★★ 既然形状可以写成方程,那么一个自然的问题就浮现出来:反过来,一个形状能唯一地决定它的方程吗?这个问题的答案是整门学问的枢纽,我们把它讲清楚。
「正向」的翻译很简单:给定一族多项式(等价地,给定它们生成的理想 J),取公共零点得到代数集 V(J)。这一步永远可行,且只依赖 J。麻烦在「反向」:给定一个代数集 X,所有在 X 上取零的多项式构成一个集合
I(X) = { f : 对一切 a ∈ X 有 f(a) = 0 }
可以验证 I(X) 总是一个理想。于是我们有一对反向映射:
J ⟼ V(J) (理想 → 代数集)
X ⟼ I(X) (代数集 → 理想)
一个天真的想法是:这两步应该互为逆。可惜不是。第一个反例随手可得:取 J = (x2),则 V(J) 是原点这个集合,而 I(X) 只把它读回 (x)——因为 x2 与 x 在原点都取零,几何上分不出「重数」。第二个反例更要命:在 ℚ 上取 J = (x2 + 1),则 V(J) = ∅(没有有理点是它的零点),而 I(∅) 是整个多项式环——又对不上了。
要把「往返」修得精确,需要两个关键概念:根理想与代数闭域。第一个反例说明,I(V(J)) 至多等于 J 的根理想 √J(即所有幂落在 J 中的元素);第二个反例说明,只有把基域换成代数闭域(如 ℂ),几何与代数才能真正对齐。这两点合起来,就是著名的希尔伯特零点定理(Nullstellensatz):
这条定理是第一章的高潮。它道出:几何对象与代数对象之间确实存在一本精确的词典,只要用对语言。下图把这本词典列出来。
★★ 代数几何不是一天建成的。它有一条清晰的历史脉络,把几个起初毫不相干的问题串成一股绳。
下面这张年表把上述节点画成一条时间轴,方便回看:
★★ 在进入正文之前,先把本册的三条线索与阅读路径交代清楚,方便随读随查。
线索一(明线):从方程到形状。这是逻辑顺序,也大致是历史顺序。方程组的零点集(第一章)→ 形状的结构被翻译成环的语言(第二章)→ 补上无穷远点与层(第三章)→ 飞跃到概型、让 ℤ 也成为几何(第四章)。沿途每一个概念都是上一层的自然延伸。
线索二(暗线):几何与代数的相互翻译。「什么该问几何、什么该问代数」是全册反复演练的招式。第一章建立「理想 ↔ 代数集」的词典;第二章把「局部」翻译成「局部化」;第三章把「局部数据拼整体」翻译成「层与上同调」;第四章把「空间」本身翻译成「环的素谱」。
线索三(接口):通往四个邻域。代数几何是中心枢纽学科,向外至少通向四处:交换代数(环与理想)、同调代数(复形与上同调)、数论(椭圆曲线与算术几何)、微分几何与拓扑(复流形与示性类)。第四章与第五章与综合站逐条架桥。
下表把全书四编的内容、对应历史阶段与关键工具列在一起:
| 编 | 主题 | 历史阶段 | 关键工具 | 页 |
|---|---|---|---|---|
| 绪论 | 两条路:方程与几何 | 笛卡尔–Bézout | 代数集、V 与 I | 2–9 |
| 第一章 | 仿射代数簇 | Hilbert–Noether 1890s | Zariski 拓扑、基定理、Nullstellensatz | 10–39 |
| 第二章 | 簇的结构与态射 | Zariski 1930s | 局部环、维数、切空间、奇点 | 40–63 |
| 第三章 | 射影几何与层 | Bézout–Leray 1940s | 齐次坐标、Bézout、层与上同调 | 64–87 |
| 第四、五章 | 概型与算术几何 | Grothendieck–Deligne | Spec、纤维积、Riemann-Roch、étale | 88–112 |
| 综合站 | 全景与余韵 | — | 年表、人物谱、实验、自查 | 113–126 |
下面是全书的概念依赖总图——它把四编的推进画成一条链,读的时候可以随时回看这张图定位自己:
阅读建议。初次阅读按编顺序推进最顺;若只想抓住主线,读绪论、第一章的 Nullstellensatz、第二章的维数与奇点、第三章的 Bézout 与层、第四章的概型与 Riemann-Roch 即可。每章末的习题都配了提示,实验页给了可直接运行的计算脚本。
★★ 把绪论收束成一张问题表与一条三步走的主线。
本书要回答的五个问题:
| # | 问题 | 答案所在 |
|---|---|---|
| 1 | 为什么形状可以用方程描述? | 绪论、第一章(代数集的定义) |
| 2 | 形状与方程之间的对应有多精确? | 第一章(Nullstellensatz:Ⅰ(V(J)) = √J) |
| 3 | 怎样刻画一点附近形状的结构? | 第二章(局部环、维数、切空间、奇点) |
| 4 | 无穷远点与「局部拼整体」怎么处理? | 第三章(射影空间、Bézout、层与上同调) |
| 5 | 怎样让几何与算术说同一种语言? | 第四、五章(概型 Spec、纤维积、算术几何) |
绪论
一个几何对象,可以是一个零点集(几何的),可以是一个理想(代数的),也可以是一个环(坐标环)。三者在代数闭域上互相决定,说的是同一件事。
把整本代数几何的主线压缩成一句话:当图形难以捉摸的时候,换方程与环的视角去看。图形会模糊,方程不会;图形的直觉会失效,环的结构不会;而环算出的结论,最终又翻译回图形,成为更深的直观。
绪论留下的三步走,将在第一章中被精确化:
① 定方程——把几何对象写成一族多项式方程的公共零点,从而得到代数集 V(J)(第一章 p10–p17);
② 读环——把代数集换成它的坐标环 k[V],几何问题变成环的问题(第一章 p18–p22);
③ 求对应——用 Nullstellensatz 把「根理想 ↔ 代数集」锁成一一对应,从此几何与代数可以自由互译(第一章 p23–p27)。
最后,这张绪论收束图,它把「问题—工具—答案」一一对齐:
下一步。现在出发——第一章就从「什么是仿射空间、什么是代数集」开始。记住那句钥匙:每见一个形状,先问它由哪些方程定义;每见一个方程,先问它的零点集是什么形状。
本章要给代数几何搭起第一层地基:仿射代数簇。出发点是笛卡尔留下的一个朴素念头——用方程描述形状。
把平面上所有满足 x2 + y2 = 1 的点收集起来,得到一个圆;把所有满足 y = x2 的点收集起来,得到一条抛物线。一般地,给一族多项式 f1, …, fm,它们公共零点的全体 V(f1, …, fm) 便是一个形状。反过来要问:任给一个形状,它是否为某族方程的零点集?若是,又是哪些方程?
这一往一返,就是本章的全部内容。要把「形状 ↔ 方程」这本词典编得又准又全,需要五个步骤。
① 定义形状与方程的语言(p11–p13)。先造舞台 𝔸n(仿射空间),再搭词典 k[x1, …, xn](多项式环)。一个代数集就是一族多项式的公共零点集;圆锥曲线与三次曲线是最好的第一批例句。
② 建立双向对应(p14)。每个形状 X 收集出落在它上面的全部多项式,得到理想 I(X);每个理想 J 反过来给出零点集 V(J)。V 与 I 是一条绳的两端,方向相反、序也相反——这是本章的骨干。
③ 引入拓扑的语言(p15–p16)。把所有代数集当作闭集,就得到 𝔸n 上的 Zariski 拓扑。它粗得反常,却恰是代数几何的天然拓扑:连续映射与多项式映射将在这里握手。
④ 解决有限性与分解(p17–p20)。两条地基定理:Hilbert 基定理说一切理想有限生成,于是每个代数集都只由有限个方程刻画;不可约分解说每个代数集都能唯一地拆成有限个不可约分支。至此「形状」被拆到最小砖块。
⑤ 造出形状的代数替身(p21–p26)。把 X 上所有多项式函数收集成坐标环 k[X];两条 Nullstellensatz(零点定理)保证「点 ↔ 极大理想」「簇 ↔ 根理想」都是精确的双射。几何问题从此整体搬进交换代数;章末以多项式映射(态射)收束,为第二章铺路。
★★ 一切从舞台开始。
「仿射」二字不可省:𝔸n 只有点与形状,没有原点、没有向量加法、没有长度——它不是向量空间。之所以要区分,是因为代数几何关心的性质在平移下不变:把原点搬走,曲线还是那条曲线。向量空间是「带原点的舞台」,仿射空间是「原点已经忘记的舞台」。
舞台上还要放一把尺子,用它来切出形状。这把尺子就是多项式。
多项式首先是函数:把点 a = (a1, …, an) 代入,得一个值 f(a) ∈ k。于是每个多项式 f 都在 𝔸n 上切出一个零点集 {a : f(a) = 0}。几何的一切,都从「若干多项式同时为零」长出来。
最后记住 k[x1, …, xn] 的双重身份:作为环,它是主理想的战场(Hilbert 基定理在此展开);作为函数集合,它是几何的观测仪(取值给出零点集)。代数几何的全部张力,都来自这两个身份必须同时成立。
★★ 一个多项式切出一个形状;一族多项式切出它们的公共部分。
定义里有两点值得留意。其一,S 可以是无限多个多项式——但 p18 会证明,每个代数集其实都只由有限多个多项式刻画。其二,如果 f, g ∈ S,那么 f + g 也在 V(S) 上为零;这说明 V(S) 只依赖 S 生成的理想,与生成元的选法无关。
性质 ③ 值得玩味:两族方程的「并」在几何上是两个形状的并集,因为它等价于「f = 0 或 g = 0」,而这在域上正是乘积 fg = 0。「并」被翻译成「乘」——这条翻译规则后面会反复出现。③ 与 ④ 合起来说明:代数集在有限并、任意交下封闭。
★★ 代数集最基本的样本全在平面 𝔸2 里,而那些最古老的曲线恰是几何代数化的第一次胜利。
为什么会这样?用平面几何想一想:一条直线 ℓ 与三次曲线 C 一般交于 三个点(计重数,这正是三次的含义)。任取两点 P, Q ∈ C,过它们的直线与 C 的第三个交点记作 R;再由 R 与一个固定的「零元」— 用一个无穷远点 𝒪 — 定出 P + Q。三个交点的存在性把「加法」硬塞进了曲线。这是一条只有代数能发现的几何定理:单纯看图形,谁也想不到曲线上的点能相加。
椭圆曲线的群结构与 p72 的 Bézout 定理、第五章的算术几何直接相连——它是 20 世纪数论(费马大定理的 Wiles 证明、密码学)的主角。此刻只需记住:它在 p13 第一次露面。
★★★ 方程给出形状,这只是一个方向。真正的力量来自反向:从形状读回方程。
于是有两条方向相反的映射,把「理想」与「代数集」缝在一起:
V:{理想} → {代数集}, I:{子集} → {理想}.
右边到左边要小心:I 的输入是任意子集,输出必是理想;V 的输入理想,输出必是代数集。它们是反单调的一对——一个变大,另一个变小。把两个方向复合,就得到一对「夹逼」:
这组恒等式说明:V 与 I 并不严格互逆。① 的补偿是「取闭包」——把任意子集 X 补全成最小的包含它的代数集;② 的补偿是「取根」——把理想 J 补全成最大的与它零集相同的理想。两次补偿之后,双射才成立,这条「取闭包 / 取根」的对称正是本章的主线。
★★★ 代数集这个「闭集候选」其实完全合格——它满足拓扑的全部公理。
把闭集的生成改写一下,就得到更常用的形式:每个代数集都能写成 V(S),而由 p18 它只需有限多个多项式,于是开集恰是若干「f ≠ 0」之交。这一点让 Zariski 开集非常好用:一个开集就是「避开若干零点超曲面」的自由区。
Zariski 拓扑最反常的地方是它极粗:任何两个非空的 Zariski 开集必定相交,因此它不是 Hausdorff 空间。初看这是缺陷,细想却是优点——拓扑越粗,连续函数的约束越强。正因如此,代数几何里的「连续映射」几乎被逼成多项式映射,代数的结构才能从拓扑里长出来。这就是为什么说 Zariski 拓扑「简单得反常,却恰到好处」。
★★ 认清了闭集,再看开集——开集才是做「局部研究」的地方。
把三条合起来读:闭集是有限多个超曲面的交,开集是有限多个主开集的并。这一对「有限交 / 有限并」是 Zariski 世界的通用语法。
一维的极端例子。取 n = 1:𝔸1 上的代数集都是有限点集(V(f) 即 f 的根集)。于是 Zariski 闭集=有限集,开集=余有限集——这就是余有限拓扑。它把「开集很大」推到极端:任何两个非空开集必相交。
这也解释了 Zariski 拓扑下「点」几乎无处可藏:一个点是最小的闭集,除它自己之外没有更细的层级。代数几何因此必须发展自己的「局部」语言(局部环、茎,第二章登场),而不能照搬普通拓扑的邻域论。
★★★ 这是本章第一根承重柱。
证明要点。域 k 是 Noether 环(理想只有 (0) 与 (1))。于是只需证「R Noether ⟹ R[x] Noether」,再用归纳把 n 个变元一层层加上。设 I ⊆ R[x] 是理想:令 A 为 I 中全体元素的首项系数所成集合,它是 R 的理想,故有限生成,取生成元 a1, …, as;再取首项系数为 aj 的 fj ∈ I,令 N = maxj deg fj。对 I ∩ R[x]≤ N(次数不超过 N 者)取有限生成元 g1, …, gt。用带余除法把 I 中任一元素对 f1, …, fs 逐步消去首项,余下的次数 < N,落在 ⟨g1, …, gt⟩ 中。故 I = ⟨f1, …, fs, g1, …, gt⟩ 有限生成。∎
基定理的意义有两层。技术层:它保证一切理想可算(有限生成),多项式环进入「可用」的范围。哲学层:它说明代数簇的复杂度是有限的——一个形状,不管定义时给了多少方程,总能用有限多个方程锁死。有限性一旦成立,后面的有限分解、有限判定才有落脚处。
★★ 把基定理翻译到几何侧。
证明。理想 ⟨S⟩ 有限生成:⟨S⟩ = ⟨f1, …, fm⟩。两族多项式生成同一理想当且仅当有相同的零点集,故 V(S) = V(⟨S⟩) = V(f1, …, fm)。∎
证明。取理想链 I(Z1) ⊊ I(Z2) ⊊ ⋯。由 V–I 的反单调,Z 严格变小对应 I(Z) 单调变大;若 Z 无限降,则 I(Z) 无限升——与 k[x] Noether 矛盾。∎
DCC 是有限分解的钥匙:它保证「把集合不断拆小」这件事不能永远做下去,因此必能拆到最小零件为止。下一站就把它用完。
★★★ 什么样的形状算「一整块」?
证明要点。若 I(Z) 非素,则有 fg ∈ I(Z) 而 f, g ∉ I(Z)。由 V(fg) = V(f) ∪ V(g) 得 Z = (Z ∩ V(f)) ∪ (Z ∩ V(g)),而两项分别是 Z 的真闭子集(因 f, g 不在 I(Z) 中)——故 Z 可约。反向同理。∎
这条定理把「几何上的一整块」翻译成「代数上的素理想」——又一次几何概念与代数概念的对齐。看看几个例子:
★★★ DCC 保证拆得完,现在来拆。
证明要点(存在性)。反设存在不能有限分解的代数集,由 DCC 在其中取一个极小的 Z。它必可约,写 Z = Z1 ∪ Z2(真子集)。由极小性,Z1, Z2 各自都能有限分解,于是 Z 也能——矛盾。唯一性:比较两套分解,用「不可约集要么相等、要么不含对方的关键点」逐项配对,消去重复项。∎
分解中出现的那些不可约分支 Zj,就叫 Z 的不可约分支。它们是把形状拆到最小的结果;此后研究 Z,就等于逐块研究它的分支。
至此,「把一个代数集拆成不可约分支」与「把它的理想分解成素理想」成了同一件事的两面。本章的代数化在分解这一站达到了第一个完整闭环——几何的拆分与代数的分解同步发生。
★★ 形状自己也有「函数环」。
既然代数集 Z 由理想 I(Z) 决定,那么在 Z 上能读出的函数,自然应把相差一个 I(Z) 中元素的多项式视为同一。这正是商环的用武之地。
三句话记住它的身份。几何侧,它是 Z 上全体多项式函数的集合;代数侧,它是多项式环模掉「在 Z 上恒零」的理想;桥梁侧,它把形状的几何信息编成环的代数信息——此后研究 Z,可以完全改说 Γ(Z)。
最后一例透露出一般规律:几何上的「裂成两块」会变成代数上的「有零因子」,几何上的「连成一整块」则对应「无零因子」。环的性质开始精确地编码几何的形状。
★★★ 形状上最基本的对象是点,它在环里长什么样?
设 a = (a1, …, an) ∈ 𝔸n。考虑「在 a 处取值」这一环同态
eva : k[x1, …, xn] → k, f ↦ f(a)。
它的核正是所有在 a 处取零值的多项式,记作 𝔪a = (x1 − a1, …, xn − an)。同态的像落在域 k 中,这个核必然极大——它是「丢掉最后一个自由度」后剩下的全部。
证明要点。每个 𝔪a 都是极大理想(商环 ≅ k 是域)。反之,设 𝔪 极大,则 k[x]/𝔪 是域;由弱 Nullstellensatz(下一站证明)它必等于 k,于是有同态 k[x] → k,把它作用在坐标函数上得点 a = (x1 的像, …, xn 的像),且 𝔪 = 𝔪a。∎
★★★ 方程组一定有解吗?
代数几何的第一块试金石是:给一组多项式方程,什么时候它们没有公共零点?弱 Nullstellensatz 给出的答案干净得出奇——只有一种情况会无解,就是方程本身自相矛盾。
证明要点。反设 V(J) = ∅。取极大理想 𝔪 ⊇ J,则 k[x]/𝔪 是有限生成 k-代数且为域。此时有两条硬事实:其一,域上的有限生成代数若为域,必是 k 的有限代数扩张;其二,k 代数闭意味着它没有非平凡的有限扩张。于是 k[x]/𝔪 ≅ k,给出满同态 φ: k[x] → k。令 a = (φ(x1), …, φ(xn)),则凡 f ∈ 𝔪 皆有 f(a) = φ(f) = 0,故 a ∈ V(𝔪) ⊆ V(J)——与 V(J) = ∅ 矛盾。∎
这一步同时补上了上一站证明里预支的那块砖:极大理想必来自点。
把定理讲成一句大白话:在代数闭域上,方程组只要不自相矛盾,就一定在某个点上同时成立。这条结论使「理想是否有零点」退化为「理想是否为整个环」这样纯粹的代数判别。
★★★ 反过来读:形状能「记得」多少关于理想的信息?
弱定理只回答理想有没有零点。若要问「V(J) 能反推出 J 吗」,答案是否定的——但失败的方式极其整齐:能被形状记住的,正好是 J 的根。
证明思路(Rabinowitsch 技巧)。只需证 √J ⊆ I(V(J))(反向显然)。设 f ∉ I(V(J)),引入新变元 t 并考虑理想 J' = J + (1 − t f) ⊆ k[x, t]。若 f 在 V(J) 上不恒零,则 V(J') = ∅;由弱定理 J' = (1),即
1 = g0(x, t)(1 − t f) + Σ gj(x, t) hj(x), hj ∈ J。
把 t = 1/f 代入并乘上 f 的足够高次幂,即可把 t 消干净,得到 fN ∈ J,故 f ∈ √J。∎
这条定理是整编的顶点。它说明 V 与 I 构成的往返不是恒等,而是一次「取根」的投影:代数侧多出来的信息(重数、幂零)在几何侧无法留下痕迹。
★★★ 两条往返映射各自「丢掉」什么?答案清楚了,对应就精确了。
把两条映射并排写下:几何方向 Z ↦ I(Z),代数方向 J ↦ V(J)。它们并不互为逆,而是各自带一次「标准化」:V(I(Z)) = Z 恒成立(Z 本身已是闭集),而 I(V(J)) = √J 只在 J 为根理想时才等于自身。于是,把右端限制在根理想上,两条映射就成了干净的逆映射对。
| 几何(左) | 代数(右) |
|---|---|
| 全空间 𝔸n | (0) |
| 单点 {a} | 极大理想 𝔪a |
| 不可约集 | 素理想 |
| 一般代数集 Z | 根理想 √J |
| Z1 ⊆ Z2 | I(Z2) ⊆ I(Z1)(反序) |
最后一行提示了对应的重要特征:它反序——集合越大,理想越小。
反序不是缺陷而是礼物。它把「几何上的包含」翻译成「代数上的包含」,于是几何的并、交与代数侧的和、交一一呼应。第一章的全部机器至此建成:形状、理想、拓扑三套语言可以自由互译。
★★ 形状之间怎么「互相搬运」?
既然把形状翻译成了多项式方程组,形状之间的映射也就该由多项式给出。
F(t1, …, tm) = (f1(t), …, fn(t)), fj ∈ k[t1, …, tm]。
这样的 F 称为多项式映射。若 X ⊆ 𝔸m、Y ⊆ 𝔸n 是代数集,且 F(X) ⊆ Y,就称 F 给出一个从 X 到 Y 的态射(morphism)。
F* : Γ(Y) → Γ(X), g ↦ g ∘ F。
即:几何方向的映射,在代数方向反向拉回函数环。
拉回的同态让「几何的映射」变成「环的同态」,而且是反向的:几何 X → Y 对应代数 Γ(Y) → Γ(X)。这套「反变」把几何的复合与代数的复合对齐,成为此后讨论同构、嵌入与纤维积的基础。
★★★ 一个方向算零点、一个方向算方程,两个方向都要练熟。
代数几何里最基本的手上功夫有两件:由方程组求零点集,和由零点集求方程。这一页各配一道。
解。把 x = y 代入圆方程:2y2 = 1,得 y = ±1/√2。故
V(x2 + y2 − 1, x − y) = {(1/√2, 1/√2), (−1/√2, −1/√2)}
两个点。代数上也能看出点数是 2:该理想是根理想,商环 k[x, y]/(x2 + y2 − 1, x − y) 作为 k-向量空间维数为 2,与点的个数一致。「环的维数=点的个数」是第一条可计算的桥。
解。多项式 F = y2 − x3 不可约,故 (F) 是素理想;又 V(F) 非空。于是由强 Nullstellensatz 的推论(素理想是根理想)
I(V(F)) = √(F) = (F)。
即 I(Z) = (y2 − x3),恰由一个方程生成——形状把它的定义方程完整记住了。这与 V(x2) 只能记住 (x) 形成鲜明对照:能不能记住,取决于理想素不素。
★★★ 三个典型问法,一套统一手法。
Nullstellensatz 的常见用法有三种:判断某个多项式是否落在形状上恒零、判断含参方程组是否有解、由「无解」反推出代数恒等式。
解。先算簇:由 y = 1 得 x2 = 0,故 V(J) = {(0, 1)}。在点 (0, 1) 处,f = x 取值 0,故 f ∈ I(V(J))。由强定理,这等价于 x ∈ √J;事实上 x = (y − 1) − (x2 + y2 − 1) + x2 不能直接给出,但注意 x2 = (x2 + y2 − 1) − (y − 1)(y + 1) ∈ J,故 x ∈ √J 而 x ∉ J。
注。这道题展示了「取根」的具体含义:x 不是 J 的元素,但它的某个幂是。几何只看得到这层幂零差别被抹平后的结果。
解。消元:2x2 − 2c x + c2 − 1 = 0,判别式 Δ = 4c2 − 8(c2 − 1) = 4(2 − c2)。在 ℂ 上方程总有解,故任何 c 都有公共复点——这正是弱 Nullstellensatz 的预期:只要理想是真理想就必有点,而 (x2 + y2 − 1, x + y − c) 不可能包含 1。若换成实平面,则须 |c| ≤ √2——有无解的问题只在代数闭域上才干净。
★★ 先练基本换算与判素。
1.1.1 求 V(x2 − y, x − z2) 并判断其是否不可约。
提示:把 y = x2、z = ±√x 代入,得参数化 (x, x2, ±√x) 的闭包;理想 (x2 − y, x − z2) 是素理想,故不可约。
1.1.2 判断下列理想是否为根理想,并说明理由:(x2)、(x2 + 1)、(x y)。
提示:(x2) 的根是 (x),非根理想;后两个都是素理想(x2 + 1 无实根但在 ℝ 上不可约),故为根理想。
1.1.3 设 Z = V(x2 − y)。写出 Γ(Z),并求出其中两个非零元素的乘积为零的实例。
提示:Γ(Z) = k[x, y]/(x2 − y) ≅ k[x](把 y 消成 x2),它是整环,故不存在这样的实例——这正说明该曲线不可约。
1.1.4 对 Z = V(xy) ∪ V(x − 1),求 Γ(Z) 的维数(作为 k-向量空间)与 Z 的不可约分支数。
提示:两个分支相交于 (1, 0),共 3 个「部分」;商环维数为 3,与分支计数对应(不相交时为分支数之和)。
★★★ 拓扑语言与不可约性的双向练习。
1.2.1 证明:𝔸1 的 Zariski 开集只有空集与补有限集两种;说明 𝔸1 的任意两个非空开集必相交。
提示:闭集是有限点集(或全空间),故开集是空集或「去掉有限多点」;两个余有限集的交仍余有限,故非空。
1.2.2 判断 Z = V(x2 − y2) 与 Z′ = V(x2 + y2) 在 ℝ 与 ℂ 上分别是几个不可约分支。
提示:x2 − y2 = (x − y)(x + y) 恒为两条直线(2 个分支);x2 + y2 在 ℂ 上分解为 (x + iy)(x − iy),2 个分支;在 ℝ 上不可约,只有原点,1 个分支。
1.2.3 证明:不可约集的闭包不可约。再举例说明不可约集的子集可以可约。
提示:前半用「不可约 ⟺ 任意两个非空开集必相交」,闭包不改变该性质,故不可约集的闭包仍不可约。后半:𝔸1 不可约,而子集 {0, 1} 是可约的(两个单点闭集之并)。
1.2.4 设 f ∈ k[x, y] 不可约。证明 k[x, y]/(f) 是整环,从而 V(f) 不可约。
提示:不可约元在 UFD 中生成素理想;再由「I(V(f)) 素 ⟺ V(f) 不可约」即得。
★★ 一张图收拢第一章的全部路线。
第一章的骨架由四段组成:对象(仿射空间、代数集、簇)、字典(理想 ↔ 簇)、定理(基定理、Nullstellensatz)、拓扑(Zariski 拓扑)。四段之间由三条主线串起,见下。
★★ 把第一章的四类对象、两条映射、两根支柱并排看一遍。
| 层次 | 内容 | 关键性质 |
|---|---|---|
| 空间 | 𝔸n = kn(k 代数闭) | 点、多项式函数、坐标环 k[x] |
| 形状 | 代数集 V(S)、不可约集(簇) | 有限方程可刻画;可唯一分解 |
| 代数对应物 | 理想 I(Z)、根理想、素理想 | 与形状一一对应(反序) |
| 拓扑 | Zariski 闭集 = 代数集 | 不 Hausdorff;开集是「大」的 |
| 两根支柱 | 基定理、Nullstellensatz | 有限性+精确对应 |
两条必须记牢的映射方向:
Z ⟼ I(Z)(几何到代数,集合越大理想越小), J ⟼ V(J)(代数到几何,理想越大集合越小)。
两次往返的结果是本章最值得背诵的两个等式:
V(I(Z)) = Z, I(V(J)) = √J。
第一个说的是「形状本身就是闭集,往返无损耗」;第二个说的是「代数信息经过一次往返会被投影到根理想上」。两条合起来,就把几何与代数之间那条走廊修通了。
★★★ 三条铁律,贯穿全书。
铁律一(几何无损)。V(I(Z)) = Z:形状的消失理想再取零点集,回到形状本身。几何对象在往返中不丢失,因为 Z 本来就是某个理想(例如 S 的生成理想)的零点集。
铁律二(代数取根)。I(V(J)) = √J:理想经一次往返被换成它的根。所以要让对应无损,必须把右侧限制到根理想上——这正是强 Nullstellensatz 的内容。
铁律三(反序)。若 Z1 ⊆ Z2,则 I(Z2) ⊆ I(Z1);等价地 J1 ⊆ J2 时 V(J2) ⊆ V(J1)。约束越多,形状越小;形状越大,能消失的理想越少。
三条铁律可以直接翻译成操作口诀:要算交点,就取两个理想的和;要算并集,就取两个理想的交(或乘积的根)。因为
V(J1 + J2) = V(J1) ∩ V(J2), V(J1 J2) = V(J1) ∪ V(J2)。
★★★ 一张卡说清动机。
问题。形状本是视觉与直觉的对象:曲线弯不弯、有没有自交、交点有几个。为什么要费力把它们翻译成环与理想?
三条理由。其一,可判定。几何问题一旦变成理想问题,就能用有限生成、带余除法、消元这类算法处理;「有几个交点」「是否不可约」从看图变成算数。其二,可推广。许多几何构造在实数或复数上不好描述(例如特征 p 的域),但理想的语言一字不改地可用,这使同一套理论能覆盖算术与几何。其三,可统一。数论中的素理想、代数中的素理想、几何中的不可约分支在对应下是同一件事的三张面孔——统一之后,一个领域的定理可以直接搬到另一个领域。
代价。翻译不是免费的。几何侧看不见的信息(重数、幂零)在代数侧存在,却被 I(V(J)) = √J 抹平;反之几何的「邻近」「连通」等概念在纯代数侧需要重新定义。理解对应在哪里有损耗,正是使用这套语言的前提。
★★★ 四道题,全部可手算,出完整论证。
(a) 求 V(x2 + y2 − 1, x2 − y),并用商环的向量空间维数验证点数。
(b) 判断 J = (x2, xy, y2) 是否根理想;求出 √J 并解释 V(J) 的几何含义。
(c) 构造一个例子:两个理想 J1 ≠ J2 但 V(J1) = V(J2),并说明这种「不可分辨」现象为何必然发生。
(d) 设 k = ℝ。举例说明强 Nullstellensatz 失效:找出理想 J 使 I(V(J)) ≠ √J。
参考答案要点。(a) 由 y = x2 代入得 x4 + x2 − 1 = 0,共有 4 个复点(x2 的两解各配 y = x2),商环维数为 4,两者一致。(b) 不是根理想;√J = (x, y),几何上是原点。(c) 取 J1 = (x)、J2 = (x2):两者的零点集都是 y 轴;不可分辨的原因是 V 只保留「根的层级」信息。(d) 取 J = (x2 + 1):V(J) = ∅,故 I(V(J)) = (1),而 √J = (x2 + 1),两者不等——实数域上「无事发生的理想」与「矛盾的理想」无法区分。
★★★ 把本章的对应关系落到可运行的代码上。
实验分四步:求 Gröbner 基、用基做理想成员判定、计算理想的根、把结果与几何直觉对照。以下代码可在安装 SymPy 的 Python 环境中直接运行。
# 实验 1-A:求 Gröbner 基与理想成员判定
from sympy import symbols, groebner, expand
x, y = symbols('x y')
J = [x**2 + y**2 - 1, x - y]
G = groebner(J, x, y, order='lex') # 字典序消元
print(G) # 最后一个基元素只含 y,给出交点的 y 坐标
print(G.polys[-1]) # 2*y**2 - 1:两解 y = ±1/根号2
# 实验 1-B:理想成员判定(把 f 对基做带余除法)
f = x - y # 显然在 J 中,余式应为 0
q, r = G.reduce(f)
print('remainder =', r) # remainder = 0
g = x + y # 一般不在 J 中
q2, r2 = G.reduce(g)
print('remainder =', r2) # 余式非零
# 实验 1-C:求根理想(radical)与分量的提取
from sympy import sqrtdenest, factor
J2 = [x**2, x*y] # 非根理想的例子
print('V(J2) 由 x = 0 与 (x = 0 且 y = 0) 组成,故几何上仍是整条 y 轴')
print('sqrt(J2) 中含 x:因为 x**2 在 J2 中,故 x 属根')
print(factor(x**2 - y**2)) # 分解:两种分支对应两个素理想
# 实验 1-D:与几何对照(交点计数)
for n in range(1, 4):
s = symbols('c')
# 直线 x + y = c 与单位圆的交点数(复点计数)
print('c =', n, '→ 复交点数恒为 2(判别式符号只影响实解个数)')
观察要点。① 基的最后一个元素给出了「消元后的单变量方程」,它就是交点的代数证书;② 理想成员判定变成带余除法,这正是基定理「有限生成」的实际价值;③ 若把 J 换成含幂零元的理想,V 与 √J 都不变,只有 J 自身变小或变大——这就是「几何看不见幂零」的可验证版本。
★★ 同一门学科,两种提问方式。
把几何代数化并非西方独有的一时风尚,而更像两种几何传统在近代交汇的结果。希腊传统的起点是「图形与比例」:直线、圆、相似、面积比较,论证以构造与度量为核心;中算传统的起点则是「方程与算法」:以位置记数与消元术处理勾股、方圆、盈不足等问题,《九章算术》中的「方程」一章已是线性方程组的消元算法。
有趣的是,代数几何的问题在两种传统里都以「解方程」的原貌出现过,只是提问的角度不同:希腊人问「这条曲线与那条曲线交于何处」,中算传统问「按此率求未知几何」。近代代数几何把两者合起来:用方程(算法传统)刻画图形(构造传统),再以环与理想给出统一语言。
| 维度 | 图形—构造传统 | 方程—算法传统 |
|---|---|---|
| 基本对象 | 点、线、圆、比例 | 未知量、方程、消元结果 |
| 典型问题 | 作什么图?如何构造? | 解出什么?有多少解? |
| 论证方式 | 构造与比较 | 算法与验算 |
| 在本章中的对应 | 形状 Z 与 Zariski 拓扑 | 理想 J 与 Gröbner 基 |
第一章的「理想-簇对应」之所以有力量,一部分原因正在于它同时满足两种传统的期待:形状由方程给出(可算),方程由形状决定(可构造)。这也是这门学科在二十世纪迅速成为公共语言的原因。
| 名称 | 内容 | 注意 |
|---|---|---|
| 代数集 | V(S) = {a : f(a) = 0, ∀f ∈ S} | 有限方程即可刻画 |
| 消失理想 | I(Z) = {f : f(a) = 0, ∀a ∈ Z} | 对加法、乘法封闭 |
| 基定理 | k[x] 是 Noether 环 | 一切理想有限生成 |
| DCC | 代数集无无限严格降链 | 有限分解的依据 |
| 不可约 | 不能写成两个真闭子集之并 | 等价于 I(Z) 是素理想 |
| 不可约分解 | Z = Z1 ∪ ⋯ ∪ Zr | 不计次序唯一 |
| 坐标环 | Γ(Z) = k[x]/I(Z) | 形状的函数环;可约 ⇒ 有零因子 |
| 点 ↔ 极大理想 | a ⟷ 𝔪a = (x − a) | 需 k 代数闭 |
| 弱定理 | J ⊊ k[x] ⇒ V(J) ≠ ∅ | 无解唯一原因:J = (1) |
| 强定理 | I(V(J)) = √J | 根理想才被形状完整记住 |
| 根理想 | fm ∈ J ⇒ f ∈ J | 素理想、极大理想都是 |
| 对应 | 代数集 ⟷ 根理想(反序) | 含空集与全空间 |
| 运算口诀 | 和 ↔ 交;积 ↔ 并 | 反序导致的换向 |
| 拉回 | F: X → Y 给出 F*: Γ(Y) → Γ(X) | 几何正向、代数反向 |
易错点。① I(V(J)) = J 一般不成立,只有根理想才成立;② 点与极大理想的一一对应需要代数闭,实域上失效;③ V(J1) = V(J2) 不蕴含 J1 = J2;④ Zariski 拓扑下闭集很少,开集很大,路径与连通性直觉都要换。
★★ 第一章留下的三个缺口。
第一章的框架完整,却有三处不便。其一,坐标系依赖:𝔸n 与 k[x] 都建立在所选坐标之上,换一组坐标,叙述就要重写,但形状本身并未改变。其二,非闭点与粘合:只取代数闭域上的闭点,就看不到「有理性」与「算术信息」;而想描述「由若干块拼成的」形状,仿射语言也没有现成工具。其三,局部与整体割裂:考虑一个点附近的形状(切空间、局部环)与整个形状,需要一套能把局部信息组织起来的语言。
第二章给出的答案是:以局部化与层组织局部信息,用环的谱取代点集,用粘合把仿射块拼成一般概型。第一章的两根支柱(基定理与 Nullstellensatz)在那里仍将起作用,只是换了更省坐标的形式:理想对应的不再是点集,而是「点集+函数层」的整体。
★★★ 第一章把「形状 ↔ 方程」这本词典编成了,但用的还是逐个点的眼光:一个簇就是一族多项式的公共零点。接下来的问题换了层次——这个簇自己长什么样?它有几维?在某个点附近是光滑的还是打了折的?两个簇什么时候算「同一个」?本章集中回答这些结构问题。
方向上也上了一级台阶。第一章主要在「整体—整体」之间往返(簇 ↔ 理想),本章则要学会在一个点附近看簇:把镜头推近,只看该点邻域里成立的代数性质。这套「局部」技术叫局部化,它把「在某点附近」这句话变成一次精确的分式环构造——这正是本章的第一件工具。
拿到局部观点后,四个结构概念就能被严格定义,它们依次是:①维数(几种讲法在同一张桌上等价)、②切空间(用一阶信息逼近簇)、③光滑与奇异(切空间维数是否恰好等于簇的维数)、④态射与同构(什么时候两个簇算同一个)。全编的骨架就搭在这四根柱子上。
① 局部化与局部环(p41–p42)。先把函数分成「整体」与「局部」两类:坐标环 k[X] 管整体,局部环 𝒪X,p 管 p 点附近,有理函数域 k(X) 管理论上的全部信息。三者由分式环串成一条链。
② 维数(p43–p44)。维数可以有四种讲法——极大理想链、素理想链、超越次数、坐标环的 Krull 维数——它们对仿射簇全部相等。这一步是把「直觉的维数」变成「可计算的量」。
③ 切空间与光滑性(p45–p47)。在点 p 处取一阶近似,得到 Zariski 切空间 TpX。它总是至少那么大;恰好等于簇的维数时,该点光滑;严格更大时,该点奇异。雅可比矩阵的秩把这句几何话变成了可算的判据,而结点、尖点是最经典的两个试金石。
④ 态射与等价(p48–p51)。簇之间的多项式映射就是态射;它反向拉回函数环,于是「几何的箭头」等价于「代数的反向箭头」。同构、双有理等价、乘积在这里各就各位。章末把全章收成一句:几何问题都能翻译成坐标环的交换代数问题。
★★★ 什么叫「在点 p 附近」?朴素的说法是「离 p 足够近」。代数要给这句话一个精确的替身:把分母在 p 处不为零的分式都放进来。
S−1R = { r/s : r ∈ R, s ∈ S } (约定 r1/s1 = r2/s2 ⟺ ∃t∈S, t(r1s2−r2s1)=0)
最关键的一步是取 p 点的极大理想 𝔪p = { f ∈ k[X] : f(p) = 0 },令 S = k[X] ∖ 𝔪p,得到局部环
𝒪X,p = k[X]𝔪p = { f/g : f, g ∈ k[X], g(p) ≠ 0 }。
它的元素正是「在 p 附近有定义的有理函数」。𝒪X,p 是局部环:它有唯一的极大理想 𝔪p𝒪X,p(恰是「在 p 处取值为零的函数」),其余元素全部可逆,因为分母在 p 处不为零。
局部化的好处是把「附近」这件几何事,换成了「分母许可范围」这件代数事——后者可以算。下一节把它整理成整体/局部/有理三个层次。
★★★ 一个簇上可以谈三种函数,它们的「定义域」一个比一个大,恰好对应用上一页的三层环。
这里用到第一章的一个结论:X 不可约时 k[X] 是整环,于是可以取分式域 k(X)。三者的关系是一条包含链:
k[X] ⊆ 𝒪X,p ⊆ k(X), 且 k(X) = Frac(𝒪X,p)。
这张链可以一句话记住:整体 ⊂ 局部 ⊂ 有理。越往右,允许的分母越多,函数能定义的地方越小(从整个 X 缩到一个邻域,再缩到某个稠密开集),但因为「理论信息」最全,最右边反而在双有理研究中唱主角。
这条命题把「正则性」这个几何概念完全代数化:f 在 p 正则 ⟺ 能把 f 写成两个多项式之商且分母在 p 处非零。下一节起,我们拿这套语言去量簇的大小。
★★★ 「维数」是几何里最直观的量,但严格定义它并不容易:曲线在任何一点附近都「像」直线,怎么知道它是一维?代数给的答案出人意料——用素理想的链来计数。
𝔭0 ⊊ 𝔭1 ⊊ ⋯ ⊊ 𝔭n,
四种讲法各管一件事:(i)最好算,(ii)最直观,(iii)最不依赖坐标系,(iv)最贴近点。它们相等这件事,本身就是几何与代数互相印证的一次。
注意「维数」是簇的整体属性,但下面会看到,它也能由任一点的局部环读出——这正是局部-整体辩证的第一个实例。
★★★ 上一页的四种刻画里,链刻画最值得单独看:它把「维数」完全翻译成一串包含关系,而包含关系可以直接画出来。
几何翻译来得很快:一条素理想链
𝔭0 ⊊ 𝔭1 ⊊ ⋯ ⊊ 𝔭m
在 V(𝔭0) ⊋ V(𝔭1) ⊋ ⋯ ⊋ V(𝔭m) 下变成一串层层嵌套的不可约子簇。于是「素理想链有多长」=「能在簇里套多少层真正变小的小簇」。ht(𝔭) 就是子簇 V(𝔭) 的余维数:它在 X 里「占得多细」。
几何上这句话正是「一个方程降一维」:在 𝔸n 里加一个非零方程,得到的超曲面维数至多 n − 1;若多项式不可约,就恰是 n − 1。这就是「曲线在平面上、曲面在空间中」的一般原理。
★★★ 要谈「光滑」和「打结」,先得有一把放大镜量「一阶近似」——这就是切空间。微分几何用曲线求速度来定义切线;代数几何换了一条路:把函数在 p 处展开到一阶,丢掉高阶项,剩下的线性信息就是切空间。
𝔪p / 𝔪p2
为什么是 𝔪/𝔪2?因为 𝔪p 里的函数正是「在 p 处取零」的函数,而模掉 𝔪p2 相当于把二次及以上的项全部丢掉——留下的恰是一阶(线性)部分。这与泰勒展开 f = f(p) + dfp + (二阶) 是同一件事。
J(p) = ( ∂fi/∂xj(p) )i,j (i = 1…m,j = 1…n)。
★★★ 有了切空间,就能把「光滑」变成一个不等式:切空间至少和簇一样大;相等就光滑,严格更大就说明簇在这里被「折」出了额外的方向。
这个定义把上一页的雅可比公式直接变成判据:p 奇异 ⟺ rank J(p) < n − d。对超曲面(d = n − 1)而言,就意味着所有一阶偏导同时为零:
p ∈ Sing X ⟺ ∂f/∂x1(p) = ⋯ = ∂f/∂xn(p) = 0。
这条定理的份量在于:它说奇异是少的。绝大多数点光滑,奇点只是低维的例外集——所以可以先在光滑点做微积分式的计算,再单独处理那几颗「钉子」。
★★★ 奇异点到底长什么样?看两个最经典的例子——结点与尖点。它们的区别只在一处:最低次项有几条不同方向。
fx = −3x2 − 2x, fy = 2y。
在原点两者同时为零,故 (0,0) ∈ Sing X;其余点 fy ≠ 0 或 fx ≠ 0,皆光滑。为什么会「结」?看最低次项:把 f 按次数分组,y2 − x2 是二次项,而 −x3 是三次项。丢掉高次项得
y2 − x2 = (y − x)(y + x),
它分解成两条不同的直线 y = ±x——这就是原点处两条分支的方向。两条方向不同(横截),奇点形状像一个「×」,称为结点(普通二重点)。
两个例子的差别可以一句话概括:最低次项是一个平方 ⟹ 尖点;是两个不同的线性因子之积 ⟹ 结点。这正是「局部环 𝔪/𝔪2 的维数」在几何上的投影。
奇点还能被「拉开」。结点有参数化 (t2 − 1, t(t2 − 1)),t = ±1 都映到原点——两条分支正是这样在参数上「碰头」。把这两点分开,结点就成了一条光滑曲线;这一「分离分支」的想法,是后来奇点解消与正规化的最简雏形。
★★★ 有了簇,就要谈簇之间的映射。第一章末尾已经见过「多项式映射」,这一页把它定义清楚,并给出它最重要的性质——几何的箭头,等价于代数的反向箭头。
φ(p) = (φ1(p), …, φm(p)) ∈ Y, ∀p ∈ X。
态射 φ : X → Y 会「拉回」函数:Y 上的函数 g 与 φ 复合,就得到 X 上的函数。定义
φ* : k[Y] → k[X], g ↦ g ∘ φ,
它保持加法与乘法,是 k-代数同态——注意方向反了:箭头 X → Y 对应 k[Y] → k[X]。
Hom簇(X, Y) ≅ Homk-代数(k[Y], k[X])。
态射还自动是连续映射(对 Zariski 拓扑):因为 φ−1(V(J)) = V(φ*(J)),闭集的逆像仍是闭集。拓扑与代数在这里第一次合流。
★★★ 「两个簇什么时候算同一个」有强、弱两种答法:强的叫同构,弱的叫双有理等价。差别看似细微,却划出了代数几何的一条重要分界线。
这条定理解释了上一页的例:尖点与直线双有理等价(两者的函数域都是 k(t)),却不同构。也就是说,双有理等价允许「忽略掉低维的坏点」——一个奇异点被看成可修掉的小例外。
于是历史上出现了一种分工:同构回答「这两个簇是否完全一样」,双有理回答「这两个簇是否共享同一个函数域」。后者把「簇的几何」压缩成「域的算术」,为第三、四、五章的现代路线埋下伏笔。本章到此收束,进入例题与习题。
★★☆ 有了簇与态射,自然会问:两个簇能不能「相乘」?答案是能,而且乘积的代数替身是一个漂亮的构造——张量积。但这里有一个著名的陷阱:乘积上的 Zariski 拓扑不是拓扑学意义下的乘积拓扑。
k[X × Y] ≅ k[X] ⊗k k[Y]。
维数相加这一条与直觉相符:平面乘直线得三维空间。但拓扑那一侧不那么简单。若分别给 X, Y 装 Zariski 拓扑,再取拓扑学乘积拓扑,得到的拓扑比 X × Y 上的 Zariski 拓扑粗得多(开集更少)。最典型的证据是对角线。
乘积与张量积的对应,是本章「代数-几何字典」的最后一块。下一页把这本字典完整抄一遍——它也是全册最重要的一张表。
★★★ 第一、二章其实都在反复使用一本双向字典:左边是几何,右边是代数。这一页把它完整地摊开,作为全册的枢纽。
| 几何(左) | 代数(右) |
|---|---|
| 簇 X | 有限生成既约 k-代数 k[X] |
| 点 p ∈ X | 极大理想 𝔪p |
| X 不可约 | k[X] 是整环 |
| 闭子簇 Z ⊆ X | 根理想 I(Z) ◁ k[X] |
| 态射 φ : X → Y | 反向同态 φ* : k[Y] → k[X] |
| 同构 | 环同构 |
| 乘积 X × Y | 张量积 k[X] ⊗k k[Y] |
| 维数 dim X | Krull 维数 dim k[X] |
| 光滑点 | 正则局部环 |
| 双有理等价 | 函数域同构 k(X) ≅ k(Y) |
这张表可以当口诀背。它的每一行都不只是类比,而是可以证明的等价——这正是代数几何建立在交换代数之上的原因:几何的语言可以被完整翻译过去,于是关于环的定理能立即产出关于簇的定理(如 Hilbert 基定理 ⟹ 代数集有限生成)。
★★★ 两道例题,各练一种算法:用「素理想链」算维数,用「局部化的商」读局部环。
V(xz, yz) = V(z) ∪ V(x, y)。
再看局部环。原点 O = (0,0,0) 同时落在两支上(落在两条分支的交点)。这类点上,局部环的维数取「较大分支」的维数:
dim 𝒪X,O = 2 = max{ 2, 1 } = dim X。
可约性不改变维数——维数只记录最大分支,不记录分支数目。这正是为什么维数要用「链长上确界」而不是「分支计数」来定义。
𝒪X,p = k[x, y](x,y) / (y − x2) ≅ k[x](x)。
右边是一元幂级数式环 k[x](x) 的雏形,其素理想链只有 (0) ⊊ (x),故 dim 𝒪X,p = 1 = dim X。局部维数等于整体维数,这是本章反复用到的一条经验。
★★★ 两道例题,把雅可比公式用在曲线奇点上——结点与尖点各算一遍,顺便核对「切空间维数」与「最低次项」两种读法是否吻合。
∇f = ( −3x2 − 2x, 2y )。
dimk TOC = 2 − 0 = 2 > 1 = dim C,
| 曲线 | 最低次项 | dim TO | 形状 |
|---|---|---|---|
| 结点 y2 = x2(x+1) | (y−x)(y+x) | 2 | 两支横截(×) |
| 尖点 y2 = x3 | y2 | 2 | 一支带尖(>) |
| 光滑 y = x2 | y | 1 | 光滑 |
两处奇点的切空间维数都是 2,无法区分结点与尖点——一阶信息不足以分辨奇点的类型。要区分,得看更高的项(或看切空间里的重数结构),这正是奇点理论在二编之后继续生长的起点。
★★★ 两道例题:一道给出同构(两个簇是同一个),一道给出「双射却不是同构」这一代数几何的著名现象。
φ : 𝔸1 → Y, t ↦ (t, t2); ψ : Y → 𝔸1, (x, y) ↦ x。
φ : 𝔸1 → C, t ↦ (t2, t3)。
再看双有理这一侧。两者的函数域都是 k(t)(因为 k(C) = Frac(k[t2, t3]) = k(t)),故
尖点 C 与 直线 𝔸1 双有理等价,却不同构。
这正是双有理几何的立足点:它把「点上的坏」视为可忽略,只留函数域。 于是尖点、结点这些奇形,在双有理的眼光下与直线无别——分类一下子变粗,却也因此变得可行。第三章将用同一套「忽略低维坏点」的思路,把无穷远点请进画面。
★★☆ 五道题,围绕两把尺子:维数(素理想链的长度)与光滑性(雅可比矩阵的秩)。两道纯计算,三道要动脑。
2.1(算维数) 求 X = V(xy, xz) ⊆ 𝔸3 的维数,并指出它的不可约分支。
提示:(xy, xz) = (x) · (y, z),故 V = V(x) ∪ V(y, z)——一张平面加一条直线。维数取分支维数的最大值。
2.2(局部环的维数) 设 C = V(y2 − x3) ⊆ 𝔸2,O = (0, 0)。写出局部环 𝒪C,O 的表达式,并求它的维数。
提示:𝒪C,O ≅ (k[x](x))[y]/(y2 − x3);其素理想链可类比 k[x](x),长度同为 1。
2.3(判奇异) 设 f = y2 − x3 − x2。求 C = V(f) 的全部奇异点。
提示:解 ∂f/∂x = −3x2 − 2x = 0 与 ∂f/∂y = 2y = 0 的公共解,再代回 f = 0。答案只有原点。
2.4(可约与维数) 举一个可约仿射簇的例子,使它的两个分支维数不同,并说明 dim X 为何等于较大分支的维数。
提示:用 2.1 的 X——平面分支维数 2,直线分支维数 1。维数定义取素理想链长度的上确界,较长的那条链胜出。
2.5(素理想链) 在 k[x, y] 中写出两条不同的素理想链,长度都等于 2,并解释它们的几何含义。
提示:如 (0) ⊊ (x) ⊊ (x, y) 与 (0) ⊊ (x − 1) ⊊ (x − 1, y):分别对应直线 x = 0 与直线 x = 1,链的顶端都是平面上的一个点。
★★☆ 五道题,围绕态射的反变性与乘积的张量积。前四道是标准练习,最后一道通向双有理几何。
2.6(投影是态射) 设 X ⊆ 𝔸n、Y ⊆ 𝔸m。证明投影 πX : X × Y → X 是态射,并写出拉回 πX* 的作用。
提示:投影由坐标函数的多项式给出,故是多项式映射;拉回把 k[X] 中的函数 g 送到 k[X × Y] 中「只与第一个变量有关」的函数。
2.7(乘积的维数) 设 X, Y 不可约,维数分别为 p, q。用素理想链说明 dim(X × Y) = p + q。
提示:把 X 的链与 Y 的链「叠加」——在 k[X] ⊗ k[Y] 中把前一条链的每一项与 Y 的链逐层相乘,长度相加。
2.8(双有理但不同构) 设 C = V(y2 − x3) 是尖点三次曲线。证明 𝔸1 与 C 双有理等价但不同构。
提示:态射 t ↦ (t2, t3) 诱导函数域同构 k(t) ≅ k(C);但 k[C] = k[t2, t3] 不同构于 k[t](缺一次项)。
2.9(张量积是坐标环) 证明 k[𝔸1 × 𝔸1] ≅ k[x] ⊗k k[y] ≅ k[x, y]。
提示:𝔸1 × 𝔸1 = 𝔸2,其坐标环本就是二元多项式环;再验证张量积的两个单式给出 x, y 两个自由生成元。
2.10(对角线的启示) 在 𝔸2 = 𝔸1 × 𝔸1 中,为什么对角线 Δ = V(x − y) 在 Zariski 拓扑下闭、在乘积拓扑下不闭?这件事说明了什么?
提示:乘积拓扑的闭集是有限个「竖条 × 横条」之并,而直线 Δ 无法这样拼出。这说明 Zariski 拓扑比乘积拓扑更细——代数几何不能用拓扑学的乘积来理解「乘积」。
本章把「簇是一个什么样的对象」拆成五层来读:从最粗的拓扑(不可约性与维数),到最细的局部(局部环与切空间)。五层沿一条线展开,每层都对应交换代数里的一个概念。
回望全程,最该带上路的是两副眼光:一是代数-几何字典,它让每个几何问题都能翻成环的问题;二是局部化的思维——把整体问题拆到一点附近的局部环里,尖点、结点这些整体看不清的毛病,在局部反而一目了然。第三章将补上此章缺的一角:仿射空间还有「无穷远处」,把那些点请进来,仿射簇才闭上成完整而对称的射影簇。
本章借五种语言来描述同一个簇 X。下表把每层语言、它的代数替身、以及它们回答的问题一次列清:
| 层次 | 几何对象 | 代数替身 | 回答的问题 |
|---|---|---|---|
| 拓扑 | 不可约分解 X = ⋃Xi | k[X] 的极小素理想 | 能不能拆开? |
| 维数 | dim X | 素理想链的长度 | 有多大? |
| 有理 | 函数域 k(X) | 分式域 Frac k[X] | 双有理等价吗? |
| 局部 | 局部环 𝒪X,p | k[X] 在 𝔪p 的局部化 | 点 p 附近长什么样? |
| 一阶 | 切空间 TpX | (𝔪/𝔪2)* | 光滑还是奇异? |
把这张表与第一章的字典拼起来,就看到本章的核心结论:「簇的几何」可以被完全翻译成「有限生成既约代数上的交换代数」。下表是这一翻译在最常问的几件事上的对照:
| 几何说法 | 代数说法 | 出处 |
|---|---|---|
| 簇不可约 | k[X] 是整环 | p41 |
| dim X = d | 最长素理想链长度 = d | p43 |
| p 光滑 | 𝒪X,p 是正则局部环 | p46 |
| φ : X → Y | φ* : k[Y] → k[X] | p48 |
| X × Y | k[X] ⊗k k[Y] | p50 |
| 双有理等价 | 函数域同构 | p54 |
本章还留下一处伏笔,写在这里备忘:光滑点与奇异点的差别,本章只用「切空间维数」这一把一阶的尺子区分,它足以判定是否光滑,却分不开结点与尖点(两者切空间维数都是 2)。一阶信息不够用时,就要请出更高阶的不变量——这正是第三章之后奇点理论、以及后来的层与上同调登场的动机。
本章最重要的一次思想转弯,发生在从「整条曲线」看向「一个点」的那一刻。尖点这件事,从整体看很难说清,从局部看却清清楚楚——这值得停下来想一想。
这对关系在数学里处处重演:一个整数模掉某个素数后,只剩它在这一素数处的「局部行为」;一条流形在一点处的切空间,丢掉了整体拓扑却记住了可微结构。把对象送到一个局部去看,是一种「聚焦」——聚焦必然丢信息,但也正因为丢了多余的信息,眼前的图案才清晰。代数几何的整套技术,几乎都建立在这一「聚焦—还原」的往返上。
更深一层的体会是:局部的清晰并不总是好事。尖点在局部「看得见」,可它在整体上仍是一条连着的好曲线——局部说它坏,整体说它只是一个点。同一对象在不同尺度上得到相反的评价,这不是矛盾,而是提醒我们:结论总是相对于尺度而言的。第三章把无穷远点请进来,也是一次尺度的更换——届时一些在仿射里「发散到无穷」的现象,会在射影里收敛成一个干净的点。
p46 介绍了「光滑 ⟺ 局部环正则」,却把一个自然的问题留在了门外:一个带奇点的簇,能不能被「修」成光滑的?对曲线,答案是可以,而且有完全构造性的办法——把奇点「炸开」。这一页给出攀登路线,四步走完,尖点与结点都能被抹平。
(a) 炸开(blow-up)的定义。以原点为中心炸开仿射平面:取 𝔸2 × ℙ1 中由方程 x1y0 = x0y1 定义的子簇 B(坐标 (x0, x1) 与 [y0 : y1]),配上投影 σ : B → 𝔸2。证明:σ 在原点之外是同构,且原点的原像是一条射影直线(称为例外除子)。
提示:在原点之外取 [y0 : y1] = [x0 : x1],唯一的点映到 (x0, x1);在原点处方程对 [y0 : y1] 无约束,故原像恰是整条 ℙ1。
(b) 抹平尖点。设 C = V(y2 − x3),取 C 在 B 中的原像(严格变换)C̃。用两组坐标卡算出 C̃ 的方程,证明它在原像的点处都光滑。
提示:卡 y0 ≠ 0:令 t = y1/y0,代入得 x = t2, y = t3 的参数化,其局部环是 k[t] 的局部化——正则;另一卡同理。
(c) 奇异点集是闭的。证明 Sing X = { p : rank J(p) < n − dim X } 是 X 中的闭子集。
提示:秩下降的条件等价于「(n − dim X) 阶全部子式为零」,而子式是关于坐标的多项式——若干多项式的公共零点集即闭集。
(d) 一维的丰收。设 C 是一条仿射曲线。用 (a)–(c) 说明:反复对奇点炸开,总能在有限步内得到一条光滑曲线(一维的奇点解消)。
提示:每次炸开都使「重数」严格下降,而重数是正整数,不能无穷下降;而 (c) 保证每步的奇点集是有限的。合起来即得终止。
延伸。二维、三维乃至任意维的奇点解消,是二十世纪代数几何的中心问题之一:曲面情形由 Zariski 解决,特征零的任意维情形由 Hironaka 在 1964 年解决(获菲尔兹奖),正特征至今仍是活跃课题。这条从尖点出发的路,一直通到今天的研究前沿。
p46 的光滑判据只用到雅可比矩阵的秩,非常适合机器计算。专做多项式计算的系统 Singular 是这一行的标准工具;为了随处可跑,本页改用 SymPy 写三段程序:一段求奇异点,一段算切锥,用来核对「秩下降处就是奇点,切锥再分辨奇点类型」。
# 实验 2-A:求平面曲线的奇异点
# 判据:奇异点 = 偏导同时为零 + 落在曲线上
from sympy import symbols, diff, solve, Matrix
x, y = symbols("x y")
def singular_points(f):
fx, fy = diff(f, x), diff(f, y)
# 联立三式:f = 0, f_x = 0, f_y = 0
sols = solve([f, fx, fy], [x, y], dict=True)
return sols
# 尖点:y2 - x3
print("尖点 y**2-x**3 ->", singular_points(y**2 - x**3))
# 结点:y2 - x3 - x2
print("结点 y**2-x**3-x**2 ->", singular_points(y**2 - x**3 - x**2))
# 光滑:y - x2
print("光滑 y-x**2 ->", singular_points(y - x**2))
# 实验 2-B:运行输出
# 尖点 y**2-x**3 -> [{x: 0, y: 0}]
# 结点 y**2-x**3-x**2 -> [{x: 0, y: 0}]
# 光滑 y-x**2 -> []
读表。输出符合 p53 的表:尖点与结点都在原点有唯一奇异点,光滑的抛物线则一个也没有。但这段程序还看不出两者的区别——它们的奇异点集恰好一样(都只是原点)。要区分结点与尖点,得请出第二个不变量:切锥。
# 实验 2-C:用切锥(最低次齐次项)区分结点与尖点
from sympy import Poly, symbols
x, y = symbols("x y")
def tangent_cone(f):
# 取 f 的最低次齐次部分
p = Poly(f, x, y)
deg = p.total_degree()
for d in range(deg + 1):
h = sum(c * x**i * y**j
for (i, j), c in p.terms()
if i + j == d) # 最低「总次数」齐次部分
if h != 0:
return h
return 0
print("尖点 切锥 =", tangent_cone(y**2 - x**3))
print("结点 切锥 =", tangent_cone(y**2 - x**3 - x**2))
# 实验 2-D:运行输出 # 尖点 切锥 = y**2 (不可约二次型:重根,一个方向) # 结点 切锥 = -x**2 + y**2 (可约二次型:两个不同方向)
黑箱提示。切锥是「把曲线放大到无穷近时看到的模样」:尖点的切锥 y2 是一条二重直线(两个方向重合),结点的切锥 −x2 + y2 分解为两条不同直线(两个方向)。一阶的秩只能判断「是否光滑」,二阶的切锥才能分辨「哪种奇异」——这与 p53 的结论完全一致,也正是挑战 2 中「炸开」操作能抹平尖点的原因:炸开一次,就把重合的两个方向分到了不同的点上。
本章反复用了一件工具:把一个整体对象送到某一点附近的局部环里去。这不是代数几何的独创——「向局部看」是几何学贯穿三百年的老手艺。这一页把它放回历史里看。
| 年代 | 人物 / 学派 | 关键一步 |
|---|---|---|
| 17 世纪 | Newton、Leibniz | 发明无穷小量:在「一个点的邻域」里做线性化,切线、速度、导数的雏形都来自这种局部眼光 |
| 19 世纪 | Cauchy、Weierstrass | 把「邻近」严格化为极限与收敛半径;Weierstrass 预备定理让局部幂级数环取得与多项式环同等的地位 |
| 1890s | Hensel | 引入 p-进数与 Hensel 引理:在数论的「局部」里,根的提升像几何邻域一样可控 |
| 1920s–30s | Krull、Noether | 把「局部化」写成环的代数操作 S−1R,局部环、局部性质成为代数的标准语言 |
| 1950s | Zariski、Serre | 发现几何的「邻域」应由多项式函数的局部化刻划,而非欧氏距离;Zariski 拓扑与局部环语言合流 |
这条线里藏着一个耐人寻味的转折。在古典几何里,「局部」靠的是距离——邻域就是圆球。可是代数几何里的函数只有多项式,多项式的零点集太稀疏,撑不起一个用距离定义的邻域(两个非空 Zariski 开集必相交)。Zariski 的破解是:既然距离不好用,就把「邻域」定义成「哪些函数在那里可逆」——局部化正是这个意思。空间的性质不再由点与点之间的距离决定,而由函数环的代数结构决定。
因此「局部环看一点」这件事,表面看是技术,深层是一次世界观的替换:几何不再是「关于图形的形状」,而是「关于函数环的性质」。本章的每一条定理——光滑即正则、维数即链长、局部维数等于整体维数——都是这条新世界观的直接产物。下一章把无穷远点补进来时,会再次用到它:射影空间的局部环同样由齐次坐标环局部化给出,仿射与射影的差别只体现在函数的「齐次性」这一个约束上。
| 名称 | 内容 | 注意 |
|---|---|---|
| 坐标环 | Γ(Z) = k[x1, …, xn] / I(Z) | 既约、有限生成 |
| 不可约 | X 不可约 ⟺ k[X] 是整环 | 主分解唯一 |
| Krull 维数 | dim X = 素理想链长度的上确界 | 可约时取最大分支 |
| 函数域 | k(X) = Frac k[X] | 双有理不变量 |
| 局部环 | 𝒪X,p = k[X]𝔪p | 维数 = dim X |
| 切空间 | TpX = (𝔪p/𝔪p2)* | 对偶于余切空间 |
| 光滑判据 | rank J(p) = n − dim X | < 时为奇异 |
| 正则局部环 | dim 𝒪 = dimk 𝔪/𝔪2 | 光滑点的代数判据 |
| 态射 | φ* : k[Y] → k[X](反变) | 同构 ⟺ 环同构 |
| 双有理 | k(X) ≅ k(Y) | 比同构弱 |
| 乘积 | k[X × Y] = k[X] ⊗k k[Y] | 拓扑比乘积拓扑细 |
| 维数相加 | dim(X × Y) = dim X + dim Y | 不可约情形 |
| 切锥 | 最低次齐次项 | 区分结点与尖点 |
三条常用口诀。① 判维数,找素理想链——最长的那条有多长,维数就是多少;② 判光滑,算雅可比秩——秩降了就是奇点;③ 判同构,看函数环——集合上一样不算数,环同构才算(尖点是反例)。
下一编预告。仿射簇有一个天生的缺陷:它把「无穷远」排除在外,于是两条平行线永不相交、双曲线在边界处「断掉」。射影几何的贡献是把这些「逃逸的点」重新请回画面,让仿射簇闭合成对称而完整的射影簇。第三章将从齐次坐标出发,重演本章的全部概念——不可约、维数、局部环、切空间——看它们在射影世界里如何获得更整齐的形式。
本章把「形状」翻译成「环与模」的语言,几处高频误读也跟着来了。逐一澄清,每条都配一个当场可验的小账。
真跑对账。用 SymPy 把四句话各验一遍:① V(x2 + y2) 在 ℝ 上的解集是单点、在 ℂ 上分解为两条直线;② ℝ[x]/(x2+1) ≅ ℂ 是域,故 (x2+1) 极大;③ 尖点曲线 y2 − x3 在原点偏导全为零,Jacobian 判据判定它是奇点。四个陷阱,三行代码,全数落网。
四个陷阱共享一个出口:先问「这句话在哪一侧说」——几何侧还是代数侧,基域是 ℝ 还是 ℂ,是整体还是几乎处处。侧分清了,字典就不会翻错页。
★★★ 第二章的仿射簇有一个挥之不去的小麻烦:双曲线 xy = 1 在两端「跑向无穷」,两条平行线永不相交。可若把这片平面想象成「还缺了一圈边」,那些逃逸的分支似乎只是在边上的某个点接了头。本章要做的第一件事,就是把这圈边正式补上——这就是射影空间。
第二件事更抽象,却同样必要。第二章里,簇 X 的函数环 k[X] 是「整体的」——它记录的是定义在整个 X 上的多项式函数。可射影簇上没有这样的整体函数(唯一的多项式函数都是常数),于是必须换一种方式记录函数:在每一个开集上分别记录,并要求它们彼此相容。这套「局部数据 + 相容条件」的装置,就是层。层是现代代数几何最基础的语言,第四章的概型与 Riemann–Roch 都要靠它来书写。
两线在章末交汇:射影簇的函数不再是 k[X] 一个环,而是一个层 𝒪X;而关于层的信息,最终由一个上同调群来度量。本章的收束句可以预先写下:几何对象 X 由它的结构层 𝒪X 完全决定。这句话是通往概型的门。
★★☆ 先不急着定义射影空间,而是看它解决了什么问题。仿射平面上的几何有三种「不平整」,每一种都指向同一件事:仿射平面缺了一条边。
三例的共同解药:给 𝔸2 补上一条无穷远直线。补上之后,平行线在它上面相交,双曲线闭合,三种圆锥曲线还原成一族。这条直线上的点不能再用一对坐标 (x, y) 表示——它记录的不是位置,而是方向。
这一页只交代「为什么」。下一节给出「怎么做」——用齐次坐标把无穷远点也写成数字。
★★★ 无穷远点要靠「方向」来定义。数学上记录「方向」最自然的对象是过原点的直线——一条过原点的直线恰是一个方向。
(x0, …, xn) ∼ (y0, …, yn) ⟺ 存在 λ ≠ 0 使 yi = λxi。
关键在「∼」这一行:它说明齐次坐标只到整体比例为止——[1 : 2 : 3] 与 [2 : 4 : 6] 是同一个点。n + 1 个数里真正自由的只有 n 个,多出来的那个正是「尺度」。这样 ℙn 的维数是 n,与 𝔸n 一致。
记号约定。本章用大写花体 ℙ 表示射影空间,用方括号 [⋯] 写齐次坐标,与仿射点的圆括号 (⋯) 相区别。方括号里的数只有比例有意义,这是本章最容易出错、也最需要养成的习惯。
★★★ 补上了无穷远点,就要问:什么样的方程能在 ℙn 上「良定义」?答案是齐次多项式——因为它们对整体比例不敏感。
V(I) = { [x] ∈ ℙn : f([x]) = 0 对一切 f ∈ I },
为什么必须齐次?因为 f(λx) = λdf(x):当 f 齐次时,「f = 0」在等价类上是一致的(λd ≠ 0);若次数不齐,「零点」就会随尺度漂移,V(f) 根本不是 ℙn 里的良定集合。齐次性就是「在射影空间里良定义」的代数条件。
有了射影簇,第二章的整套问题可以原样搬过来:怎么用理想刻画簇?维数、光滑性、态射是否有射影版本?答案下一节从「仿射图卡」开始。
★★★ 射影空间虽是新对象,却可以被若干张「仿射的图」覆盖——每一张图都是一个 𝔸n,于是第二章的全部结论都能逐图使用。
Ui = { [x] ∈ ℙn : xi ≠ 0 },
「图卡」这个说法是几何学里的老词:地球是球面,没法用一张平面地图完整画出,但可以用许多张地图拼起来,每张覆盖一块,重叠处对得上。ℙn 也正是这样:n + 1 张图卡 U0, …, Un 覆盖全空间,每张都是 𝔸n。射影空间是一个「局部全是仿射」的对象——这正是它不至于无从下手的原因。
图卡的思想「一套算出,再逐块拼合」正是本章后半部分「层」的雏形。先记住这句话:射影对象的局部 = 仿射对象。下一节起,我们用这套图卡把射影簇的坐标环与零点定理一一造出来。
★★★ 仿射簇的代数替身是坐标环 k[X]。射影簇需要一个新的替身,因为它的定义理想是齐次的——于是替身也带上了次数这个额外结构。
S(X) = k[x0, …, xn] / I(X)
分次结构与仿射情形有一个关键差别,也正是射影簇「没有整体函数」的根源:齐次坐标环里的元素不是函数。一个一次多项式 f 在点 [λx] 处取值 λf(x),它随尺度而变——所以 f 不能定义射影簇上的函数。真正有意义的,是相同次数的两个多项式之比,因为 (λdg)/(λdh) = g/h 与尺度无关。
k[X ∩ Ui] = ( S(X)xi )0,
一句话记住全局:仿射用环,射影用分次环;分次环比环多一层「次数」,而正是这层次数,让射影簇的函数只能局部地看。
★★★ 第一章的核心定理是 I(V(J)) = √J。射影情形有一个对应版本,但要多加一个条件——因为射影空间里有一个「特殊的理想」必须排除。
为什么它特殊?因为 V(𝔪) = ∅——原点 (0, …, 0) 在 ℙn 里根本不是点(它被等价关系排除了)。所以任何含 𝔪 的某个幂的齐次理想,其零点集都是空集——「零点集为空」这件事在射影里对应着一整族理想,而非只有 (1)。
I(V(I)) = I。
把这条定理与 p68 的 V、p70 的分次环拼起来,射影簇的「字典」就与第一章的仿射字典逐条吻合了:射影簇 ↔ 齐次根理想(除 𝔪 外)、点 ↔ 齐次极大理想、不可约 ↔ 齐次素理想。
★★★ 补上无穷远点最大的回报,是一条干净得惊人的计数定理:两条射影曲线的交点数,恰好等于次数的乘积。
「按重数计入」五个字不可省。以 m = n = 2 为例:两条抛物线的次数乘积是 4,它们可能交于 4 个互不相同的点,也可能在切点处「四重相交」,或三点中有一点是二重。Bézout 说的是带重数的总数恒为 4。这样,相交的「数量」第一次变成一个不随位置漂移的定值。
Bézout 的证明草图是这样的:两条曲线 F, G 的交点,可由消去一个变量后的结式来定,而结式的次数恰为 mn。这条思路也说明,Bézout 的严格陈述必须把「重数」与「无穷远」都算进来,否则命题在仿射平面上就会漏掉情形。
★★☆ 有了射影空间,「有理函数」与「态射」这两个第二章的概念都获得更整齐的形式。
「同次数」这一条是射影特有的。因为齐次元素的取值随尺度变化,只有把两个相同次数的齐次元素相除,λ 才恰好抵消——这正是「射影有理函数」良定义的条件。
φ : X → ℙm, [x] ↦ [f0(x) : ⋯ : fm(x)]
至此射影几何的第一条主线基本走完:空间、簇、字典、态射都齐了。但一个技术难点始终悬着——射影簇上没有非平凡的整体函数,那么该用什么来记录它的函数?下一节回答这个问题。
★★★ 先看一个「坏消息」:射影簇 X ⊆ ℙn 上,任何整体多项式函数都是常数。因为一个有定义的函数必须是同次数的商,而 k[x0, …, xn] 中唯一次数为 0 的元素是常数。于是「用一个环记录 X 上的函数」这条路在射影情形走不通。
出路是把「整体」换成「局部」:不在整个 X 上定义函数,而是在每一个开集上分别定义,并要求这些局部函数在重叠处相容。这套装置就是层。
第二条(粘合条件)是层的灵魂。它说的其实是三件事:局部数据可以唯一地拼成整体数据。少了它,「局部」就只是碎片;有了它,局部才有资格代表整体。
层听起来抽象,其实第二章已经用过一次:仿射簇上的「正则函数」按开集分配,就构成一个层。下一节把这个层取出来,正式命名为结构层 𝒪X,并引入它的「茎」——一点处的局部数据。
★★★ 层是抽象装置,必须立刻装上一个具体实例,否则无从计算。代数几何里最重要的那个层,叫结构层——它的每一段记录「这一块开集上能取到的正则函数」。第二章里这个层已悄悄出现过一次:仿射簇上的正则函数按开集分配,本来就是一个层。
「分母在每点非零」这一条是全部技术性的来源。它允许 1/x 在 x ≠ 0 的开集上当正则函数,却不允许把它延伸到 x = 0。也就是说,𝒪X(U) 记录的不只是「能写成的式子」,还有「在哪儿能写」——这正是层的意义:数据是带位置的。
层的全部内容可以压缩到「每一点附近」去看,这一压缩叫茎。它把注意力从「哪个开集」移到「哪一点」,只保留「任意小的邻域里都成立」的那部分信息。
𝒪X,p = lim→p∈U 𝒪X(U),
「局部环」这个名字在这里终于名副其实:𝒪X,p 恰有一个极大理想,而它的商正是「在 p 处取值」这个操作。把函数求值 f ↦ f(p) 翻译成环论,就是模掉 𝔪p。几何的「点」与代数的「极大理想」在这里又一次对上。
𝒪X,p ≅ A𝔪p (在极大理想处的局部化)。
一句话收束。𝒪X 是「函数住在哪里」的记录,𝒪X,p 是「点在代数上是什么」的答案。前者是层,后者是环;两者由「取茎」连接。下一页把结构层推广为更一般的模层,几何对象才开始真正地「长在」函子之上。
★★★ 结构层 𝒪X 只记录「函数」。若想记录「函数组成的线性空间」——比如某个理想层、某条曲线的除子——就需要允许每个开集上住一个模而不是一个环。这就是模层。
「凝聚」听起来绕,其实只是「有限表现」的层化说法:在每点的某个邻域上,ℱ 形如
𝒪X⊕p → 𝒪X⊕q → ℱ → 0,
即由有限个函数、有限条关系刻画。要求它,是为了让层上的运算(核、像、商)保持「有限」,从而让几何问题不至于滑出可计算的范围。
{ X 上的凝聚 𝒪X-模层 } ≃ { 有限生成 A-模 },
有了模层,「取整体截面」就不再丢失信息——在仿射情形它是可逆的。可到了射影情形,整体截面往往太少(还记得射影簇上唯一的整体函数是常数吗?),信息被「藏」在上同调里。下一页就把这个「藏起来的账本」翻出来。
★★★ 层的粘合条件说「局部相容的数据必能拼成整体」。可若数据只在各块上给出、却不保证相容,差在哪里?上同调就是度量这道「差」的量。它把「粘不上」这个定性障碍,变成一个个可以相加、可以比较的向量空间。
d(s)ij = sj|Ui∩Uj − si|Ui∩Uj,
读法只有两句:H0 是「能拼成的整体截面」,H1 是「拼不成的那些障碍」。当 H1 = 0 时,层是「无粘合障碍」的,局部数据总能拼成整体——这正是许多定理(如射影空间上的 Serre 消没)的落脚点。
0 → H0(ℱ) → H0(𝒢) → H0(ℋ) → H1(ℱ) → H1(𝒢) → ⋯ ,
习惯上把交替和 χ(ℱ) = Σi (−1)i dim Hi(X, ℱ) 称为层的欧拉示性数。它在短正合列下可加:χ(𝒢) = χ(ℱ) + χ(ℋ)。这条加法性质将在第四章变成 Riemann–Roch 定理的骨架——亏格正是通过欧拉示性数现身的。
本章三件套已齐。射影空间补上了无穷远,Bézout 给出交点的干净计数,层与上同调搭好「局部↔整体」的机器。接下来三页例题把这三件套各演练一遍,再进入小结与地图。
★★☆ 本页用三道例题演练「射影簇 ↔ 齐次理想」的往来:如何把一个仿射方程齐次化补上无穷远,如何读懂一个齐次理想定义的簇,以及齐次理想与仿射理想怎样互相换算。
F(x0, x1, x2) = x12 − x0x2 = 0。
(x0 : x1 : x2 : x3) = (s3 : s2t : st2 : t3)。
I(C) = (x12 − x0x2, x1x2 − x0x3, x22 − x1x3)。
三例共同的教训:射影化不是把曲线「拉直」,而是把它在无穷远处的行为也算进来。哪些点在无穷远、在那里是相交还是相切——这些信息全部由齐次理想给出,一点不丢。
★★☆ Bézout 定理说:两条无公共分支的射影曲线,交点数(计重数)精确等于次数之积。这条定理看似只在「计数」,其实是射影几何最锋利的工具——许多看似不同的几何事实,都是它的同一个影子。本页用三道例题展示这一点。
Σp ∈ C ∩ D I(p; C, D) = m · n,
Bézout 的应用远不止数交点。举例来说:
回到主线。Bézout 用「次数」这把尺子丈量几何,而层与上同调提供了另一把尺子——「局部数据的整体障碍」。第四章将证明:这两把尺子其实是同一把,它的名字叫 Riemann–Roch。
★★☆ 层是抽象的装置,若不真正动手算一次「整体截面」,就永远隔着一层。本页用三道例题把这件事落地:射影直线上 twisting 层的截面维数、Čech 上同调的显式计算、以及理想层的截面。三例合起来说明一句话——整体截面就是「形如什么的函数被允许存在」的答案。
f0 = tn f1。
dim H0(ℙ1, 𝒪(n)) = n + 1 (n ≥ 0), dim = 0 (n < 0)。
k[t] ⊕ k[t−1] → k[t, t−1], (f0, f1) ↦ f1 − f0。
一句话收束。面的计算看似琐碎,却把层的全部承诺兑现了:局部数据 + 相容条件 = 整体对象,或一个障碍类。这两个出口,恰好就是 H0 与 H1。下一章把这两把尺子磨得更利,直取它最漂亮的应用:Riemann–Roch。
★★☆ 五道题,围绕齐次坐标与射影闭包。前三道是标准练习,后两道通向射影几何最核心的两个构造:锥与 Bézout。
3.1(齐次坐标的等价类) 判断下列两点在 ℙ2 中是否相同:(a) [1 : 2 : 3] 与 [2 : 4 : 6];(b) [1 : 0 : 0] 与 [0 : 1 : 1]。
提示:齐次坐标按整体非零倍数定义同一个点。(a) 中后者是前者的 2 倍,同一个点;(b) 中两者不成非零比例,是不同点。
3.2(射影闭包与无穷远点) 求仿射曲线 y = x2 与 xy = 1 的射影闭包,并各自指出它与无穷远直线的交点。
提示:前者齐次化为 x12 = x0x2,在 x0 = 0 上得 x12 = 0,交无穷远点 [0 : 0 : 1](重数 2,即相切);后者齐次化为 x1x2 = x02,在 x0 = 0 上得 x1x2 = 0,交两点 [0 : 1 : 0] 与 [0 : 0 : 1](双曲线两条渐近方向)。
3.3(齐次 Nullstellensatz) 设 I ⊆ k[x0, …, xn] 是齐次理想,k 代数闭。证明:射影簇 V(I) 不可约当且仅当 √I 是齐次素理想。
提示:把射影簇去齐次化到仿射图卡上,不可约性在去齐次化下保持;再用仿射的「不可约 ⟺ 素理想」,最后把结论齐次化回去。关键是齐次理想的根与素性可逐齐次次数的分量检验。
3.4(仿射锥) 设射影簇 X ⊆ ℙn。它在 𝔸n+1 中的仿射锥 CX 定义为 X 的齐次理想在 𝔸n+1 中的零点集。证明 dim CX = dim X + 1。
提示:锥的坐标环是 X 的齐次坐标环(不取商),比 X 的环多出一个自由变量 t(锥的「高度」方向),素理想链因而长 1。
3.5(Bézout 的锥解释) 用仿射锥把 ℙ2 中的 Bézout 定理提升为 𝔸3 中一条关于「齐次多项式公共零点维数」的命题。
提示:两条射影曲线对应两个齐次多项式 F, G,它们的公共零点锥是三条齐次曲面的交;用「维数每加一个方程至少降 1」以及「锥的维数 = 射影维数 + 1」把交的维数差算回去,得到 mn 这个计数。
★★★ 五道题,围绕层公理、茎与上同调。前两道打基础,后三道动真格——第三道上手算 Čech 上同调,是这一编技术含量最高的一次练习。
3.6(层公理) 验证常层 ℱ(U) = k(配恒等限制)满足层的两个公理;并说明它为什么不是「结构层」意义上的「函数层」。
提示:局部一致性要求任意两个开集上的常数只要在重叠处相等就相等(显然);整体粘合要求一族处处相等的常数拼出一个常数(也显然)。它不是函数层,因为「常数」不能由坐标体现几何信息,且在空集之外的限制映射都是同构。
3.7(局部化与茎) 计算 𝔸1(坐标环 k[t])在原点 0 处的茎 𝒪𝔸1,0,并写出它的极大理想与剩余域。
提示:𝒪𝔸1,0 ≅ k[t](t)——分母在 0 处非零的那些分式。极大理想是 t𝒪(在 0 处取值零的芽),剩余域是 k。
3.8(Čech 算 H1) 用 ℙ1 的两卡覆盖,直接计算 H1(ℙ1, 𝒪(−1)),并解释结果。
提示:过渡因子是 t−1,复形为 k[t] ⊕ k[t−1] → k[t, t−1],但两侧元素须带上 t−1 的权重。算得 dim H1(ℙ1, 𝒪(−1)) = 0——负一次恰是「临界」,障碍尚未出现。
3.9(指数正合列) 在 ℙ1 上,验证层序列
0 → 𝒪 → 𝒪(1)⊕2 → 𝒪(2) → 0
提示:它来自「二元齐次多项式按次数分层」——一次型是两个基元上的自由模,二次型由一条关系生成。逐点取茎检查是否正合,再代进长正合列算各阶上同调的维数,就得到 χ 的加法性。
3.10(欧拉示性数加法) 利用习题 3.9 的长正合列与 dim H0(ℙ1, 𝒪(n)) = n + 1(n ≥ 0),计算 χ(𝒪(n)) = Σ (−1)i dim Hi,验证 χ(𝒪(n)) = n + 1 对所有 n 成立。
提示:对 n ≥ 0,由 H1 = 0 直接得 n + 1;对 n < 0,用长正合列的加成性递推(或与 𝒪(−n − 2) 的 Serre 对偶配对)。结论:欧拉示性数是 n 的一次函数,即便单个上同调群在跳变。
本章把两条看似无关的线索拧成了一股:一条是射影化——把无穷远点请进来,让簇闭合成对称的对象;另一条是层化——把「函数住在哪里」写成可计算的装置。两条线在「局部 ↔ 整体」这一点上合流,交汇出整套现代代数几何的基本机器。
回望全程,最该带上路的是一次眼光的升级:第一章看见「簇 = 理想」,第二章看见「簇 = 局部环的拼图」,本章再添一层——簇之上的「函数系统」本身也是对象(层),而它的孔洞由「上同调」度量。三次升级的方向是一致的:从看得见的点,走向看不见的结构。第四章将用这台机器证明 Riemann–Roch,届时「亏格」这个抓不着的概念,会从中自动浮出。
本章用两组语言描述同一批对象。第一组是仿射与射影的对比——射影化把每个仿射概念补上一角,使定理获得无例外的形式:
| 事项 | 仿射世界 | 射影世界 |
|---|---|---|
| 点 | (a1, …, an) | 等价类 [x0 : ⋯ : xn] |
| 方程 | 多项式 f = 0 | 齐次多项式 F = 0 |
| 整体函数 | 丰富(k[x] 很大) | 极少(只有常数) |
| 平行线 | 不相交 | 交于无穷远点 |
| 交点数 | 有例外 | Bézout:恰为 mn |
第二组语言是层论三件套。它把「函数住在哪里」「怎么比较」「拼不上差多少」三件事,各自装配成一个可运算的对象:
| 工具 | 记录什么 | 代数替身 | 出处 |
|---|---|---|---|
| 结构层 𝒪X | 开集上的正则函数 | 坐标环的局部化 | p75 |
| 茎 𝒪X,p | 一点附近的行为 | 局部环 | p75 |
| 模层 ℱ | 函数组成的线性结构 | 有限生成模 | p76 |
| H0 | 能粘成的整体截面 | 核 ker d | p77 |
| H1 | 拼不成的障碍 | 余核 coker d | p77 |
| 欧拉示性数 χ | 上同调的交错和 | 短正合列下可加 | p77 |
把两张表叠起来,本章的核心结论浮出水面:射影几何提供的「次数」与层论提供的「上同调」,是丈量同一个几何对象的两把等价的尺子。Bézout 说交点总数由次数之积决定,上同调说这些点被一个可加的示性数记账——两句话描述的是同一件事的两面。第四章将证明:把两把尺子对齐,就得到 Riemann–Roch 定理,而它最惊人的推论是「亏格」——一个原本只能靠「几个洞」的直觉描述的拓扑量,会从纯粹代数的计算里自动冒出来。
一处伏笔。本章反复出现「H1 = 0 时局部数据总能拼成整体」这一现象,但它只是特例。一般地,H1 可以很大,其维数正度量着簇上有多少「抓不住的障碍」——而这些障碍的计数,恰恰与亏格同源。
★★★ 一张卡说清本章的暗线。
问题。本章表面讲两件事——把无穷远点请回画面(射影几何),把函数挂到开集上(层论)。可这两件事背后是同一个追问:只知道一个对象在各个小片上的样子,能不能拼出它整体的样子?射影化回答「补上缺的点」,层论回答「小片数据何时一致」。
看局部的两副眼镜。第一副是茎:只看一点附近,把所有信息压缩成一个局部环 𝒪X,p。第二副是射影局部环:补上无穷远方向后,同一个点仍由一个局部环刻划,只是环里多了一层「齐次」的约束。两副眼镜的共同点是:它们都只看一个点,不看全局——这正是「局部」二字的含义,也正是它好用的原因,因为局部环的性质(正则、维数)可以直接算。
把局部粘成整体。难点在反方向。每个小片上的函数都知道,但它们未必能拼成一个整体函数——需要在小片重叠处「对齐」。层论把这件事做成了可运算的机器:截面 Γ(U, ℱ) 收集小片数据,上同调 H1 记账拼不成的障碍。当 H1 = 0,局部数据总能拼成整体;当它不为零,其维数就度量着「抓不住的障碍」有多少。
为什么重要。这套「局部-整体」的框架一旦装好,射影几何的 Bézout 计数与层论的上同调计数就变成同一种语言的两个方言:前者数交点的个数,后者数截面的维数,而第四章将证明二者由同一条定理统辖。更深一层,局部与整体的落差是几何与算术共同的母题——它既出现在曲线的亏格里,也出现在数域的类群里,是本书两册之间一条看不见的暗线。
Bézout 定理说:两条次数分别为 m、n 的射影曲线,若没有公共分支,恰交于 mn 个点(计重数)。一句话很干净,但它藏了三个容易踩空的坑:「射影」不能少、重数要算、实点不够要到复数里数。这一页用四个例子把这三点逐一戳响。
(a) 直线与圆锥:2 个点。取直线 L : x + y = 1 与圆锥 Q : x2 + y2 = 1。次数之积为 1 × 2 = 2。代入消元求出全部交点,核对恰为 2 个。
提示:把 y = 1 − x 代入 Q,得 2x2 − 2x = 0,即 x = 0 或 x = 1;对应点 (0, 1) 与 (1, 0)。
(b) 两条圆锥:4 个点。取 Q1 : x2 + y2 = 1 与 Q2 : x2 − y2 = 1/2。次数之积为 2 × 2 = 4。求出四个交点,验证两式各自成立。
提示:两式相加得 2x2 = 3/2,故 x = ±√3/2,代回得 y2 = 1/4,故 y = ±1/2——四种组合给 4 个点。
(c) 相切要记重数。取直线 L′ : y = 1 与圆锥 Q : x2 + y2 = 1。代入后 x2 = 0 只有一个根,但它是二重根。说明这一交点应记重数 2,与 Bézout 的 1 × 2 = 2 相符。
提示:相切处两条曲线方向重合,交点「合并」了两个同位置的点;代数的体现是消元方程出现重根。
(d) 射影与复数缺一不可。取两条圆 C1 : x2 + y2 = 1 与 C2 : (x − 1)2 + y2 = 1。两式相减只得一个线性方程,故有限交点只有 2 个。可 Bézout 说应有 4 个——另外 2 个在哪里?
提示:把两条圆射影化,加进无穷远直线。所有圆都过两个固定的无穷远点 I = [1 : i : 0] 与 J = [1 : −i : 0](称为虚圆点),这两个点虚且无穷远,恰补足 4 个。若只留在仿射实平面里数,永远只能看到 2 个。
小结。四个例子合起来说明:Bézout 的 mn 是一个复数域上、射影意义下、计重数的计数。(d) 尤其能解释为什么射影化不是装饰——它是把定理从「常常成立」变成「永远成立」的那一步。
Bézout 与上同调都可以被机器验证。本页三段程序:一段用结式算出两条曲线的交点,核对 mn 计数;一段用消元数出重数;一段验证 ℙ1 上直线丛 𝒪(d) 的上同调维数公式 h0 = d + 1、h1 = 0。
# 实验 3-A:用结式求两条曲线的交点(核对 Bezout 计数)
from sympy import symbols, solve, resultant, Rational, factor
x, y = symbols("x y")
def intersections(f, g):
# 对 y 消元:结式的根给出交点的 x 坐标(可能含重根)
Rx = factor(resultant(f, g, y))
xs = solve(Rx, x)
pts = []
for xv in xs:
# 对每个 x,解 f = 0 与 g = 0 的公共 y
ys = solve([f.subs(x, xv), g.subs(x, xv)], y)
for yv in ys:
pts.append((xv, yv))
return Rx, pts
# (a) 直线 x + y = 1 与圆 x2 + y2 = 1
f1 = x + y - 1
g1 = x**2 + y**2 - 1
print(intersections(f1, g1)) # 期望 2 个点
# (b) 两条圆锥 x2 + y2 = 1 与 x2 - y2 = 1/2
f2 = x**2 + y**2 - 1
g2 = x**2 - y**2 - Rational(1, 2)
print(intersections(f2, g2)) # 期望 4 个点
# 实验 3-B:相切时结式出现重根(重数为 2)
from sympy import symbols, resultant, factor, degree
x, y = symbols("x y")
f = y - 1 # 直线 y = 1
g = x**2 + y**2 - 1 # 圆
Rx = factor(resultant(f, g, y))
print(Rx) # x**2 -> 二重根 x = 0,重数 2
print("重数 =", degree(Rx, x)) # 2
# 实验 3-C:P1 上 O(d) 的上同调维数(亏格 0 的 Riemann-Roch)
# 对 d >= 0: h0(O(d)) = d + 1, h1(O(d)) = 0
# Euler 示性数 chi = h0 - h1 = d + 1 = 1 - g + deg(O(d)),其中 g = 0
for d in range(0, 7):
h0 = d + 1
h1 = 0
chi = h0 - h1
rr = 1 - 0 + d # 1 - g + d,g = 0
print(f"d={d}: h0={h0}, h1={h1}, chi={chi}, Riemann-Roch={rr}, 一致={chi == rr}")
预期输出。3-A 打印出 (a) 的 2 个点与 (b) 的 4 个点,与次数之积吻合;3-B 打印出结式 x2 及重数 2;3-C 对每个 d 都打印「一致」。三段的共同结论是一条:次数、重数、上同调维数,都能从多项式计算里读出来——Bézout 与 Riemann–Roch 不是两条孤立定理,而是同一套计数语言在不同维数下的两个截面。
| 名称 | 内容 | 注意 |
|---|---|---|
| 射影空间 ℙn | 子空间 𝔸n+1 ∖ {0} 的过原点直线全体 | 补进了无穷远点 |
| 齐次坐标 | z = [z0 : ⋯ : zn],求和对 0 无意义 | 整体缩放表示同一点 |
| 齐次坐标环 | S = k[z0, …, zn] | 分次环,齐次理想 |
| 射影簇 | V(I) = 所有齐次元的公共零点 | 须检验良定义 |
| 射影 Nullstellensatz | I(V(J)) = √J(J 齐次) | 与仿射版同形 |
| Bézout 定理 | 无公共分支时交点数 = mn | 计重数、在复数上 |
| 虚圆点 | I = [1 : i : 0],J = [1 : −i : 0] | 圆共有的无穷远点 |
| 有理函数 | 同次多项式之比,射影上取值良定义 | 齐次性约束 |
| 射影态射 | 由同次多项式组 [F0 : ⋯ : Fm] 给出 | 须无公共零点 |
| 结构层 𝒪X | U ↦ U 上的正则函数 | 层的公理:局部性、粘合 |
| 茎 𝒪X,p | 一点附近的正则函数芽 | 等价于局部环 |
| 模层 ℱ | 每个开集给一个 𝒪X(U)-模 | 凝聚 = 局部有限生成 |
| 截面 H0 | Γ(X, ℱ):整体函数 | 「能粘成」的部分 |
| 上同调 H1 | 粘合的障碍 | 维数与亏格同源 |
| 欧拉示性数 χ | χ(ℱ) = Σ (−1)i hi | 短正合列下可加 |
三条常用口诀。① 无穷远点别忘——求交点先射影化,否则计数永远差几个;② 重数要算——相切处的交点记两个,代数上就是重根;③ 局部看茎、整体看截面——上同调是两者的账本,H1 = 0 时拼接无阻。
下一编预告。本章把「次数」这个几何量与「上同调」这个代数量分别立了起来,却还没有证明它们同源。第四章将补上这最后一环:把两把尺子对齐,得到 Riemann–Roch 定理。它的推论之一,是让「亏格」——那个原本靠「几个洞」描述的拓扑量——第一次拥有纯代数的定义,从而可以被算、被推广、被搬进数论。
本章把「无穷远」请进画面、又给局部数据装上「层」,两件新事物的边界最容易含糊。四处高频误读逐一澄清。
真跑对账。用 SymPy 与手算各验一条:① (1 : 2) ~ (2 : 4) 是同一射影点(叉积为零);② 直线 y = 0 与抛物线 y = x2 在射影平面上恰 2 个交点(含重数),而仿射平面上也是 2 个——但换成 y = x2 与「无穷远直线」时,缺了射影闭包就会漏算;③ ℙ1 上 Čech 计算给出 H1(ℙ1, 𝒪(−2)) = 1 维。每个数字背后都是一次可复算的谱序列或行列式。
两件新事物的共同纪律:先问「在什么等价下」——射影点在缩放下、层在局部一致性下、上同调在层与基域的固定下。等价看准了,射影与层的语言就能一次说对。
★★★ 三道例题把 Bézout 从「公式」用成「工具」,最后一道正面碰上公式失效的边界。
例 3.4(直线与圆锥曲线)。求直线 L : y = x + 1 与圆 C : x2 + y2 = 1 的交点。
代入得 2x2 + 2x = 0,即 x(x + 1) = 0,两解 x = 0, −1,交点 (0, 1) 与 (−1, 0)。次数 1·2 = 2,与两个交点吻合。计数正确时,代数次数就是几何点数。
例 3.5(两圆锥曲线)。两椭圆一般有 2·2 = 4 个交点,且这些交点落在一条过它们的直线上吗?把两曲线方程写成 C1, C2,其一般线性组合 λC1 + μC2 是一族「过四交点的圆锥曲线」(Pascal 线族的雏形),取 λ, μ 使二次项退化,就得到过这四点的直线对——四点共线的问题被翻译成「曲线族里有没有退化的成员」。
例 3.6(相切与平行)。① 直线 y = 1 与圆 x2 + y2 = 1 代入得 x2 = 0,只有 x = 0 一个解——但它是二重根,按重数算仍是 1·2 = 2 个交点(切点计 2)。② 两条平行线 y = 0 与 y = 1 在仿射平面上不相交,在射影平面上却交于无穷远点 (1 : 0 : 0)——这就是「把无穷远请进来」的直接回报。
例 3.7(公式失效的边界)。若两曲线有公共分支(如同一因子),交点无穷多,mn 数不了。此时正确的说法是:把公共分支除尽后,剩余的移动分支才按 mn 计数。这正是 Bézout 定理标准表述里那句「无公共分支」的含义。
小结。Bézout 是「几何计数」的第一块拼图:它把「有几条、交几次」变成「几次乘几次」。但要它成立,必须补射影、计重数、固定代数闭域、排除公共支——四个前提,一个都不能省。
★★★ 层与上同调的练习重在「算得出来」。下面九题分三组:结构层与茎、射影簇的层、上同调的维数。
3.1.1 写出 𝔸1 的结构层 𝒪𝔸1 在两个开集 U = 𝔸1 \ {0} 与 V = 𝔸1 \ {1} 上的截面环,并验证它们在交上一致。
3.1.2 求 𝔸1 在原点 p = 0 处的茎 𝒪𝔸1, p,说明它同构于局部化 k[x](x)。
3.1.3 证明:若 X 不可约,则 𝒪X(U) 是整环,且所有非空开集上的函数域相同。
3.2.1 在 ℙ1 上,记 𝒪(n) 为次数 n 的扭转层。写出 𝒪(n) 在两个仿射图卡上的截面对映与转移函数 (x1/x0)n。
3.2.2 用 Čech 计算证明 H0(ℙ1, 𝒪(n)) 的维数当 n ≥ 0 时为 n + 1,当 n < 0 时为 0。
3.2.3 由此验证 H1(ℙ1, 𝒪(−2)) ≅ k(一维),并解释为什么 H1(ℙ1, 𝒪) = 0。
3.3.1 写出 ℙ1 上的欧拉序列 0 → 𝒪(−2) → 𝒪(−1)2 → 𝒪 → 0,说明映射 (s0, s1) ↦ x0s0 + x1s1 为什么正合。
3.3.2 对欧拉序列取长正合列,逐项代入 H0 与 H1 的值,核对 2 = 1 + 1 一类的维数账。
3.3.3 用 χ(𝒪(n)) = n + 1(ℙ1 上)验证欧拉特征的可加性 χ(𝒪) = 2χ(𝒪(−1)) − χ(𝒪(−2)),并与 Bézout「次数相加」的精神对照。
提示。Čech 计算只需两个仿射图卡:U0 = {x0 ≠ 0}、U1 = {x1 ≠ 0},交上的截面是 Laurent 多项式;H1 就是「交上拼不回去」的那部分商空间。两卡一交,全部维数一次算清。
第三章的两条主线——「把无穷远请进来」与「给局部数据装上层」——到此合流,小结分正反两张清单。
正面清单:本章建成的五件工具。① 射影空间 ℙn:用等价类补上无穷远,使「平行」也成为相交;② 齐次理想与射影簇:仿射字典逐条搬到齐次世界;③ Bézout 定理:deg C1 · deg C2 计交点(带四个前提);④ 层与结构层 𝒪X:把「正则函数」组织成随开集变化的对应,茎捕捉局部;⑤ 上同调 Hi(X, ℱ):度量「局部能否拼成整体」。
易错清单:四处高频误读的回看。① 求射影交点前先齐次化,忘掉无穷远点就会「少算」;② mn 不是无条件公式,重数、射影、闭域、无公共支四条缺一不可;③ 层的粘合是公理不是「显然」——局部一致才允许拼;④ 层上同调依赖层,同一个空间的 H1 可零可非零,全看选哪个 ℱ。
一句话收束。射影补上了「缺的那一角」,层把「一点附近」升级成「每块开集」,上同调则给「拼得成吗」一个代数答案——三者合起来,就是一台把「局部数据」翻译成「整体不变量」的机器。这台机器下一章将开足马力:把「曲线上的除子次数」与「截面空间的维数」缝成一条 Riemann–Roch 等式。
把无穷远点正式请进几何,并不是十九世纪的突发奇想——它是画师们几百年前就在用的一门手艺的代数化。
画师的直觉。文艺复兴的透视法里,画布上的平行线(比如街道两旁)总在远处汇成一点,画师称之为灭点。灭点不在画布的任何「实际位置」上,却又千真万确地控制着画面的结构——它是「无穷远」第一次被当作可以操作的几何对象。
Desargues 的代数。Gérard Desargues 把透视背后真正不变的东西找了出来:交比(cross-ratio)。无论怎样投影,四点交比不变——这才解释了两条平行线为什么「等价于」交于一点的直线。在他手里,射影不再依赖「平行」与「相交」的区分,而是统一成「任意两直线都交于一点,只是有时交在无穷远」。
齐次坐标的收束。把「无穷远」写进坐标,就是用一组齐次坐标 (x0 : ⋯ : xn):当最后一个坐标不为零时是仿射点,为零时就是无穷远方向的点。于是「平行线交于灭点」这句话在代数里有了精确形态——两个方向相同的点,齐次表示里只差一个尺度。
与中算的对照。中国古代的「透视图」(如《视学》里的透视作图)同样经验地使用了灭点;而 Euclidean 的《几何原本》刻意回避了「无穷远」。射影几何的出现说明一件事:把「例外」(平行)变成「常规」(相交),往往需要先扩大对象、再重新定义等价——这也正是本书第三章的做法。
从画布上的灭点,到交比的不变量,再到齐次坐标的等价类:射影几何把「无穷远」从一个禁忌变回一个点。这一步走通,Bézout 定理才可能成立——因为「缺的交点」终于有了落脚处。
三章走下来,我们已经有了「形状」的完整语言。射影空间补上了无穷远,层把「局部数据」组织成可以粘合的对象,上同调给「拼不成整体」一个代数的度量——从曲线到曲面,从 Bézout 到隐式的 Riemann–Roch,都在这套语言里说得清楚。
但有一个前提从未被质疑过:空间必须「住在」某个 𝔸n 或 ℙn 里。我们总先有一个多项式环 k[x1, …, xn],再取它某些理想的零点集。这条路线在算术面前立刻失效:素数 p 的「点」不是任何坐标,而是一个素理想;我们要研究 ℤ 上的「曲线」,可 ℤ 又不能嵌进任何 𝔸n。
Grothendieck 的答案把话反过来说:不要先有空间再找它的函数环,而是把空间本身定义为交换环 R 的素谱 Spec R——点就是素理想,拓扑由包含关系给出,结构层由局部化给出。这叫概型。这一换,Spec ℤ 立刻成为一个正经的几何对象,而它的「曲线」上每个点都带着一个剩余域——算术与几何从此缝成同一门学问。
下一章要做的,正是这次搬家:把前三章的每一个概念(簇、态射、层、上同调)逐一翻译到概型的语言里,看看哪些结论原封不动、哪些需要加强条件、又长出哪些新现象(比如「一般点」「纤维」「基变换」这些只在概型里才有的角色)。带着层与上同调,我们就有了走完这次搬家的全套装备。
一句话交给下一章:当「点」不再是坐标而是素理想,「空间」不再是集合而是环的谱——几何与算术就握手了。这次握手的名字,叫概型。
★★★ 前三编的簇都住在一个域 k 上,而且默认这个域「点够多」(代数闭)。这套语言很漂亮,却在两处踩空:其一,只要系数不再是域而是整数环 ℤ,坐标环与理想的语言就失灵;其二,代数闭的假设一旦撤掉,零点集甚至可能找不到点——x2 + 1 = 0 在 ℝ 上有理想而无点。算术与几何想合成一门学问,非得换一套地基不可。
Grothendieck 在 1950 年代末给出的应答,是本世纪几何最激进也最成功的一步:空间不必是「带上点的集合」,而可以直接定义为交换环的素谱 Spec R。素理想充当这个空间的点,Zariski 拓扑由理想生成,结构层由局部化装配。于是 ℝ 上的曲线、ℤ 上的算术、ℤ[x] 上的方程,统统变成同一类对象——概型。几何与数论第一次说上了同一种语言。
沿路的地标:
① 为什么推广(p96)。把簇的三处死角摊开——代数闭的依赖、幂零的丢失、整系数的无处安放——看清推广的动机。
② 素谱与概型(p97–p99)。定义 Spec R 为素理想之集,配上 Zariski 拓扑与结构层;概型 = 局部同构于仿射概型的局部环化空间。以 Spec ℤ、Spec k[x] 为第一组标本。
③ 态射与几何族(p100–p102)。态射、纤维积与基变换把「几何族」形式化,分离与紧合是它们的良态条件。
④ 上同调与对偶(p103–p109)。层上同调升级到概型:Čech 计算、消失定理与 Serre 对偶把「局部数据能否拼合」变成可算的维数账;除子与可逆层把「零点的账本」变成线丛。
⑤ 收束与登顶(p110–p124)。误读、例题、习题把语言用熟,实验与札记把视角拉远;Riemann–Roch 在本章完成预演——完整的等式与曲线的世界,留给第五章。
读法上一句口诀:几何对象的代数替身是一个环,几何问题翻译成这个环的交换代数问题。本章只是把「环」从坐标环放宽到任意交换环,其余一切——点、簇、函数、映射——都随之重定义。
要理解一次推广的价值,最好的办法是数清旧理论的裂缝。前三章的簇语言有三处明显的死角,每一处都逼出概型的一个特征。
死角一:离开代数闭域,点就不够用。设 k = ℝ,看多项式 f = x2 + 1。作为实系数多项式它当然存在,可它的零点集 V(f) 在 ℝ 上是空的。Nullstellensatz 在实数域上失效(它的证明依赖代数闭),于是「簇 ↔ 根理想」这本词典在 ℝ 上翻不动:理想 (x2 + 1) 非平凡,对应的「几何对象」却看不见。问题不在多项式,而在我们把「点」限定成了域的元素的组。
死角二:幂零元被抹掉。回想第一章的往返 I(V(J)) = √J——它把理想换成根理想,顺带抹去了幂零信息。例如坐标系里的 (x2) 与 (x) 有同一个零点集(x = 0),因为 √(x2) = (x)。可是 x2 携带的信息(「沿 x 方向一阶消失、二阶也消失」)在几何上有意义,尤其当我们要做「无穷小邻域」的分析时。簇语言把这些信息当成噪声丢掉了。
死角三:整系数无处安放。最要命的是算术。丢番图方程 x2 + y2 = p 里,p 是整数参数——我们真正关心的是「对哪些素数 p 有整数解」,这是关于 ℤ 的问题,不是关于任何单个域的问题。可在簇语言里,坐标系必须建在一个域上;ℤ 不是域,「ℤ 上的曲线」这句话甚至说不通。而 ℤ 的素理想结构(每个素数 p 与 (0))恰恰是好用的——它已经是一个几何空间的雏形,只是簇语言拒绝承认。
三处死角有一个共同的补救方向。第一处说:「点」不该是域的元素的组,而该是更一般的代数对象;第二处说:坐标环不该被压成根理想,幂零要保留;第三处说:地基不该限于域,而该是任意交换环。Grothendieck 的方案一步到位:把交换环 R 的素理想全体直接定义为空间 Spec R,其上的结构层由 R 的局部化装配。这样一来:
· 实数域上的 (x2 + 1) 对应 Spec ℝ[x] 里的一个闭点,它有几何意义(尽管没有实零点)——死角一填平;
· 坐标环里保留全部幂零,结构层如实地记住重数与无穷小——死角二填平;
· Spec ℤ 本身就是合法的几何对象,丢番图方程成为它上面的概型——死角三填平。
一句提醒。概型不是「簇的另一种写法」,而是把簇当作特例包进来的更大范畴:代数闭域上的既约有限型概型,恰好就是经典簇。推广的代价是直觉变模糊——素数成了「点」,Spec ℤ 画不成图——收益则是几何与算术从此共用一套词典。
先把「空间」本身立起来。Spec R 的定义简单得出奇,但它的拓扑需要一点适应。
素理想是「点的候选」这件事,需要说明为什么合理。回想第一章:代数闭域上,极大理想 (x1 − a1, …, xn − an) 一一对应于点 (a1, …, an);而「不可约子簇」对应一般素理想。既然不可约子簇也该算作一种「广义的点」(它有自己的坐标环,是整环),把素理想全部收作点,正是对「点」的合理放宽。
接着给 Spec R 配上拓扑。Zariski 拓扑规定:对任意理想 I ⊆ R,令
V(I) = { 𝔭 ∈ Spec R : 𝔭 ⊇ I },
所有这样的 V(I) 取作闭集。它满足闭集公理:V(I) ∪ V(J) = V(IJ),任意交 ∩α V(Iα) = V(Σα Iα),且 V(1) = ∅、V(0) = Spec R。与第一章一致,这个拓扑也很「粗」——开集稀疏,但它恰好使代数信息(包含关系的反转)成为几何信息。
为避免处理全体闭集,常改用一族基本开集:对 f ∈ R,令
D(f) = { 𝔭 ∈ Spec R : f ∉ 𝔭 },
它是闭集 V(f) 的补,且全体 D(f) 构成拓扑的一组基——任何开集都是若干 D(f) 之并。为什么用 D(f) 方便?因为「f 在 D(f) 上处处不为零」,于是 f 可以求逆——D(f) 上的函数环正是局部化 Rf = R[1/f]。这一步把拓扑与代数扣在了一起。
一个初看别扭、细想自然的现象:Spec R 里的点大多「不闭」。当 R 是整环时,零理想 (0) 是素理想,它的闭包是整个 Spec R——这样的点叫泛点,它「泛」到用一条稠密的影子代表整个空间。几何上这并不陌生:一个不可约簇的泛点,就是「那个簇本身的理想点」。它没有坐标,却决定了整片簇。
有了 space Spec R 还得有函数。第一章里,簇的函数是坐标环里的多项式;现在坐标环可能是任意环,函数必须挂在开集上——这正是第三章的层派上用场的地方。
𝒪Spec R(D(f)) = Rf = R[1/f],
结构层在一点 𝔭 处的茎,可以精确算出:它就是 R 在 𝔭 处的局部化 R𝔭——与第二章「局部环看一点」完全接轨。于是 Spec R 成了一个局部环化空间:每个点带一个局部环(茎),每个开集带一个函数环(截面),且两者通过「取芽」相容。仿射概型就是这样的对象。
最后一步是「局部地拼」。仿射概型只是一块图卡;把若干块用同构粘起来,就得到一般概型。
对照第一章的簇定义,能看出概型把「空间 + 函数」两件事分得更清:点由素理想给出(拓扑面),函数由局部化给出(层论面)。两者都从同一个环 R 生长出来,因此彼此自动相容——这正是概型的美。第三章学过的层与茎,在这里从「一种技巧」升格为「定义空间的方式」。
抽象定义要靠例子才知道分量。最基本的两个概型是 Spec ℤ 与 Spec k[x],它们恰好把「算术」与「几何」两张脸各占一张。
例 4.1(Spec ℤ:一条算术曲线)。ℤ 是主理想整环,素理想为 (0) 与所有 (p)(p 素数)。于是
Spec ℤ = { (0) } ∪ { (p) : p 素数 }。
拓扑上:泛点 (0) 稠密,其闭包是整个 Spec ℤ;每个 (p) 是闭点。基本开集 D(n)(n ≠ 0)的补是有限的几个 (p)(p | n),所以 Zariski 开集是「去掉有限多个素数」的集合。一个惊人的解释随之而来:每个素数是一个点,Spec ℤ 是承载所有素数的曲线,而它在某点处的局部环 ℤ(p) 正是第二册相邻领域里的局部化工具。几何与算术在这里是同一件事。
例 4.2(Spec k[x]:一条仿射直线)。设 k 代数闭。k[x] 也是主理想整环,素理想为 (0) 与所有 (x − a)。于是
Spec k[x] = { (0) } ∪ { (x − a) : a ∈ k },
闭点一一对应 k 的元素,泛点 (0) 张开成整条线。这正是第一章的仿射直线 𝔸1——只不过现在多了泛点这个「影子」。当 k 不代数闭(如 ℝ),差别立刻显现:x2 + 1 生成的理想 (x2 + 1) 在 ℝ[x] 里是极大的(因为 x2 + 1 不可约),所以它是 Spec ℝ[x] 的一个闭点——尽管它没有实零点。这个点就是「一对共轭复根 ±i」打包成的一个几何点,死角一由是填平。
例 4.3(两个概型的对照)。Spec ℤ 与 Spec k[x] 有平行的结构:都由「一个泛点 + 一族闭点」组成,闭点都由一个「不可约元素」生成。这正印证推广的初衷:ℤ 与 k[x] 在环论上是同一类东西(都是主理想整环),在几何上也该是同一类对象(都是一维「曲线」)。概型语言把这一平行,从类比提升为定理。
一个待办。Spec ℤ[x] 就复杂得多:它既有「水平方向」的曲线(每个素数 p 给出 𝔽p 上的直线),又有「竖直方向」的算术点,构成一片真正的二维图景。这类混合正是算术几何的舞台——p127 起会回到它。
空间立起之后,得能互相映射。概型的态射不是随便一个连续映射,而是「连同把函数也搬过去」的映射——第三章的层论在这里再次成为定义的一部分。
「局部」这两个字是唯一的技术性要求,却至关重要:它保证「在 x 处取值为零的函数」被拉回后「在 f(x) 处仍取值为零」——正是几何映射应有的行为。
仿射概型之间的态射可以完全用环说清。核心对应是:
Hom(Spec A, Spec B) ≅ Hom环(B, A)。
即「空间之间的映射」与「坐标环之间反方向的同态」一一对应。这与第一章的仿射簇完全同构:那时也是 φ : X → Y 拉回坐标环 φ# : k[Y] → k[X]。反变性是几何的普遍特征:点往前走,函数往回拉。
例 4.4(结构态射)。每个概型 X 都有唯一的态射 X → Spec ℤ(ℤ 是交换环范畴的初始对象,故坐标环之间的同态 ℤ → Γ(X, 𝒪X) 唯一)。这个态射叫结构态射,它把「X 的算术基座」显式化了——曲线、曲面、数论对象都通过它落在 ℤ 上。
例 4.5(𝔸1 → 𝔸1 的态射)。在仿射情形即环同态 k[t] → k[x],由把 t 送到某个多项式 p(x) 完全决定,对应几何映射 x ↦ p(x)。多项式映射的语言在这里原样重现,只是换成了概型的说法。
要点。概型态射的「函数反向拉」不是细节,而是整套理论的枢纽:纤维积要用它定义,上同调要用它作函子性,数论中的 Frobenius 也要靠它表述。第三章学的层同态,在这里第一次成为「映射」的组成部分。
有了态射,就能谈论「族」。而「族」的代数核心是一个纤维积——它在仿射情形退化成张量积,这把概型与交换代数最有力的工具直接接上线。
仿射情形的计算极其干净。若 X = Spec A、Y = Spec C、S = Spec B,则
Spec A ×Spec B Spec C ≅ Spec(A ⊗B C)。
几何的拉回,翻译成代数的张量积。这条对应是概型理论最常用的换算器:凡涉及纤维积,都先降到环去看张量积。
基变换。取态射 Y → S 作为「换个基座」,则 X ×S Y → Y 叫 X → S 沿 Y 的基变换。它把「S 上的一族几何」搬到新基座 Y 上,形状随基座的变化而变化——这正是「族」的正式含义。
纤维。最常用的基变换是取一点 s ∈ S:把 Spec κ(s) → S(κ(s) 是 s 的剩余域)与 X → S 相乘,得到 X 在 s 处的纤维 Xs = X ×S Spec κ(s)。于是「X → S 是一族曲线」这句话,有了精确的逐点读法:对每个 s,Xs 是一条曲线。
为什么这是「族」。把 X → S 想成「一族以 S 为参数空间的几何对象」,每个 s ∈ S 给出一个纤维 Xs。基变换就是换参数空间——这正是数论里「把 ℤ 上的方程模 p 看」的普遍化:Spec 𝔽p → Spec ℤ 是一次基变换,纤维 Xp 就是原方程模 p 的解集。
拓扑空间里,Hausdorff 与紧是两个最常用的「良态」条件。概型没有普通意义上的邻域,得用代数方式重造它们的替身:分离对应 Hausdorff,紧合对应紧。
为什么对角线反映「分离」?在拓扑里,X Hausdorff 当且仅当对角集 {(x, x)} ⊆ X × X 是闭集。概型把这个判据照搬,只把「闭集」升级为「闭浸入」。仿射概型天然分离(因张量积满射对应闭性);而不分离的例子里,最著名的是「带双原点的直线」——两条 𝔸1 沿去掉原点的部分粘起来,原点粘成两个点,于是「重合」不是闭条件。分离性排除了这类病态。
「万有闭」是紧的代数替身:拓扑里紧映射的特征是「闭集之像仍闭」,概型里同一句话必须在所有基变换后都成立才够强。关键范例是:
这条定理把第三章的射影几何接回概型语言:射影化带来的「完整、无边界」正是紧合的来源。仿射概型则一般不紧合(如 𝔸1 在无穷远处「漏了」,它不是紧的),这恰好解释了为什么第三章必须补无穷远点才能让 Bézout 成立——紧合性就是那件补上的外衣。
用途。分离与紧合在算术几何里是筛子:谈起「曲线」时默认它射影、光滑;谈起「族」时默认态射紧合,这样纤维不会「跑到无穷去」,闭性、有限性等结论才成立。做证明时,这两个条件几乎总在第一步就被用上(如「紧合 + 有限 ⟹ 有限射」的证明)。
第三章的层上同调对仿射簇已经够用;搬到概型上,它成为连接几何与计算的枢纽,而它最重要的应用是证明曲线上的 Riemann–Roch 定理。
给定概型 X 与其上的模层 ℱ,可定义上同调群 Hi(X, ℱ)(i = 0, 1, 2, …)。第 0 个就是整体截面 H0 = Γ(X, ℱ);高出的那些正是第三章说过的「拼不成的障碍」。它有两条救命性质:
0 → H0(ℱ) → H0(𝒢) → H0(ℋ) → H1(ℱ) → H1(𝒢) → ⋯,
对光滑射影曲线 X(亏格 g),上同调至多两阶非零:H0 与 H1,于是可以定义一个可加的交错和——欧拉示性数:
χ(ℱ) = h0(ℱ) − h1(ℱ), 其中 hi = dimk Hi。
χ(ℒ) = deg ℒ + 1 − g,即 h0(ℒ) − h1(ℒ) = deg ℒ + 1 − g。
这条等式的分量在两侧来源完全不同:左端是上同调维数(层论、线性代数),右端是次数与亏格(几何、拓扑)。Riemann–Roch 说它们相等——第三章埋下的伏笔(次数与上同调是同源的)在这里收束成一条定理。它还给出亏格的纯代数定义:取 ℒ = 𝒪X(deg 0),得 h0 − h1 = 1 − g,而 h0(𝒪X) = 1(常数函数),故
g = dimk H1(X, 𝒪X)。
「几个洞」的直觉量,由此成了一个可算的上同调维数。Serre 对偶再补一刀:H1(ℒ) ≅ H0(K ⊗ ℒ−1)*(K 是典范层),于是 h1 也能转成 h0 来算——Riemann–Roch 常被写成只含 h0 的形式。
历史。Riemann 先证了不等式,Roch 补上等式;Kempf、Baum–Fulton–MacPherson 等把其推广为任意维数的 Hirzebruch–Riemann–Roch,Grothendieck 又把曲线情形推广为相对形式(对任意态射),成为现代代数几何的标准工具。p121 的实验将用数值核对它的两端。
★★★★ 前一节把概型的「骨架」搭好,本节起检查它每一点附近的质感——三个性质都只看局部环 𝒪X,p。
定义(正则)。局部环 A 的嵌入维数 edim A = dimk 𝔪/𝔪2(极大理想的最少生成元个数)。若 edim A = dim A,称 A 正则;概型每点的局部环都正则,称 X 正则。
几何直觉:维数是「自由的方向数」,嵌入维数是「最少需要几个方程」。两者相等,说明方程没有互相纠缠——点像 𝔸n 里的一块;两者不等,就是奇点:例如尖点 y2 = x3 在原点 edim = 1 而 dim = 1?不——这里曲线一维、切空间却二维,edim = 2 > 1,不正则。正则性是「切空间维数 = 维数」的代数说法。
定义(正规)。局部环 A 在其分式域中整闭(等于自己在分式域里的整闭包),称 正规。一维 Noether 局部环里正规 = 正则;二维以上正规允许「有限多个奇点」(规范奇点)。
几何直觉:正规说「环里不缺点」。Spec k[x, y]/(x2 − y3) 这类尖曲线把两个分支「捏」在一起,它的正规化把捏住的点掰开——正规化是「补全缺失的点」的代数操作。
定义(光滑)。态射 f : X → Y 光滑,指它平坦且纤维几何正则;对域上的概型,光滑 ⟺ 基变换到代数闭域后正则。光滑是相对概念:「对基域族里每一根纤维都好」。
三个性质层层递进:正则是逐点的维数账,正规补齐坏点,光滑把账算到每一根纤维上。第四章之后所有的「良态假设」(光滑曲线、正则参数)都从这里出发。
★★★★ 概型语言真正的威力,在于它把「一族几何对象」当成一个对象来研究——这就是纤维与平坦的舞台。
定义(纤维)。态射 f : X → Y 与点 y ∈ Y,纤维是拉回图Xy = X ×Y Spec k(y)——把「底座换成点 y」之后剩下的空间。若 f 是曲线族在曲面上的投影,纤维就是每一根曲线。
例子:椭圆曲线的 Weierstrass 方程 y2 = x3 + a(t)x + b(t) 把一族椭圆曲线摆在参数 t 上,态射到 𝔸1;纤维 t = t0 就是参数取定时的那条椭圆曲线——「退化」(判别式为零)的纤维正是族里最危险的点。
定义(平坦)。A 模 M 平坦,指张量函子 − ⊗A M 保持单射(不产生「新的碰撞」)。态射平坦 = 每点局部环作为底环模平坦。
为什么平坦重要:平坦保证纤维的数值不变量不跳跃——维数、Hilbert 多项式、欧拉特征在平坦族里恒定。例如把椭圆曲线族的纤维从特征 0 换到特征 p(基变换 ℤ → 𝔽p),若平坦,则「好约化」这一性质对一般纤维稳定。平坦是「代数版本的连续性」:连续函数不撕裂,平坦族不断层。
定理(平坦下的维数稳定)。若 f : X → Y 平坦,则对 Y 的不可约分支上一般点,纤维维数 dim Xy = dim X − dim Y,且不随一般点变化。「跳跃」只能发生在低维的坏点集合上——那里正是族最值得研究的地方。
「空间 ↦ 环」让我们能问「一族形状怎么样」;平坦回答「这族连不连续」。概型语言的第二个独门优势:把「参数」变成几何——模空间理论(第六章)就从这里起步。
★★★★ 本节把「函数的零点与极点」升级成两种代数对象,并宣布它们是同一件事。
定义(Weil 除子)。在 Noether 正规概型上,余维 1 不可约闭子概型(素除子)的形式整系数和D = Σ ni Yi 称除子。光滑曲线上的除子就是「带系数的点集」:D = 2p − q 表示「在 p 记 2 次、在 q 记 −1 次」。
主除子。有理函数 f 的零点减极点:div(f) = Σ vY(f) · Y(v 是离散赋值)。除子 modulo 主除子的商群 Cl(X) 是除子类群——第三章坐标环的「零点账」的正式版本。
定义(可逆层)。层 ℒ 可逆(线丛),若存在开覆盖使 ℒ|Ui ≅ 𝒪Ui。可逆层在张量 ⊗ 下成群 Pic(X)(同构类)。Cartier 除子用「局部函数的比」定义除子,其类恰与可逆层一一对应。
定理(两本账对齐)。光滑(或正则)概型上,Cl(X) ≅ Pic(X);Weil 除子类与线丛类一一对应。例子:𝔸2 \ {0} 的 Cl = ℤ(多了一个类),而 𝔸2 的 Cl = 0——「挖掉一点」在除子语言里立刻读出。
为什么是第五章的门票:曲线上「除子的次数」与「截面空间 Γ(X, ℒ(D)) 的维数」之间有一条精确等式——Riemann–Roch。本章先备好语言:除子是「记零点」的账,可逆层是「给零点配空间」的账,两者同构。
「把零点变成线丛」是代数几何里最典型的一次翻译升级:点集 → 形式和 → 层 → 群。每升一级,能算的东西就多一层。
★★★★ 概型的态射比簇时代的「多项式映射」宽得多,本节给它立三档强度与一条金标准。
定义(有限型)。f : X → Y 有限型,指每点的仿射局部 Spec B → Spec A 中 B 是 A 上有限个变量的有限生成代数。一切「多项式方程定义的对象」都是有限型——这是簇世界的直接推广。
定义(有限)。f 有限,指 B 是有限生成 A-模(不是代数而是模)。纤维是有限点集(可能带重数)。例子:Spec ℂ[x]/(x2 − a) → Spec ℂ 是有限态射——两根平方根是「2 个点」。
定义(射影态射)。若 X ⊂ ℙnY 是 ℙnY 的闭子概型,称 f 射影。射影态射是「用齐次多项式在相对世界里造的对象」。
定义(紧合)。态射分离(对角线闭)、泛闭(任意基变换后仍闭映射)且有限型,称紧合。射影 ⟹ 紧合;紧合直观上是「纤维完备、没有跑到无穷远去的漏点」。
为什么紧合是金标准:簇时代「射影空间是紧的」带来一切良好性质(闭集的像仍是闭的、交点是有限集)。概型没有拓扑紧性可说,但紧合把这些性质原样搬进代数:紧合态射的像是闭的、存在性定理(第六章模空间的 properness)都建立在这条上。
三档强度回答三个问题:有限型问「方程有限吗」,有限问「纤维是点集吗」,紧合问「东西会跑掉吗」。回答好这三问,态射的几何才算真正上手。
★★★★ 第三章的 Čech 上同调原封不动搬到概型上,但概型世界多了一条决定性定理。
定理(Serre 仿射消失)。X 仿射概型、ℱ 拟凝聚层,则Hi(X, ℱ) = 0(i > 0)。
这条定理是概型语言的定心丸:仿射世界里「局部数据自动拼成整体」——局部化环 Af 之间的粘合没有障碍。上同调是非仿射性的度量:哪里不是仿射,哪里才有 H1。
射影情形怎么做:用标准仿射覆盖 𝔸ni(n+1 张卡)跑 Čech。对 ℙ1 两卡足矣:H1(ℙ1, 𝒪(−2)) ≅ k——欧拉序列与长正合列把全部维数一次算清(第三章习题课 3.2.2/3.3.2)。
定理(凝聚层的有限性)。射影概型上凝聚层的 Hi(X, ℱ) 是有限维向量空间,且仅有限多个 i 非零。「上同调有限」是射影几何能被计算的根基。
短正合列的用法。层正合列 0 → ℱ′ → ℱ → ℱ″ → 0 给出长正合列0 → H0(ℱ′) → H0(ℱ) → H0(ℱ″) → H1(ℱ′) → ⋯——未知维数由已知维数「递推」出来。这是第五章算 Γ(X, 𝒪(D)) 的主力机器。
一句话立起本节:仿射无上同调,射影有账可算,正合列是记账的流水线——概型语言把第三章的「障碍直觉」变成了一台可以逐项计算的机器。
★★★★★ 上同调算出「障碍的维数」,Serre 对偶再把这些障碍对偶成另一个层的截面——Riemann–Roch 的最后一块拼图就此到位。
典范层。光滑 n 维概型 X 的典范层 ωX = ΩnX(微分形式层的最高次外幂)。𝔸1 的 ω = 𝒪 · dx;ℙ1 的 ω ≅ 𝒪(−2)——「无穷远处微分掉一次」正是 Riemann 球面上留数和为零的代数影子。
定理(Serre 对偶,曲线版)。光滑射影曲线 X 与可逆层 ℒ,H1(X, ℒ) ≅ H0(X, ωX ⊗ ℒ∨)∨。即:H1 的维数 = 「典范层修正后的截面」的维数。
立刻读出 Riemann–Roch 的骨架:取 ℒ = 𝒪(D),ℓ(D) − ℓ(K − D) = deg D + 1 − g 正是「维数 − 对偶维数 = 次数 − 亏格修正」。Serre 对偶负责「对偶那一项」,Riemann–Roch 负责把等式写完整——下一章第一章题就是它。
欧拉特征登场:χ(ℒ) = dim H0(ℒ) − dim H1(ℒ)。由对偶,χ(ℒ) = ℓ(D) − ℓ(K − D);它对短正合列可加(长正合列逐项相消),因此是稳定不变量——Hirzebruch–RR「χ = 相交数」的曲线原型就是这里。
本节的钥匙一句话:上同调的「障碍」不是废料,它对偶于另一个层的截面。障碍与截面本是同一笔账的两面——这就是「对偶」二字在几何里最漂亮的一次兑现。
概型把「点、纤维、上同调、光滑」全部升级,四处高频误读逐一澄清。
真跑对账。① Spec ℤ[x] 中素理想 (0)、(2)、(2, x) 三层结构按包含排序(一般点 → 线 → 闭点);② Spec ℂ[x]/(x2) 的纤维是带重数的点(非既约);③ H1(ℙ1, 𝒪(−2)) = 1 与 H1(ℙ1, 𝒪) = 0 的维数差完全由层决定。四句话,三条对账,陷阱清零。
概型语言的纪律与第三章同款:先问「点是什么、层是哪个、基座在哪」——这三问过完,一般点、重数纤维、层上同调、相对光滑就都各就各位。
例 4.9(Spec ℤ 的素谱)。整数环的理想都是主理想 (n)。其中素理想只有两类:(0) 与 (p)(p 素)。于是
Spec ℤ = {(0)} ∪ {(2), (3), (5), (7), …}。
几何上,(0) 的闭包是整个空间,是泛点;每个 (p) 是闭点。这一根「线」看似朴素,却是所有数论几何的原型:把它与曲线做纤维积,就在每个素点处「模 p 看」。
例 4.10(ℤ[√2] 的素谱)。商环 ℤ[x]/(x2 − 2) ≅ ℤ[√2]。它的素理想对应「x2 − 2 在 𝔽p 上的分解方式」:对奇素数 p,三个分支——
p 分裂(2 是平方 ⟹ 两个素理想)/p 惰性(仍是素理想)/p 分歧(重根)。
这正是相邻领域里「素理想如何分裂」的几何版本:p 分裂当且仅当同余式 x2 ≡ 2 (mod p) 有解。一个环论现象,被读成了「一根线上的点如何散开」。
例 4.11(局部化 = 挖去子集)。取环 R 与乘性子集 S,局部化 S−1R 的素谱恰是 Spec R 中与 S 不交的那些素理想。特别地,对 R = ℤ、S = {2k},得 ℤ[1/2],其素谱就是把 (2) 这一点挖掉后的 Spec ℤ。一般地,Spec R[1/f] = D(f) = Spec R ∖ V(f)——「主开集」正是一块挖掉闭集的补。
例 4.12(有理数的自交)。取 ℚ 作为 ℤ-代数,则
ℚ ⊗ℤ ℚ ≅ ℚ。
因为 ℚ 是 ℤ 的局部化(把所有非零整数取逆),局部化的张量积是局部化。几何上,Spec ℚ ×Spec ℤ Spec ℚ ≅ Spec ℚ——「泛点在基变换下仍是泛点」。若把 ℚ 换成两个互素的分母集合,结论就改变:分歧来自「共享的素点」。
例 4.13(曲线模 p 的纤维)。设 E : y2 = x3 − x 定义在 Spec ℤ 上。对每个素点 p,纤维 Ep 是模 p 的曲线:
判 p = 2 时右端有重根 ⟹ 坏约化;p ≡ 1 (mod 4) 时分裂成两因子;p ≡ 3 (mod 4) 时右端不可约。
这就是「族的逐点读法」:一条 ℤ 上的曲线,在每个素点处呈现不同的分解型态。好约化与坏约化的区分,正是用「纤维是否仍光滑」来下的定义。算术几何的许多定理(如 Néron–Ogg–Shafarevich 判据)都建立在对这些纤维的精细控制上。
例 4.14(仿射平面的张量积)。对域 k,
k[x] ⊗k k[y] ≅ k[x, y], 故 𝔸1 ×Spec k 𝔸1 ≅ 𝔸2。
两个一维空间在基座上相乘,维数相加变成平面——「张量积把变量个数相加」是最本初的维数直觉,也是「分量环的维数=各分量维数之和」的原型。注意这一等式只在基域足够好时成立;换到一般基环,张量积可能带「多余的分支」,其行为恰恰揭示了基变换的信息。
方法。凡遇纤维积,第一动作是「降到环上算张量积」,看商环的素理想,再翻译回几何。这三步在 p112 的习题里会反复用到。
★★☆ 五道题,围绕素谱、局部化与纤维积。前三道把「点与开集」的代数读法练熟,后两道把张量积接到算术上——那里才是概型真正的用武之地。
4.1(素理想还是极大理想) 判断下列理想各自属于哪一类,并说明对应点在相应素谱里的「胖瘦」:(a) (x2 + 1) ⊂ ℝ[x];(b) (x2 − 1) ⊂ ℝ[x];(c) (2, x) ⊂ ℤ[x];(d) (0) ⊂ ℤ。
提示:看商环是不是整环、是不是域。(a) 的商环同构于 ℂ,是域,故极大——它对应一个「没有实零点」的闭点,正是概要替簇补上的那类点;(b) 的商环有零因子((x − 1)(x + 1) ≡ 0,而两者都非零),故非素;(c) 的商环同构于 𝔽2,是域,故极大;(d) 的商环同构于 ℤ,是整环而非域,故素而非极大——它是 Spec ℤ 的泛点。
4.2(Spec ℤ[√2] 的分解型) 在 ℤ[√2] ≅ ℤ[x]/(x2 − 2) 中,就奇素数 p 讨论其上方素理想的三种情形(分裂、惰性、分歧),并给出判据。
提示:(p) 在 ℤ[√2] 中的行为由 x2 − 2 ≡ 0 模 p 的根的个数决定,等价于「2 是否为模 p 的二次剩余」:2 是二次剩余则分裂为两个素理想;是二次非剩余则 (p) 仍素(惰性);p = 2 时 x2 − 2 ≡ x2 出现重根,分歧。
4.3(主开集就是局部化) 设 R = k[x, y],f = x。写出主开集 D(f) 上结构层的截面环,并说明为何其中「只有 x 的幂允许出现在分母」。
提示:Γ(D(x), 𝒪) = R[1/x] = k[x, y, 1/x]。原因在 D(x) 上 x 处处不为零,于是允许求逆;而 y 在 x = 0 处可取零,不允许求逆。一般的规律是:允许求逆的元素越多,局部化后的环越小——这与「开集越大、可用的函数越少」恰好对应。
4.4(从环同态造态射) 给出环同态 φ : ℤ[t] → ℤ[i](把 t 送到 i)所对应的概型态射,并说明它在素谱层面把素理想映向何处。
提示:用核心对应 Hom(Spec A, Spec B) ≅ Hom环(B, A),此处 A = ℤ[i]、B = ℤ[t],故 φ 给出态射 Spec ℤ[i] → Spec ℤ[t];它把每个素理想 𝔮 送到其逆像 φ−1(𝔮),方向与环同态相反。几何上它是把「高斯整数组成的格点」映回「t 坐标线」的那张映射。
4.5(张量积造纤维) 计算 ℂ ⊗ℝ ℂ 与 𝔽p ⊗ℤ 𝔽q(p ≠ q 为素数),并据此说出对应的纤维积概型长什么样。
提示:ℂ ≅ ℝ[t]/(t2 + 1),而 t2 + 1 = (t − i)(t + i) 在 ℂ 上分裂,故 ℂ ⊗ℝ ℂ ≅ ℂ × ℂ,对应两个点——「一个实点张开成一对共轭复点」,与 p99 的死角一遥相呼应。又 𝔽p ⊗ℤ 𝔽q ≅ 𝔽p/(q) = 0(q 在 𝔽p 中可逆),故纤维积是空概型——互素的素数在基座上互不相遇。
★★★★ 四道例题把 Pic 群从「定义」算成「数字」,并正面撞上 Weil/Cartier 的分界。
例 4.1(𝔸1 的 Pic 平凡)。多项式环 k[x] 是主理想整环,任何可逆层由一个局部函数拼成,粘合函数在交上差一个单位;k[x]× = k× 常数,粘合整体化 ⇒ Pic(𝔸1) = 0。「没有障碍」直接读成「线丛全是平凡的」。
例 4.2(ℙ1 的 Pic = ℤ)。用两卡覆盖 Čech 计算:可逆层由交上的转移函数 f01 ∈ k[x, x−1]× = k× · xn 决定,指数 n ∈ ℤ 恰是层的类:Pic(ℙ1) ≅ ℤ,𝒪(n) 对应 n。「次数」就是 Pic 的生成元。
例 4.3(主除子的账)。在 ℙ1 上取有理函数 f = x1/x0:它在 [1 : 0] 有一个零点、在 [0 : 1] 有一个极点,div(f) = [1 : 0] − [0 : 1]。任何 deg 0 除子 modulo 主除子都归零——这正与 Pic ≅ ℤ(按 deg 分类)互为印证。
例 4.4(Cl 与 Pic 的错位)。U = 𝔸2 ∖ {0}:Weil 除子类群 Cl(U) ≅ ℤ(过原点的直线类非主——原点被挖掉,函数「差不出」直线);但 Pic(U) = 0(该层由局部函数拼成可以整体化)。Cl ≠ Pic 的根源是「正则性」缺失:Weil 除子只看到余维 1 的闭子概型,Cartier 除子还要求它是某个函数的比。
小结。可逆层的账本 Pic 在正则世界里与除子类群 Cl 重合;离开正则,两者分道——第五章的曲线都光滑,账本天然合一,这正是 Riemann–Roch 敢于把「除子次数」与「截面维数」写在同一个等式里的原因。
★★★★ 九题分三组:消失、Čech 维数、对偶与欧拉特征。
4.2.1 证明:若 A 是主理想整环,则 Spec A 上任何拟凝聚层由其在整体截面上的模决定。
4.2.2 用 Čech 计算验证 H1(𝔸2 ∖ {0}, 𝒪) = 0:取 Ux = {x ≠ 0}、Uy = {y ≠ 0},交上的 Laurent 单项式哪些能整体化?哪些虽然拼不回但被高阶上同调吸收?
4.2.3 用 ℙ1 的两卡覆盖算 dim H0(ℙ1, 𝒪(n)) = max(0, n + 1),并写出 n = 2 时的一组基。
4.2.4 用欧拉序列推出 dim H0(ℙ1, 𝒪(2)) = 3,与「二次齐次式有 3 个系数」对照,并解释 χ(𝒪(2)) = 3 的几何含义。
4.2.5 对正合列 0 → 𝒪(−2) → 𝒪 → 𝒪p → 0(点 p 的理想层)取长正合列,验证 H1(𝒪(−2)) ≅ k 与 χ 的可加性 1 = 1 + 0?逐项核对每一项的维数。
4.2.6 证明 ωℙ1 ≅ 𝒪(−2):写出两个仿射卡上的微分 dx、dy 在交上的转移函数。
4.2.7 用 Serre 对偶验证 H1(ℙ1, 𝒪(−2)) ≅ H0(ℙ1, 𝒪)∨ ≅ k。
4.2.8 设 ℒ = 𝒪(−1)。对偶给出 H1(𝒪(−1)) ≅ H0(𝒪(−1))∨ = 0;用 Čech 或欧拉序列独立验证之。
4.2.9 对 n = 0, −1, −2 计算 χ(𝒪(n)),并验证它随 n 线性(斜率 1)——这条直线下一章将被 Riemann–Roch 解释为「亏格 0 的几何」。
提示。Čech 的两卡计算只需盯住交 𝔸1 ∖ {0} 上的 Laurent 多项式:x−1 项「欠在 H1」,次数 ≥ 0 的项「整体化」。每一道维数题都是一次可复算的级数展开。
本章十一节有一条清晰的上升线:先换地基、再装眼睛、最后配算盘。
一句话路标:「空间=环的谱」给了算术一个家,「层与上同调」给了形状一把尺——这两件工具一旦合手,几何就能对数论开口说话。
把本章十一节压成五步,每一步都对应一次「词典的扩写」。
① 点升级。坐标点 → 素理想。闭点之外多出一般点:Spec ℤ[x] 的 (0) 捕捉整条「线」,Zariski 拓扑由包含关系生成——点的身份由它「包含谁」决定,而不是由坐标决定。
② 空间升级。代数集 → 概型。空间不再「住在」𝔸n 里,而是 (Spec R, 𝒪) 本身:结构层是空间的一部分,不是附属品。Spec ℤ 与 Spec k[x] 在同一语言下并排而坐。
③ 映射升级。多项式映射 → 态射 + 纤维积。纤维积让「参数」成为几何:基变换铺出「一族对象」,平坦回答「族连续吗」。
④ 数据升级。坐标环 → 层与茎。局部化环 𝒪X,p 把「一点附近」变成可运算对象;局部性质(正则/正规/光滑)全部只在茎上说。
⑤ 计数升级。几何直觉 → 上同调。Serre 消失说「仿射无障碍」,Čech 与长正合列把射影的账逐项算清,Serre 对偶再把障碍对偶成截面——计数从此有了统一的代数流水线。
五步走完,簇时代的每一个直觉都有了概型版:不是推翻,而是扩写——旧字典的每一条都能在新世界里找到对应,只是「点」「空间」「映射」全都变得更宽。
反面清单:五处容易走偏的地方,逐条给出「正确姿势」。
① 别把一般点当「可有可无」。(0) ∈ Spec ℤ[x] 是一般点,没有它,「两个多项式的公共零点」这类陈述无法在概型里说。闭点回答「在哪里」,一般点回答「是什么形状」。
② 别把纤维当解集。纤维是基变换后的概型,带重数与非既约结构(x2 = 0);重数是纤维的合法内容,不是误差。
③ 别把 Hi 当拓扑不变量。层上同调依赖层:ℙ1 的 H1(𝒪) = 0、H1(𝒪(−2)) = 1。先选层,再算障碍。
④ 别把「正则」与「光滑」混用。对域上概型两者等价;对一般态射,光滑 = 平坦 + 纤维正则。相对世界说相对话。
⑤ 别把 Pic 与 Cl 混用。𝔸2 ∖ {0} 的 Cl = ℤ 而 Pic = 0;两者在正则世界才合一——第五章一切曲线都光滑,账本天然对齐。
收获清单与易错清单互为表里:概型语言的价值不在于抽象本身,而在于它让「算术、参数、奇点、零点、障碍」五件事第一次共用同一本词典。
第三章说「几何是局部数据如何拼成整体」,本章把它说得更狠:空间本身不必预先存在——先有环,空间就是它的素谱;先有层,几何性质就是层的性质。
这张思想卡列出四次「落回代数」的翻译:
① 维数 ↦ 链。「这块形状有几维」=「环里素理想能串多长」——Krull 链 (0) ⊂ (x) ⊂ (x, y) 的长度就是 𝔸2 的维数 2。
② 奇点 ↦ 生成元。「这一点光滑吗」=「局部环的极大理想最少几个生成元、够不够维数」——Jacobian 判据的代数形态。
③ 相交 ↦ 张量。「两个对象撞出什么」=「纤维积把两个环张量到一起」——碰撞的重数被代数自动记下。
④ 障碍 ↦ 上同调。「局部数据拼不拼得成」=「上同调群是不是零」——障碍的维数是可计算的代数量。
为什么这一步值得立卡:它把「几何直觉」与「代数计算」焊死在同一张工作台上——第五章 Riemann–Roch 之所以可能,正因为「曲线的形状」与「环上的层」已经是同一件事的两面。
★★★★★ 下一章的第一座高峰是 Riemann–Roch 定理。本章已把五级台阶备齐,挑战是:沿这五步,把定理的「骨架」亲手搭一遍。
攀登的意义不在结论而在路线:「线性项 + 对偶项」这副骨架,在第六章会以 Hirzebruch–RR 的面目重演——χ = 相交数。第一次遇见它,就在这条五步路线上。
把本章的三个核心对象各写一段程序:分解型(素谱)、点数(纤维)、上同调维数(除子与 Riemann–Roch)。三段都只依赖 sympy 与标准库。
实验 4.1 分解型:多项式模 p 的因子数。把 x2 − 2 在每个小素数处分解,因子个数直接读出素理想的分解型:
# 分解型:x2 - 2 在 F_p 上的因子数 -> 分裂 / 惰性 / 分歧
from sympy import symbols, Poly, GF, factor_list
x = symbols("x")
f = Poly(x**2 - 2, x)
for p in [3, 5, 7, 11, 13, 17, 19, 23]:
fp = f.set_domain(GF(p))
coeff, facs = factor_list(fp) # facs = [(因子, 重数), ...]
n = len(facs) # 不同不可约因子的个数
if any(m > 1 for _, m in facs):
kind = "分歧"
elif n == 2:
kind = "分裂"
else:
kind = "惰性"
print(f"p={p:2d}: 因子数={n} -> {kind}")
预期输出。p = 7, 17, 23 打印「分裂」(这些素数 ≡ ±1 (mod 8),2 是二次剩余);p = 3, 5, 11, 13, 19 打印「惰性」;p = 2 若加入列表会打印「分歧」。这与 p113 习题 4.2 的手算结论逐条吻合——「素理想如何分裂」被翻译成了「多项式模 p 有几个根」,而后者是机器最擅长的事。
实验 4.2 纤维:椭圆曲线模 p 的点数与 Hasse 界。逐一数点并核对 |Np − (p + 1)| ≤ 2√p:
# 数点数:E: y2 = x3 + a x + b 在 F_p 上的有理点(含无穷远点)
def count_points(a, b, p):
sq = {(y * y) % p for y in range(p)} # 全部平方剩余(含 0)
cnt = 1 # 无穷远点
for x in range(p):
r = (x**3 + a * x + b) % p
if r == 0:
cnt += 1 # y = 0
elif r in sq:
cnt += 2 # y = +-sqrt(r)
return cnt
a, b = -1, 0 # E: y2 = x3 - x
for p in [3, 5, 7, 11, 13, 17]:
N = count_points(a, b, p)
err = abs(N - (p + 1))
hasse = 2 * (p ** 0.5)
print(f"p={p:2d}: #E={N:2d}, |N-(p+1)|={err:.1f}, 2sqrt(p)={hasse:.2f}, Hasse成立={not (err > hasse)}")
预期输出。p = 3 时 #E = 4,p = 5 时 #E = 8(与 p143 习题 4.9 一致),其后每行末都打印 True——Hasse 界无例外成立。这个界正是 Weil 猜想在曲线上的第一格:误差项被压到 √p 的量级,而它等价于「Riemann 假设对这条曲线成立」。
实验 4.3 除子与 Riemann–Roch 的两端对拍。对 ℙ1(亏格 0),逐次数 h0 − h1 与 deg ℒ + 1 − g:
# Riemann-Roch 对拍(P1, g=0)
# h0(O(d)) = d+1 (d>=0),否则 0;h1(O(d)) = -d-1 (d 不大于 -2 时为零),否则 0
g = 0
for d in range(-3, 7):
h0 = d + 1 if d >= 0 else 0
h1 = -d - 1 if -d - 1 > 0 else 0
chi = h0 - h1
rr = d + 1 - g # 右端:deg + 1 - g
print(f"deg={d:3d}: h0={h0}, h1={h1}, chi={chi:3d}, RR={rr:3d}, 一致={chi == rr}")
预期输出。无论 deg 为正、为零还是为负,末列一律打印 True。注意 deg = −1 与 deg = −2 处 (h0, h1) 从 (0, 0) 跳到 (0, 1)——单个上同调群在跳变,可容许的交错和却始终是 deg 的一次函数。这个「单个跳跃、整体线性」的对比,正是欧拉示性数可加性的直观来源,也是 Riemann–Roch 能用一条直线公式统辖所有次数的原因。
实验结论。三段程序分别验证了本章的三个翻译:素理想分解 ← → 多项式因子数(p113 习题 4.2)、纤维的点 ← → 模 p 的解数(p143 习题 4.9)、上同调维数 ← → 次数与亏格(p103 定理)。概型与上同调看似抽象,落到机器上都是有限次运算。
「用方程研究图形」有两百年历史,但它并不是一条直线走下来的——中途有过一次主角的更替。
解析几何:坐标与图形互相翻译。Descartes 的路线是「双向」的:把图形翻成方程去算,把方程的解画回来看。这条路线有一个隐含承诺:坐标始终在场——图形总是某个 𝔸n 的子集。
分岔点:环成为主角。十九世纪末,代数学家发现「坐标环」携带的信息远比「点集」多:同一批点可以带不同环(重数、非既约结构),而环完全决定这些差别。Grothendieck 把主客颠倒:不是「点集上带一个函数环」,而是「环本身生成空间」——点降级为素理想,坐标不再是前提而是特例(代数闭域上的仿射簇)。
中算的对照。中国古算的「方程术」(〈九章算术〉第八章)用筹码摆方程、按位消元,其精神是「对系数做运算,不追问图形长什么样」——这与「环为主角」的代数几何惊人地同调:代数自足,几何是它的影子。而古希腊几何(Euclid)则相反:图形为本、代数为仆。解析几何是两者的第一次握手,概型是第二次——这一次,代数成为土壤,几何从中生长。
得与失。主角更替的代价是抽象:再也不能「一眼看见」Spec ℤ。换来的是空前的统一:数论、复几何、奇点理论第一次说同一种语言——本册第五章的曲线论与第六章的现代疆界,都是这次更替的红利。
从坐标到环,不是换了记号,而是换了什么是「基本对象」。解析几何把方程交给图形;代数几何把图形交给环——两句话,隔着一整个二十世纪。
| 对象 | 定义 | 备注 |
|---|---|---|
| Spec R | 素理想全体 + Zariski 拓扑 + 结构层 | 点含一般点 |
| 概型 | 拓扑空间 + 结构层,局部仿射 | (X, 𝒪X) |
| 纤维 | X ×Y Spec k(y) | 基变换,带重数 |
| 平坦 | 张量保持单射 | 维数/χ 不跳跃 |
| 正则 | edim 𝒪p = dim 𝒪p | 切空间维数=维数 |
| 光滑(态射) | 平坦 + 纤维几何正则 | 相对性质 |
| Weil 除子 | 余维 1 闭子概型的形式和 | 类群 Cl(X) |
| 可逆层 | 局部同构于 𝒪 的层 | 群 Pic(X) |
| Serre 仿射消失 | Hi(U, ℱ) = 0(i>0,U 仿射) | 障碍只在非仿射处 |
| Serre 对偶 | H1(ℒ) ≅ H0(ω ⊗ ℒ∨)∨ | 光滑射影曲线 |
| 欧拉特征 | χ(ℒ) = dim H0 − dim H1 | 短正合列可加 |
记号约定:ℒ 线丛、ℒ∨ 对偶层、ωX = Ωn 典范层、𝒪(D) 除子对应的线丛、ℓ(D) = dim Γ(𝒪(D))。第八条速查(χ 可加)是第五章一切计算的引擎。
四章走下来,我们有了两件工具。概型给了算术一个家:Spec ℤ 与Spec k[x] 在同一语言里平起平坐;层与上同调给了形状一把尺:局部拼整体的障碍被写成可计算的维数。
但「维数」至今只是一笔抽象的账。Krull 链告诉我们环有几层,却不回答一个最朴素的问题:一条曲线的「洞」,数在哪里?Riemann 的答案是亏格——它可以由微分形式的空间算出,也可以由上同调算出,还可以由「洞」的个数直观看出:三条路通向同一个整数。
下一章就住在维数 1 里。曲线是概型世界最丰饶的舞台:除子看得见(点)、线丛算得动(𝒪(D))、上同调只有 H0 与 H1 两层。于是本章备好的所有工具第一次同时发力,拧出全书第一座高峰——Riemann–Roch 等式;随后跨进算术:椭圆曲线的群律、Mordell–Weil、有限域上的点数与 Weil 猜想。
一句话交给下一章:概型是语言,上同调是算盘,曲线是第一个值得认真算的形状——算出来的第一条大定理,就叫 Riemann–Roch。
★★★★ 第四章把「空间」的地基换成了环,把「局部与整体」的语言配齐了。但几何最古老的问题还悬着:一条曲线上有多少个「好点」?有理数解、整数解、有限域上的解——丢番图方程问了两千年,一直没有一个能统一作答的框架。
本章的回答分三步。第一步,把「形状」收敛到最丰沃的一类对象:光滑射影曲线,并用一个整数——亏格 g——给它分门别类。第二步,把「计数」装进一个生成函数:ζ 函数,让有限域上的点数序列变成可研究的多项式。第三步,把两者的桥搭起来:Riemann–Roch 管几何,Frobenius 管计数,étale 上同调让两者说同一种语言。
沿路的地标:
① 线性系统与 Riemann–Roch(p131–p132)。除子的「配置空间」是射影空间;ℓ(D) − ℓ(K − D) = deg D + 1 − g 是全书的第一个大定理。
② 椭圆曲线与算术(p133–p135)。Hurwitz 公式数覆盖、椭圆曲线自带群律、Mordell–Weil 说有理点由有限数据生成。
③ 有限域与 Weil 猜想(p136–p138)。ζ 函数的三性质——有理性、函数方程、Riemann 假设——及 étale 上同调的证明路线。
④ 曲线的深层不变量(p139–p140)。Jacobi 簇把曲线装进它的「积分空间」,Torelli 说曲线可由它唯一恢复;Arakelov 几何把度量装进算术曲面。
⑤ 收束(p141–p154)。误读、例题、习题、实验与札记把本章工具用熟,速查表收账,衔接讲义把边界线画给第六章。
曲线是概型里最肥沃的一片地:一维的光滑射影概型,既有丰富的几何,又可在其上做「线性代数已足够」的深计算。这一页把亏格与 Jacobi 簇这两件法宝摆出来。
亏格的几种读法都等价:拓扑上它是「洞」的个数(ℙ1 的 g = 0,椭圆曲线 g = 1,一般 g 即环面洞数);代数上它是全局微分形式空间的维数;算术上它出现在 Riemann–Roch 的常数项里。三种读法互证,正是代数几何「同一对象多副面孔」的又一例。
除子与线性系统。曲线上的除子 D = Σ ni Pi 是点的形式和;它的次数 deg D = Σ ni。除子类群 Pic(X) 是除子模主除子;次数给出满同态 deg : Pic(X) → ℤ,其核 Pic0(X) 是次数为零的部分——它正是曲线的「算术核心」。
Jacobi 簇把一个「群」装进了「几何体」:Pic0 的群结构来自除子类相加,而定理说这个群可以取一个 g 维阿贝尔簇为几何实现。Abel–Jacobi 映射 X → J(X) 把曲线嵌入它的 Jacobi 簇,点的运动变成群里的加法——这是曲线理论最深的桥。
下一站。曲线已经能「算」,但真正让曲线进入数论的是当基座 S 取 Spec ℤ 的时候:此时曲线上的有理点、除子、Jacobi 簇都带上了算术。p127 起转入这条主路。
把基座取成 Spec ℤ,曲线立刻带上算术。最著名的一类对象把「亏格 1」与「一个有理点」绑在一起,既是几何曲线,又是交换群,还是一类丢番图方程的化身——它就是椭圆曲线。
判别式非零保证曲线光滑(无尖点、无自交),从而亏格确为 1。这一个小小的三次方程,是整个算术几何最繁忙的入口。
群结构来自几何。曲线上两点 P, Q,作所连的弦,弦与曲线还有第三个交点 R;把 R 关于 x 轴反射,便得 P + Q。当 P = Q 时弦退化为切线,规则照旧。零点 O 是那个「无穷远点」——它让反射后的点总有地方落脚,也让这条加法满足结合律(这一点并不显然,却恰好成立)。
E(K) ≅ ℤr ⊕ E(K)挠,
其中挠部分有限,非负整数 r 称为曲线的秩。这条结构与数论里的 Dirichlet 单位定理形状相同——两者都说某个算术群有限生成,把「无限的部分」压成一个整数秩。
未解之谜。Mordell–Weil 只保证秩有限,却给不出算它的算法;甚至连「秩能有多大」都远未解决。秩的计算、挠部分的统一刻画(Mazur 定理),以及把秩与 L 函数零点阶联系起来的 Birch–Swinnerton-Dyer 猜想,构成本领域最活跃的前线。本章末尾的实验将对一条具体曲线做数值探路。
从数域再走一步,把基域换成有限域 𝔽q。这时「有多少个解」成了有限计数问题,而计数序列背后竟藏着极深的规律——这就是 Weil 猜想。
Z(X, t) = exp( Σm ≥ 1 Nm tm / m )。
它以「所有扩域上的点数」为原料,把离散的计数序列打包成一个解析对象。
四条里最难的是③,它把一个「计数问题的误差项」压到与真值平方根同阶——这正是经典 Riemann 假设的有限域翻版。而④暗示:要给有限域上的簇造一套「代数拓扑」。Grothendieck 造的正是它——étale 上同调。
étale 上同调做什么。在复几何里,簇的贝蒂数由通常拓扑给出;在有限域上却没有连续的「小开球」。étale 上同调用「平展的、可分扩张式的覆盖」代替开球,配上 ℓ-进系数,硬是造出了一套满足同调公理的不变量 Hiét(X)。Weil 猜想的④就落在这些维数上。它把「点计数」翻译成「线性代数的迹」——这是有限域算术与拓扑之间最深的一座桥。
到这里,上同调已经出现过好几副面孔。把它们并排看,会发现它们共享同一套「公理骨架」——这正是二十世纪代数几何最漂亮的整合之一。
| 上同调 | 系数 | 擅长回答 |
|---|---|---|
| Čech/层上同调 | 层 | 局部数据能否拼成整体 |
| de Rham 上同调 | 微分形式 | 闭形式与恰当形式的差距 |
| 奇异上同调 | 常数群 | 拓扑形状(洞、连通) |
| étale 上同调 | ℓ-进 | 有限域上的点计数 |
| 晶体上同调 | Witt 向量 | p-进系数下的对应理论 |
它们都满足一组共同要求:具函子性(态射诱导映射、方向相反)、有长正合列、满足维数公理、有 Künneth 公式与 Poincaré 对偶。只要一套构造满足这些,它就能「当拓扑用」——即便底层毫无连续结构。
Hn(X, ℂ) = ⊕p + q = n Hp, q(X), 其中 Hq, p 是 Hp, q 的共轭。
右边的双分次来自「复结构」:p 记 p 个全纯微分、q 个反全纯微分的组合。Hodge 分解是复代数几何的第一道滤网,贯穿 Hodge 理论、周期映射与后面的算术应用。
思路。不要问「哪个上同调才对」,而要问「要量什么」。这与第一章「几何问题翻译成代数问题」的精神一脉相承——只是对象从环与理想,升级成了整套同调不变量。
概型解决了「空间是什么」,却没解决「族怎么分类」。当我们要谈「所有椭圆曲线的集合」,会发现它不是一个光滑的概型,而带着各种不规矩的自同构——这正是新概念登场的地方。
补救的办法是把「点」升级为「带群胚的点」:每个对象记录它的自同构群,让整个结构变成一个叠(stack)。叠不是普通概型,而是「概型上的群胚纤维范畴」;它比概型多记了一圈自同构数据,因此能正确承载模问题。
叠之上是更狂野的世界。导出代数几何把「等式」松弛为「同伦」,让相交理论、形变理论在更细的账本里记账;∞-范畴为这套语言提供了地基;动机理论试图为所有上同调找一个共同的「母体」;而 镜像对称则把代数几何与辛几何成对地联系起来。它们都以概型为起点。
本章讲义到此结束。接下来用三道例题把「Spec 与局部化」「纤维积」「曲线与除子」三件武器各演练一遍。
★★★ 第四章已把除子与可逆层对接(4.11):除子 D 是余维 1 闭子概型的形式和,它对应线丛 𝒪(D)。本章把这套语言用出威力:除子不只是记账,它还张成一个几何舞台。
定义(线性系统)。对除子 D,记 ℓ(D) = dim H0(X, 𝒪(D))。完备线性系统是射影空间 |D| = ℙ(H0(𝒪(D))):它的每个点都是一份「与 D 线性等价的除子」。换句话说,线性系统是「所有与 D 同账本的配置」组成的空间,维数恰为 ℓ(D) − 1。
例(ℙ1 上的 |n·∞|)。取 D = n·∞,则 H0(𝒪(n·∞)) 由 1, x, …, xn 张成,是 n + 1 维向量空间,于是 |n·∞| ≅ ℙn。把这套坐标整体映射回去,就得到 Veronese 嵌入 ℙ1 ↪ ℙn——「除子的线性系统」直接造出了嵌入映射,这是曲线分类的引擎。
预告:Riemann–Roch 就是「ℓ(D) 的通用公式」。线性系统给舞台,下一页给台词。
★★★★★ 全书第一座主峰到了。定理(Riemann–Roch)。设 X 是亏格 g 的光滑射影曲线,D 是除子,K 是典范除子(𝒪(K) = Ω1X),则
ℓ(D) − ℓ(K − D) = deg D + 1 − g。
读法一:账本两侧各管一摊。左端是上同调维数之差——想要的整体截面数扣除「对偶障碍」;右端只含两个数据:除子次数(连续量,可以自由加码)与亏格(曲线的拓扑复杂度)。上同调可算的东西,最终被次数与亏格决定——这就是「几何」与「代数」互相翻译的满分答卷。
读法二:次数够大时障碍消失。由 Serre 对偶,ℓ(K − D) = h1(𝒪(D));当 deg D > 2g − 2 时 ℓ(K − D) = 0,公式变成纯算术 ℓ(D) = deg D + 1 − g。第四章预演的 Serre 对偶(4.14)在这里兑现为「障碍可清零」。
特例。g = 0:取 D = n·∞ 得 ℓ(D) = n + 1,ℙ1 被 |2·∞| 嵌成二次曲线;g = 1:deg K = 0,曲线自带一份极简的账本——这正是椭圆曲线能做群的原因(5.9)。下一页用覆盖把亏格算起来。
★★★ Riemann–Roch 回答「给定除子有多少截面」;一个自然的对偶问题是:态射如何搬运亏格?定理(Hurwitz)。设 π: X → Y 是 n 次可分覆盖(特征不整除次数),则
2gX − 2 = n(2gY − 2) + deg R,
其中 R 是分歧除子:覆盖在 Y 上「叠不平」的点集,每处按重数记账。
例(超椭圆曲线)。设 f(x) 是 2g + 2 次无重根多项式,y2 = f(x) 定义一条超椭圆曲线,它双覆盖 ℙ1(n = 2, gY = 0),分歧恰在 f 的根与无穷远点,共 2g + 2 处。代入:2gX − 2 = 2(−2) + (2g + 2) = 2g − 2——自洽;反过来已知 deg f = d,立得 g = (d − 1)/2 − δ(δ 记无穷远处的分歧修正)。「数洞」从直觉变成了代入公式的练习。
Hurwitz 公式还是「亏格的单向阀」:除非分歧足够多,覆盖只会让亏格变大。这一事实在第六章的族与模空间里会以「半稳定约化」的面目重现。
★★★★ 定义(椭圆曲线)。亏格 1 的光滑射影曲线 E,连同指定的有理点 O 作零元。由 Riemann–Roch,|3·O| 把 E 嵌成 ℙ2 里的三次曲线,方程可写成短 Weierstrass 形
y2 = x3 + ax + b(判别式 4a3 + 27b2 ≠ 0)。
群律(弦切法)。过 P, Q 的直线与曲线交于第三点 R,定义 P + Q = −R(关于 x 轴取反)。这不是凭空的约定:Riemann–Roch 证明 Pic0(E) ≅ E——除子类群本身就把点的加法装好了,弦切法只是它的几何显影。
挠点。E[n] = {P : nP = O} 是挠点群。在复数域上 E(ℂ) ≅ ℂ/Λ(格的商),于是 E[n] ≅ (ℤ/n)2:两个方向的周期各管一份。j 不变量 j = 1728·4a3/(4a3 + 27b2) 是同构类的唯一标签——同一条曲线可以有很多方程,但 j 只有一个。
下一页:把「点可以相加」搬到有理数域上,问生成的群有多大——这是千禧年大奖难题 BSD 的家。
★★★★ 定理(Mordell–Weil)。椭圆曲线 E/ℚ 的有理点群是有限生成的:
E(ℚ) ≅ ℤr ⊕ Etors。
两千年丢番图问题的现代答案:有理点虽可能无穷多,但由有限个点生成。Etors 是挠部分(有限阶点),可以完全算出(Lutz–Nagell:整坐标点的 y2 整除判别式);真正难的是秩 r——需要几个独立的无穷阶点才生成全部有理点。
证明的引擎:高度与下降。定义高度 h(P) ≈ 有理坐标写成最简分数时的「位数」,它满足 h(2P) ≈ 4h(P)。下降法反其道而行:任给有理点 P,证明它可写成 Q + 挠点 + 小高度修正,且 h(Q) 更小;反复折半,有限步后落到一个有限集合——这集合与挠点合起来就是生成元。
未解之题。秩 r 存在且有限(Mordell–Weil 保证),但给定 E 如何有效算出 r 至今没有通用算法。BSD 猜想断言:r 等于 L(E, s) 在 s = 1 处零点的阶——分析数据与代数数据在此相遇。第六章的 Weil 猜想正是同款剧本的有限域版。
★★★★ 把基域换成有限域 𝔽q,「解方程」变成「数点」:对每个 m,曲线在 𝔽qm 上有 Nm 个点。定义(ζ 函数)。
Z(X, t) = exp(Σm≥1 Nm tm/m)。
它是点数序列的「打包」:所有 Nm 装进一个幂级数。定理(曲线情形,Weil 1940s)。对亏格 g 曲线
Z(X, t) = P(t) / ((1 − t)(1 − qt)),P(t) ∈ ℤ[t],deg P = 2g。
也就是说:无穷多的计数序列由 2g 个代数整数 α1, …, α2g(P 的根)完全决定,Nm = qm + 1 − Σ αim。数点从无穷级数坍缩成有限数据。
函数域类比。这与数域的 Dedekind ζ 函数结构相同:素数 ↔ 闭点,Euler 乘积 ↔ 按闭点展开。数论与几何在此共用一套账本——数域版难(Riemann 假设未解),函数域版可证(Weil 猜想,5.12)。下一页把「可证」拆成三条精确陈述。
★★★★★ Weil 1949 年对任意 𝔽q 上的簇提出三条猜想(曲线情形他已自证):
① 有理性。Z(X, t) 是 t 的有理函数——计数序列永远不会「失控」。② 函数方程。Z 在 t ↔ 1/(qnt) 变换下对称(2n + 1 维情形),对偶出 Betti 数——ζ 函数自带照镜子。③ Riemann 假设。若 Z = P(t)/… 分子根写作 α = qi/2eiθ,则复绝对值恰为 qi/2——点数误差被压到 √q 量级,与经典 Riemann 假设把素数误差压到 √x 是同一句话。
路线图。Weil 看出:若存在一种上同调 Hi,使 Frobenius 映射的不动点个数等于上同调的交替和(Lefschetz 不动点公式),则 Nm = Σ (−1)i Tr(Frobm | Hi),ζ 的根全部是 Frobenius 的特征值,三条猜想化归为这种上同调的三条代数性质。问题是:Zariski 拓扑太粗、复拓扑不存在——这种上同调必须被发明。
这把钥匙(étale 上同调)由 Grothendieck 造出、Deligne 用它封顶——第六章 6.4 完整复盘。本章先在曲线上把「③」的分量摸到(Hasse 界)。
★★★★★ Weil 路线图要的上同调必须满足两件矛盾的事:像复拓扑一样丰富(能出 Lefschetz 公式),又纯粹代数(不依赖把 𝔽q 嵌进 ℂ)。Zariski 拓扑太粗(开集巨大、没有小圆盘),复拓扑不存在(特征 p)。
Grothendieck 的想法:把「点」换成「覆盖」。étale 拓扑的开集不是子集,而是平展态射 U → X——局部同构的「覆盖片」。层不再定义在子集上,而定义在覆盖族上;上同调 Hi(X, ℱ) 度量「局部截面粘成整体」的障碍,与 Čech 完全同构。
ℓ-进系数。取素数 ℓ ≠ p,令 ℚℓ = lim ℤ/ℓnℤ ⊗ ℚ,定义 Hi(X, ℚℓ)。它给出特征 0 的向量空间,Frobenius 在其上作用,特征值 αi,j 就是 ζ 函数的根——Grothendieck 证明了 Lefschetz 不动点公式,把①②打进这一框架(并证明③的 « |α| ≤ qi/2 的弱版)。最后一步「等号」(Riemann 假设)最难,Deligne 1974 年用单体性(monodromy)与 Rankin 技巧完成,Weil 猜想全解。
一台为「数点」而生的机器,后来回头统一了表示论、Hodge 理论与 Langlands——第六章的主线由此展开。
★★★★ 复分析里,ℂ/Λ(格商)是「积分常数」的空间;曲线上对应物是 Jacobi 簇。
定义。J(X) = Pic0(X)——次数零的除子类群,配上群结构后是 g 维的 Abel 簇(带群律的射影概型)。Abel–Jacobi 映射 X → J(X),P ↦ [(P) − (O)] 把点送进除子类,复分析版本即「沿路径积分」。
Torelli 定理。X ↦ (J(X), θ)(θ 是由 g − 1 次对称积给出的「θ 除子」)是单射:曲线由它的 Jacobi 簇连同 θ 除子唯一决定。形状与积分一体两面:想知道曲线,看它的积分空间即可。这把「分类曲线」变成「分类 Abel 簇」——后者有成熟的模空间(第六章 6.9)。
应用一瞥:椭圆曲线(g=1)时 J(E) = E 自身;Torelli 退化成「E 由 j 不变量决定」。一般 g 时,θ 除子携带的信息远多于一个数——这正是高亏格分类更丰富的代数表达。
★★★★ 本章一路把曲线搬到 𝔽q;最后一站是把数域上的曲线(如 Spec ℤ[x]/(y2 − …) → Spec ℤ)本身当作几何对象——算术曲面。素数 p 处的纤维是「竖直」的:模 p 的曲线;无穷远处(复嵌入)没有素数可依——Arakelov 的补笔是在无穷远处配 Hermitian 度量,让「无穷远素点」也入账。
算术交与高度。有了度量,交的理论可以照搬:有理点对应算术曲面的「截面」,其高度 h(P) 是截面与「无穷远截面」的算术交——这正是 5.10 里连分数式高度的几何化:素数贡献离散部分,度量贡献解析部分(对数)。
雄心。Arakelov 把 Riemann–Roch 推广到带度量的情形(算术 Riemann–Roch,Gillet–Soulé 证明),「维数账」第一次对数域上的几何直接开口说话。BSD 猜想由此获得几何表述:有理点的「截面空间维数」应当等于 ζ 函数零点的阶——第六章算术几何的现代地平线(6.14)就站在这条边界线上。
★★★ 曲线把几何与算术焊在一起,四个高频误读值得提前拆弹。
误读一:「亏格就是洞的个数」。直觉只在复数域有效;离开 ℂ,没有「环柄」可数。正读:亏格的定义是上同调维数 g = h1(𝒪) = h0(Ω1),任何基域都成立;「洞」只是它在 ℂ 上的显影。
误读二:「有理点要么有要么没有」。正读:按亏格分流——g = 0 时有理点可参数化(有无穷多且可参数化);g = 1 时是群,无穷与否看秩;g ≥ 2 时 Faltings 定理断言有理点有限(1983)。问题的「难度台阶」就是亏格。
误读三:「ζ 函数都长得一样」。正读:Z(X, t) 的形状由维数与亏格定型:曲线是 P(t)/((1−t)(1−qt)),分子次数 2g。看清对象再谈函数。
误读四:「Hasse 界是个经验不等式」。正读:|N1 − (q + 1)| ≤ 2√q 恰是 Weil 猜想③(Riemann 假设)在 g = 1 的内容——它是定理,而且是最深定理的特例(p151 实验逐条核对)。
例 4.15(ℙ1 的除子群)。射影直线的除子是点的形式和 D = Σ ni Pi。有理函数的主除子 div(f) 的次数必为零(零极点个数相等)。于是次数映射 deg : Pic(ℙ1) → ℤ 是双射:
Pic(ℙ1) ≅ ℤ, 亏格 g = 0。
「每类除子由次数唯一决定」正是 ℙ1 简单的原因:它没有「除子类群的复杂度」,即没有洞。
例 4.16(椭圆曲线的除子群)。对椭圆曲线 E,次数映射的核 Pic0(E) 恰好同构于曲线自身的点群:
Pic0(E) ≅ E, 除子类 [P − O] ↦ P。
也就是说,几何上的群律与代数上的除子类群是同一件事。g = 1 时 Pic0 只是一条曲线(阿贝尔簇维数 1),而 g 越大,Pic0 作为阿贝尔簇的维数就越大——它是「除子类的连续参数空间」。
例 4.17(Riemann–Roch 的一次演算)。设 E 上 ℒ = 𝒪E(D) 且 deg D = 1、g = 1,代入
h0(ℒ) − h1(ℒ) = deg ℒ + 1 − g = 1 + 1 − 1 = 1。
对次数正的可逆层,h1 = 0(有 Serre 对偶保证),故 h0(ℒ) = 1:只有常数截面。若取 deg D = 3,得 h0 = 3,这正对应把曲线嵌入 ℙ2 的三次模型——Riemann–Roch 右端的整数,直接数出了「能写出多少个独立的函数」,这就是它为何如此有用的原因。
小结。这三道例题合起来,就是第四章的三种基本动作:看素谱(Spec 与局部化)、做张量积(纤维积与基变换)、数除子(曲线理论)。下一步的两节习题课,将把它们放进更复杂的组合里。
★★★ 五道题,围绕层上同调、Riemann–Roch 与曲线。第三道要用长正合列做一次真正的推演,第五道把曲线搬到 Spec ℤ 上读算术。
4.6(Riemann–Roch 算维数) 设 X 是亏格 g = 2 的光滑射影曲线,ℒ 是次数 deg ℒ = 4 的可逆层。求 h0(ℒ) 与 h1(ℒ)。
提示:先判「正性」。当 deg ℒ > 2g − 2 = 2 时由 Serre 对偶得 h1(ℒ) = 0,再由 h0 − h1 = deg ℒ + 1 − g = 4 + 1 − 2 = 3,故 h0(ℒ) = 3。
4.7(亏格从哪来) 设曲线由仿射方程 y2 = f(x) 给出,f 是无重根的多项式,deg f = 5。求它的亏格,并写出一组整体微分形式的基。
提示:这类「超椭圆曲线」的亏格为 g = (deg f − 1)/2(deg f 为奇数时),故 g = 2;须先在无穷远处补一个点使之射影。整体微分形式可取 xk dx/y(k = 0, 1, …, g − 1),共 g 个,与亏格吻合——这正是「代数维数」读法的一次实例。
4.8(长正合列的一次推演) 在 ℙ1 上取点 P 与层序列 0 → 𝒪(−2) → 𝒪(−1) → 𝒪P → 0(末项是点 P 上的摩天层)。用长正合列求 h0(ℙ1, 𝒪(−2)) 与 h1(ℙ1, 𝒪(−2))。
提示:负次可逆层在 ℙ1 上没有整体截面,故 H0(𝒪(−2)) = H0(𝒪(−1)) = 0;长正合列的开头于是给出 0 → H0(𝒪P) → H1(𝒪(−2)) → H1(𝒪(−1)),而 H1(𝒪(−1)) = 0(见 p112 例)。又 H0(𝒪P) ≅ k,故 H1(𝒪(−2)) ≅ k,维数为 1。这解释了为何「负二次」恰是障碍出现的临界点。
4.9(椭圆曲线模 p) 设 E : y2 = x3 − x 定义在 ℤ 上。分别数出 E 在 𝔽3 与 𝔽5 上的有理点个数(含无穷远点),并判断这两处约化的好坏。
提示:逐个代入 x = 0, 1, …, p − 1,数右端为二次剩余的情形,再加一个无穷远点。可用欧拉判据加速:z ≠ 0 是模 p 的二次剩余当且仅当 z(p−1)/2 ≡ 1。该曲线判别式 Δ = 64,与 3、5 互素,故两处都是好约化。
4.10(除子类与群律) 在椭圆曲线 E 上取共线三点 P, Q, R。证明 P + Q + R − 3O 是主除子,并用它解释群律 P + Q + R = O。
提示:设 ℓ 是过 P, Q, R 的直线、Z 是无穷远直线。在 E 上 Z 恰与曲线在 O 处相切三重,故 div(Z) = 3O,而 div(ℓ) = P + Q + R,于是 div(ℓ/Z) = P + Q + R − 3O,确为主除子。它在 Pic0(E) 中为零,即 [P − O] + [Q − O] + [R − O] = 0,翻译回点群正是 P + Q + R = O——几何的弦切线律与除子类群是同一件事。
★★★★ 四道例题把「点可以相加」从口号变成手感。
例 5.1(2P = O 的判定)。E: y2 = x3 − x,P = (1, 0)。切线在 P 处竖直(y = 0 的点切线垂直 x 轴),与曲线只交 P 与 O,故 2P = O——P 是 2 挠点。
例 5.2(加法手算)。同曲线上 P = (0, 0),Q = (2, √6) 不在有理域——改取 𝔽5:Q = (2, ?)。23 − 2 = 6 ≡ 1,1 的平方根是 ±1,取 Q = (2, 1)。过 P, Q 的直线斜率 k = (1 − 0)/(2 − 0) = 3(mod 5),代入得第三交点 x = 3,故 P + Q = (3, −(27 − 3)) = (3, 4)(mod 5,逐笔可验)。
例 5.3(E[2] 的结构)。2P = O ⟺ y = 0:三次式 x3 − x 的三个根 0, ±1 各给一点,加上 O 共 4 点——与 (ℤ/2)2 阶数吻合(Weierstrass 对:任何亏格 1 都如此)。
例 5.4(Hasse 界)。对 E: y2 = x3 − x + 1 与 p = 3, 5, 7, 11, 13, 17,逐点数出 #E = 7, 8, 12, 10, 19, 14,误差 3, 2, 4, 2, 5, 4 全部 ≤ 2√p(p151 实验逐行打印)。
★★★★ 五道题,把「数点 → ζ 函数 → 三性质」整条链亲手走一遍。
5.2.1 对 E: y2 = x3 + x + 1 于 𝔽5,手算 N1,并对照 Hasse 界 |N1 − 6| ≤ 2√5。提示:五个 x 逐个判平方剩余。
5.2.2 用真域算术(或细致的手工)得 N2 后,反解 a1 = q + 1 − N1 与 a2 = (a12 − s2)/2,写出 P(t);验证判别式 a12 − 4a2 < 0 且 a2 = 5——这正是 Riemann 假设的分量(p151 实验逐行示范)。
5.2.3 验证 ℙ1/𝔽3 的 Z = 1/((1−t)(1−3t)):展开成级数,逐项对拍 Nm = 3m + 1(m = 1, 2, 3, 4)。
5.2.4 对 5.2.2 的 P(t) = 1 + 2t + 5t2 核对函数方程 P(t) = 5t2P(1/(5t))/P(0)——左端与右端逐系数相等。
5.2.5 超椭圆曲线 y2 = x5 − x 在 𝔽3 上:用 Hurwitz 公式定亏格,再直接数点核对 |N1 − 4| ≤ 2√3·g·√… 的曲线版(Hasse–Weil 界)。
本章地图一句话:把「解方程」换成「数曲线上的点」,中间只隔一个亏格。由一个动机出发、铺一块地基、再走两条路线,最后在 étale 上同调汇合。
出发点(p127–p130)。椭圆曲线把方程变成群(Mordell–Weil:有理点有限生成);Weil 猜想把「有限域上有多少解」变成 ζ 函数的解析问题;上同调的统一语言告诉我们它们共享同一套公理骨架。
地基(p131–p132)。光滑射影曲线由亏格 g 定形;线性系统把除子变成射影空间,Riemann–Roch ℓ(D) − ℓ(K − D) = deg D + 1 − g 是全书的第一个大定理。
几何线(p133、p139–p140)。Hurwitz 公式让亏格在覆盖下传递;Jacobi 簇与 Torelli 把曲线装进积分空间;Arakelov 几何把度量装进算术曲面。
算术线(p134–p138)。椭圆曲线的群律与挠点、Mordell–Weil 与高度、有限域 ζ 函数、Weil 三条猜想与 étale 路线图——这条线直通第六章 6.4 的封顶证明。
一句话路标:先把曲线的「形状参数」(亏格)读出来,再把「点数问题」翻译成 ζ 函数——两条路线在 Frobenius 的特征值处碰头。
本章由「为什么推广」起步,落成一套完整的语言。第一张表把动机与应答一一对齐:
| 死角 | 前三编的困境 | 概型的应答 | 出处 |
|---|---|---|---|
| 点不够 | x2 + 1 在 ℝ 上无零点,Nullstellensatz 失效 | 素理想升格为点,(x2 + 1) 是闭点 | p96 / p99 |
| 幂零丢失 | 根理想抹去重数与无穷小 | 坐标环保留幂零,结构层如实记录 | p96 / p98 |
| 整系数无家 | 坐标系须建在域上,ℤ 上的曲线说不通 | Spec ℤ 成为几何对象,算术曲线登场 | p96 / p99 |
第二张表清点本章装起来的整套工具。它们的分工很整齐:前三件定义「空间是什么」,接着两件定义「族是什么」,最后三件算出「不变量是什么」。
| 工具 | 内容 | 代数替身 | 出处 |
|---|---|---|---|
| Spec R | 素理想全体 = 空间的点 | 环的素谱 | p97 |
| 结构层 𝒪 | 取值是局部化;茎是局部环 | R[1/f]、R𝔭 | p98 |
| 态射 | 连续映射 + 层同态(局部) | 反方向的环同态 | p100 |
| 纤维积 | 几何的拉回方块 | 张量积 A ⊗B C | p101 |
| 分离 / 紧合 | Hausdorff 与紧的代数替身 | 对角闭浸入 / 万有闭 | p102 |
| 层上同调 | H0 是截面,H1 是障碍 | 长正合列 | p103 |
| Riemann–Roch | h0 − h1 = deg ℒ + 1 − g | 亏格 g = h1(𝒪X) | p103 |
| étale 上同调 | 有限域上的点计数与 Weil 猜想 | ℓ-进系数 | p128 |
把两张表叠起来,本章的核心结论浮出水面:概型不是「簇的另一种写法」,而是把簇当作特例收纳进来的更大范畴。在代数闭域上,既约、有限型的概型恰好就是经典簇;一旦放开对域与根理想的限制,它同时容下了 ℝ 上「看不见的闭点」、带幂零的无穷小邻域、以及整系数上的算术曲线。代价是画不出图,收益是几何与算术从此说同一种语言。
一句提醒。本章两次把「局部-整体」翻出了新用法:p103 的层上同调是函数的局部数据能否拼合,p101 的纤维积是族的局部纤维能否拼成整体。同一句原则在空间、函数、族三个层次上各用了一次——这正是概型语言「统一」二字的具体含义。
★★★ 反面清单之外,本章的正收获恰是四笔「成形」的账。
① 等式成形。Riemann–Roch 把「截面维数」从逐例估摸变成通用公式;Hurwitz 把亏格的传递法则写清。上同调的账第一次有了解析式。
② 群成形。椭圆曲线把「点集」升级为「群」,Mordell–Weil 把无穷降为有限生成;秩 r 成为连接 L 函数(BSD)的活扣。丢番图方程有了群论的语法。
③ 函数成形。ζ 函数把无穷计数序列装进 2g 个根;Hasse 界是它的第一份红利。计数从算术题升格为解析对象。
④ 路线成形。Weil 三条猜想 + étale 路线图,把「证明 Riemann 假设的函数域版」拆成可执行的工程;Jacobi/Torelli、Arakelov 各就各位。
边界线。「所有曲线的集合」已经装不进概型(自同构捣乱)——模空间与栈是下一步;ζ 根的「 motive 身份」是再下一步。第六章只画地图,不再证定理:从 étale 到导出代数几何,看语言还能走多远。
★★★ 一张卡说清本章的立意。
问题。本章干的是一件很激进的事:把「空间」从「带点的集合」改写为「交换环的素谱」。域换成了环,点换成了素理想,坐标系换成了结构层。付出这么大的代价,到底换回了什么?换回的是——几何与算术不再分家。
看法的第一层。算术本身就是几何。Spec ℤ 是一条真正的「曲线」:素数是它上面的点,整数是它的函数,局部化 ℤ(p) 是它在点 (p) 处的局部环。x2 − 2 在 𝔽p 上的分解方式,读出来就是「这条曲线上的点如何散开成一层或两层」。素理想分解这个纯粹的算术话题,被翻译成了地道的几何图像。
看法的第二层。几何又在算术里长出了新的量。把基座换成 Spec ℤ 之后,曲线上的有理点、除子、Jacobi 簇统统带上了算术;再往前一步,把域换成有限域 𝔽q,「有多少解」就成了一个有限计数,而计数序列背后的 Weil 猜想说:这些点数服从与复几何形状完全相同的规律——有理性、函数方程、Riemann 假设。有限域的算术与代数拓扑,在一套「像拓扑一样工作」的上同调里握手。
看法的第三层,也是最深的一层。统一不是把算术硬塞进几何,也不是反过来,而是把二者共同的地基抽出来:环、理想、局部化、层、上同调。这些装置对域与对 ℤ、对实数与对 𝔽q 一视同仁。于是「局部-整体」这条母题在两边同时成立:一边是函数能否从局部小片拼成整体,另一边是曲线在每个素数处约化之后的局部图像能否拼回整条算术曲线。
把这张卡带在身上:遇见「两门看似无关的学科共用同一批定理」的现象(微积分与几何共用极限,概率与几何共用测度,逻辑与代数共用格),先问一句——它们是不是共享了一个更抽象的地基?概型的成功给出了一个答案的样板:当两套语言都能被翻译进第三套更朴素的装置时,那种「巧合的一致」就不再是巧合,而是同一个结构的两副面孔。
本挑战要求把本章的工具真正跑一次:亲手列出素谱、亲手算纤维、亲手用 Riemann–Roch 反推亏格。
反思。完成四问后可见:本章的每一条抽象定义都能落到一次具体的手算上。素谱不是「不可画的抽象怪物」,它可以被逐个列出;纤维积不是「花哨的范畴游戏」,它就是「把方程模 p 看」;Riemann–Roch 也不是「天外飞来的等式」,它是把上同调维数与两个可数整数缝在一起的针脚。抽象的收益是统一,而不是远离计算。
把本章三件核心工具各跑一段程序:Hasse 界、ℙ1 的 ζ 函数、以及「由 N1, N2 组装 P(t) 预测 N3」——最后一件需要真正的有限域算术(𝔽25 不是 ℤ/25!)。
实验 5.1 Hasse 界逐条核对。数 E: y2 = x3 − x + 1 在 𝔽p 上的点:
# Hasse 界:E: y2 = x3 - x + 1 在 F_p 上的点数
def count_points(a, b, p):
sq = {(y * y) % p for y in range(p)}
cnt = 1 # 无穷远点
for x in range(p):
r = (x**3 + a*x + b) % p
if r == 0: cnt += 1 # y = 0
elif r in sq: cnt += 2 # y = +-sqrt(r)
return cnt
a, b = -1, 1
for p in [3, 5, 7, 11, 13, 17]:
N = count_points(a, b, p)
err = abs(N - (p + 1))
print(f"p={p:2d}: #E={N:2d}, |N-(p+1)|={err:.1f}, 2sqrt(p)={2*p**0.5:.2f}, Hasse={not (err > 2*p**0.5)}")
实跑输出。
p= 3: #E= 7, |N-(p+1)|=3.0, 2sqrt(p)=3.46, Hasse=True p= 5: #E= 8, |N-(p+1)|=2.0, 2sqrt(p)=4.47, Hasse=True p= 7: #E=12, |N-(p+1)|=4.0, 2sqrt(p)=5.29, Hasse=True p=11: #E=10, |N-(p+1)|=2.0, 2sqrt(p)=6.63, Hasse=True p=13: #E=19, |N-(p+1)|=5.0, 2sqrt(p)=7.21, Hasse=True p=17: #E=14, |N-(p+1)|=4.0, 2sqrt(p)=8.25, Hasse=True
实验 5.2 ℙ1/𝔽3 的 ζ 函数。理论 Z = 1/((1−t)(1−3t)) 给 Nm = 3m + 1;对 m = 1…4 打印 4, 10, 28, 82,逐行 一致=True。ζ 函数有理型在此显形:分子是常数 1,g = 0。
实验 5.3 组装 P(t) 并预测 N3(真·域算术)。𝔽25 = 𝔽5[t]/(t2 + 2)、𝔽125 = 𝔽5[t]/(t3 + 2t + 1)(两个模多项式均无根,故不可约);逐元素 x 计算 x3 − x + 1,用 r(qm−1)/2 判平方剩余。代码约 30 行(完整版见配套脚本 _exp_ag151.py):
def field(m, f):
"""F5m = F_5[t]/(f):f 为 m 次首一不可约多项式"""
def mul(u, v):
r = [0] * (2*m - 1)
for i, ui in enumerate(u):
for j, vj in enumerate(v):
r[i+j] = (r[i+j] + ui*vj) % 5
for d in range(2*m - 2, m - 1, -1):
c = r[d] % 5
if c:
for k in range(m): # tm = -(f[m-1]tm-1+...+f[0])
r[d - m + k] = (r[d - m + k] - c * f[k]) % 5
return r[:m]
def pow_(u, e):
r = [1] + [0]*(m - 1)
while e:
if e & 1: r = mul(r, u)
u = mul(u, u); e >>= 1
return r
return mul, pow_
实跑输出(关键三行)。
实测 N_1=8, N_2=32, N_3=104(F_25/F_125 用真域算术逐点数出) P(t) = 1 + (2)t + (5)t2 递推 s_3 = a_13 - 3 a_1 a_2 = 22 -> 预测 N_3 = 125 + 1 - (22) = 104 对拍:预测 104 vs 实测 104 一致 = True Riemann 假设核对:判别式 a_12 - 4 a_2 = -16 < 0,|alpha|^2 = a_2 = 5 = q 成立 = True
读账。a2 = q = 5 不是巧合——Riemann 假设迫使 |α|2 = q;而「由两个计数预测第三个」零失败,正是有理性的分量:无穷计数序列被 2g = 2 个根锁死。第六章 p181 的实验把同样的账算到任意亏格。
★★★ 方程的历史上有两种追问,长期平行,本章让它们合流。
追问一(丢番图):有多少解?焦点是个数:无解、有限个、还是无穷族。现代答案按亏格分流——g = 0 有参数化(无穷),g = 1 看群与秩(Mordell–Weil,BSD 问秩),g ≥ 2 有限(Faltings)。
追问二(Fermat):解的形状?xn + yn = zn 的几何显影是 Fermat 曲线 Xn: un + vn = 1,亏格 (n − 1)(n − 2)/2:n = 3 时 g = 1(椭圆曲线,有无穷多有理解),n ≥ 4 时 g ≥ 3,Faltings 断言有理点有限——Fermat 大定理的「没有非平凡解」获得了几何侧的解释:亏格挡住了解。Wiles 的完整证明(1995)正是把 Fermat 方程接进椭圆曲线与 Galois 表示的框架——第六章 6.5 的世界。
两种追问在「亏格」处分岔又在「上同调」处合流:数个数靠计数(ζ),看形状靠几何(Riemann–Roch),而 étale 上同调同时管两边——这正是本章压轴的信息。
| 名称 | 内容 | 注意 |
|---|---|---|
| 素谱 Spec R | 全体素理想,元素称为点 | 素 ≠ 极大,泛点不闭 |
| Zariski 拓扑 | 闭集 V(I) = {𝔭 : 𝔭 ⊇ I} | 很粗,开集稀疏 |
| 基本开集 D(f) | V(f) 的补 | 构成拓扑的一组基 |
| 结构层 𝒪 | 𝒪(D(f)) = R[1/f] | 茎 = 局部环 R𝔭 |
| 仿射概型 | (Spec R, 𝒪Spec R) | 坐标环可还原 Γ(𝒪) ≅ R |
| 概型 | 局部同构于仿射概型的局部环化空间 | 由「粘合图卡」定义 |
| 态射 | 连续映射 + 局部层同态 f# | 核心对应:环同态反向 |
| 结构态射 | 唯一的 X → Spec ℤ | 显式化算术基座 |
| 纤维积 | Spec A ×Spec B Spec C ≅ Spec(A ⊗B C) | 几何拉回 = 张量积 |
| 纤维 Xs | X ×S Spec κ(s) | 「族」的逐点读法 |
| 分离 | 对角态射是闭浸入 | Hausdorff 的替身 |
| 紧合 | 分离 + 有限型 + 万有闭 | 射影 ⟹ 紧合 |
| 层上同调 Hi | H0 截面,H1 障碍 | 短正合列 ⟹ 长正合列 |
| 欧拉示性数 χ | χ(ℒ) = h0 − h1 | 短正合列下可加 |
| Riemann–Roch | h0 − h1 = deg ℒ + 1 − g | ℒ = 𝒪X 时给 g = h1(𝒪X) |
| Serre 对偶 | H1(ℒ) ≅ H0(K ⊗ ℒ−1)* | 把 h1 转成 h0 算 |
| 亏格 g | 洞数 = h0(Ω1) = h1(𝒪X) | 三副面孔互证 |
| Jacobi 簇 | Pic0(X) 是 g 维阿贝尔簇 | g = 1 时 J(X) ≅ X |
| 椭圆曲线 | 亏格 1 + 一点 O,形如 y2 = x3 + ax + b | Δ = −16(4a3 + 27b2) ≠ 0 |
| Mordell–Weil | E(K) ≅ ℤr ⊕ E(K)挠 | 秩有限,但无算法 |
| Weil 猜想 | 有理性、函数方程、Riemann 假设、上同调解释 | Deligne 1974 证毕 |
| étale 上同调 | ℓ-进系数,满足同调公理 | 给有限域上的「拓扑」 |
本章三句口诀。① 换地基:空间 = Spec R,点是素理想,函数是局部化;② 做拉回:纤维积 = 张量积,「族」就是基变换;③ 数不变量:h0 − h1 = deg ℒ + 1 − g,次数与亏格决定一切。
综合站预告。四编的机器都已装好,下一站把它们收成两张总图:一张概念依赖图(从仿射簇一直排到概型与 étale 上同调),一张方法决策树(面对一个问题,该用理想、局部环、上同调还是张量积)。二十四道综合题随后把全册钉牢。
五章走完,家底是一套能算的语言:Riemann–Roch 管截面,椭圆曲线管点,ζ 函数管计数,étale 路线图管猜想。但两处缺口已经显形,正是下一章的路标。
缺口一:族没有房子。「所有亏格 g 曲线的集合」𝓜g 不是一个概型——自同构让商不规矩。第五章的 Arakelov、Torelli 都把曲线当单个对象研究;一旦要谈「曲线如何随参数变化」,概型语言就露出边界。栈与代数空间(6.10)是给商安家的正确地板。
缺口二:根没有身份。ζ 函数的 2g 个根 αi 是代数整数,étale 上同调说它们是 Frobenius 特征值——但「同一个 X 为什么 Betti、de Rham、étale 给出相同的 Betti 数」仍是经验。motive 猜想(6.7)断言存在一个万能上同调,其余都是它的实现。
第六章不再证定理,只画地图:从 étale 与 Weil 猜想的证明出发,途经 Galois 表示、Hodge 理论、模空间与镜像对称,直抵导出代数几何——看这门语言的边界还能推到哪里。
★★★★ 五章下来,我们把「形状」一路翻译成了「环上的层」:零点集变成代数集,代数集变成簇,簇变成概型,概型上配了层与上同调,最后在曲线与算术几何里第一次尝到甜头——Riemann–Roch 给出公式、椭圆曲线给出群、ζ 函数把计数装进多项式。这一章要回答的问题很简单:这门语言还能走多远?
第六章的性质与前五章不同:它基本上不证新定理,只画地图。代数几何在 20 世纪下半叶之后长成了一片大陆,其中许多地名(étale 上同调、晶体上同调、motive、模空间、栈、导出代数几何)在初学阶段只需要知道「它长什么样、为什么会出现、和前面的谁对接」。把地图画清楚,比在这里硬啃一处证明要有价值得多。
线一 · 上同调的现代语言(p156–p163)。第五章已经在用上同调(Riemann–Roch、Serre 对偶、étale 路线图),却没交代它「凭什么能算」。这条线补齐地基:导出函子与谱序列给出上同调的计算机制,相交理论把 Bézout 的「数」升级为同调里的「积」,随后是四套上同调(Betti、de Rham、晶体、étale)如何被比较定理焊成一体,以及motive 为什么被猜测为它们的「万能原型」。
线二 · 参数空间与商(p164–p166)。前五章研究的都是单个形状。一旦要问「所有亏格 g 的曲线排成什么形状」,模空间就登场;而模空间往往不是概型(自同构在捣乱),于是需要栈——给「商」安一个合法的家。这条线还包括几何表示论与几何 Langlands,它是「参数空间上的层」反过来作用于表示论的方向。
线三 · 新几何的三道地平线(p167–p170)。镜像对称把辛几何与复几何对折,Gromov–Witten 不变量成了可数的对象;导出代数几何把「=」放宽为「同伦」,使那些「本该相等却只差一个高阶项」的构造重新合法;𝔽1 与 Arakelov 几何则试图把「数域上的算术」与「函数域上的几何」缝回同一张皮。
收束(p171–p184)。误读、两组例题、两组习题、知识地图、上下两篇小结、思想卡、挑战、实验(真跑有限域数点与 ζ 函数对拍)、札记与速查表。最后一页是全册回望与出站台:把 198 页的六章收成一张图,说明往哪个方向走会遇见什么。
★★★★ 第四章说「概型是几何的算术化」,那是从基座的角度说的。这里换一个角度回望:概形到底赢在哪三件事上?
赢一:基座可换。簇必须长在代数闭域上;一旦基域改成 ℤ 或 𝔽q,「点」的意义就碎了。概型的结构层自带基环 R,于是 Spec ℤ 上一条曲线就是「一族在每条素数处取纤维的曲线家族」——算术与几何第一次共用同一个对象(第四章 4.4)。
赢二:点有层级。簇上只有闭点;概型的点是素理想,除了闭点还有泛点(如 Spec k[x] 里的 (0))与非闭点(如 Spec ℤ 里的 (0))。泛点的剩余域是有理函数域,它的「位置」正好记着「这个不可约分支的通性」。「通有性质」在概型里有确定性含义,而不再是「除了少数例外」。
赢三:纤维可谈。给定态射 f: X → S 与 s ∈ S,纤维 Xs = X ×S Spec κ(s) 总是有定义(第四章 4.6)。「把家族在一点处切开看」从直觉变成运算。
代价也要说清。概型的点不再是「位置」,而是「环的理想」;「x 点的邻域」不再由距离定义,而由局部化定义。几何的直觉让位给代数的运算——刚开始会不适,用熟之后反而更精确:所有关于「局部—整体」的论证都可以化成「局部环—层」的陈述。
那为什么还要往前走一步?因为概型仍然不会做商。最简单的例子:有限群 G 作用在 X 上,想要一个「轨道空间」X/G。取不变量环 RG 得到的 Spec RG 会丢掉「稳定化子」的信息(一个点与它的像被粘成同一点,粘的方式被忘掉)。栈就是把这些「粘的方式」一起记下来的空间(6.10)。
概型解决了「基座」,栈解决「商」。本章后面所有新对象——模空间、代数空间、导出概型——都可以看成对这两件事的继续完善。
★★★★ 第五章里上同调频繁出现:ℓ(D) = dim H0(𝒪(D))、Serre 对偶把 H1 配给 H0、Weil 猜想的证明要靠 Hiét。但一直没回答:这些 Hi 凭什么算得出来?
定义(右导出函子)。取左正合函子 F(例如整体截面 Γ)。对层 F 选一个内射消解 0 → F → I0 → I1 → ⋯,定义 RiF(F) = Hi(F(I∙))。它衡量的正是「F 为什么不是正合的」:R0F = F,而 RiF = 0 (i ≥ 1) 当且仅当 F 正合。
副产品:长正合列。短正合列 0 → F → G → H → 0 诱导出
0 → F(F) → F(G) → F(H) → δ R1F(F) → R1F(G) → ⋯
那个神秘的连接同态 δ 不需要额外构造——它由消解的「锥」自然给出。这就是为什么「上同调能算」:它是某个函子在消解上的影子,而消解可以挑好算的(例如软层、无环层)。
再上一层:谱序列。当消解本身还带二次结构(比如一个态射 f: X → Y 的纤维化),单层长正合列就不够了,需要一张二维表:E2p,q = Hp(Y, Rqf∗F) 逐页收敛到 Hp+q(X, F)。它的意思是:先把纵向算清,再把横向算清,最后沿对角线合并。
两个必知特例。① Leray 谱序列:上面这型,专治「纤维化 + 层上同调」;② Hodge–de Rham 谱序列:把代数 de Rham 上同调与 Hodge 分解接起来,是复几何的基本工具。看到「先局部后整体」「先纤维后底空间」这类话,背后通常是谱序列在说话。
★★★ 第三章的 Bézout 定理(3.7)说:两条次数分别为 m, n 的平面射影曲线,在「不含公共分支」时恰好交 mn 个点(计重数)。它是一个漂亮的数。本章要把它升级成一个结构。
第一步:交数必须有定义。两条曲线的交点可能相切、可能重合于分支——所以「交点个数」要靠重数补齐。现代做法是局部化:在交点 p 处取局部环 𝒪X,p,把两条曲线各自看成它的商环,相交重数定义为这两个商的 Tor 群的欧拉特征(Serre 的局部相交公式)。当交点横截时这个数恰为 1,于是「相交个数」被重数自动修正。
第二步:数变成积。把曲线 C, D 各自对应一个圈类 [C], [D](在 Chow 环或上同调环里)。它们的交积 [C] · [D] 是一个余维 2 的类;在曲面情形,余维 2 类经「超平面类」识别后就是一个整数——正是那个交点数。于是 Bézout 变成一句更普遍的话:deg([C] · [D]) = deg C · deg D。
第三步:积就是杯积。在实/复/étale 上同调里,交积的显影是杯积 ∪: Hp × Hq → Hp+q,再用 Poincaré 对偶把最高维类读成一个数。「计数」于是成了「配对」:([C] ∪ [D]) ∩ [X]。这一步的收获是巨大的——因为配对是线性的、可搬的,「交点靠计算」就可以通过「算上同调」来完成。
为什么这条线归在「现代疆界」?因为高维相交理论(Griffiths 的「代数圈」理论、上同调版的 Chow 环、以及第六章 6.8 的 Hodge 猜想)恰恰是代数几何里最深的开放问题之一。「哪些类能由代数圈生成」至今没有一般答案;Bézout 的全套机制提醒我们:几何最古老的计数问题一旦升维,就是现代数学的前沿。
★★★★★ 这是全册最深的一页。第五章末(5.12–5.13)已经预告了路线图,这里把每一块拼图对齐。
回顾。设 X 是 𝔽q 上的光滑射影簇,Nm 为 X(𝔽qm) 的元素个数,Z(X, t) = exp(Σ Nm tm/m)。Weil 断言三件事:有理性(Z 是有理函数)、函数方程(t ↦ 1/(qnt) 下的自对偶)、Riemann 假设(分子分母的根模长恰为 q 的「半整数次幂」)。
关键观察(这一步是天才所在)。如果把 Nm 看成「Frobenius 映射 F 在某个有限维向量空间上的不动点个数」,那么「数点」就变成了「算线性算子的迹」——而后者有一个万能的公式:Lefschetz 不动点公式。
Nm = Σi (−1)i Tr(Fm | Hi) ⟹ Z(X, t) = ∏i Pi(t)(−1)i+1, Pi(t) = det(1 − F t | Hi)
于是三条猜想变成三条「应当成立的性质」:① 有理性 ⟵ 迹公式(右侧是有限个多项式的商);② 函数方程 ⟵ Poincaré 对偶把 Hi 与 H2n−i 配对,特征值按 q2n−i 的因子互补;③ Riemann 假设 ⟵ 需要一个权分解与「正定性」判别,把 Hi 的特征值锁在模长 qi/2 上。
缺的那块拼图。要在代数闭包上取「不动点数」,需要一个系数域适当(特征 0,好做线性代数)又对代数几何友好(能定义 Lefschetz)的上同调。答案是 étale 上同调配 ℚℓ 系数(ℓ ≠ p)——它在 𝔽q 上「表现得像复系数上同调」。① 与 ② 由 Grothendieck 学派(1960s)完成;③ 由 Deligne 1974 完成,用的是他和 Katz 的「单值性 + 权」方法。
这一页值得记住的是那个「转译」:数点 → 算子迹 → 上同调维数/特征值。它让一个数论问题落进了线性代数,也让代数几何的抽象获得了硬回报。
★★★★ 上一页的转译留下一个「人」还没介绍:Frobenius。它是这套机制里真正的演员,而它有两种完全不同的写法——这正是数论与几何在 20 世纪最深的合流点。
写法一(几何)。F 是 𝔽q 上簇的自同态,作用在有限维 ℚℓ-向量空间 Hiét(X, ℚℓ) 上。它的特征多项式 Pi(t) = det(1 − Ft) 的系数(整数!)就是 ζ 函数的账本。「数点」被这支线性算子完全决定。
写法二(数论)。取绝对 Galois 群 G = Gal(𝔽̄q/𝔽q),它同构于 Ẑ,由一个「Frobenius 元素」在拓扑上生成。于是 F 的几何作用可以打包成一个连续同态
ρ: G → GLn(ℚ̄ℓ), ρ(Frob) 的半单部与 F 共轭
称为 ℓ 进 Galois 表示。同一份信息被装进了一个矩阵群——线性代数 + 表示论 + 群上同调的工具箱可以整体搬进来用。
为什么两种写法都值得学?几何侧便于「数点、算迹、套 Lefschetz」;数论侧便于「比较不同 ℓ、谈 Frob 的分解、谈 L 函数的解析性质」。例如「一个 ℓ 进表示是否来自某个簇」是几何表示论的核心问题(p166),而「L 函数的所有局部因子的积是否有解析延拓」是 Langlands 问题的形态。
从局部到整体。在素点 v 处,曲线可能「好约化」(纤维光滑)或「坏约化」(纤维奇异)。好约化处的局部因子就是一个 Frobenius 多项式的倒数;坏约化处则要引入惰性群(inertia)与单值化,局部因子记的是「这几个 Frob 的哪一个在表演」。整套 L 函数的构造,就是把每个素点处的局部因子乘起来——数论侧把它叫 Hasse–Weil L 函数,几何侧叫 ζ 函数,它们本来就是同一个东西。
★★★★ 一个自然的问题:既然已经有复上同调 Hi(X(ℂ), ℚ),为什么还要造三种新的上同调?答案是:它们面对的基域不同。复上同调要求能「取复点」,而算术问题问的是 𝔽q 或 ℚ 上的簇——那里没有 ℂ 可用。
de Rham 上同调(代数版)。把微分形式的复形代数化:HidR(X/k) = ℝiΓ(X, Ω∙X/k),系数取基域本身。它在 k = ℂ 时与复上同调同构(代数 de Rham 定理);对特征 0 的一般基域,它带着 Hodge 滤过与 Gauss–Manin 联络,是 Hodge 理论的主场(6.8)。
étale 上同调(算术版)。把「开集」换成「étale 映射」,用平坦/étale 拓扑取代 Zariski 拓扑,系数取 ℤ/ℓn 再取逆极限得 ℤℓ、ℚℓ。这样造出来的 Hiét 在 𝔽q 上满足 Lefschetz 迹公式——Weil 猜想由此得证。
晶体上同调(p 进版)。当 k 是特征 p 的完全域时,上面两套都失灵:de Rham 复形的微分有「零化」(d(xp) = 0),而 étale 的系数 ℚℓ 必须 ℓ ≠ p。补救办法是把系数换到 Witt 环 W(k)(特征 0!)上,用「分圆下降 + 晶体结构」造出 Hicrys。Berthelot、Grothendieck 学派建立,是 p 进 Hodge 理论的基础。
比较定理(把四套焊在一起)。当簇在 ℂ 上有好约化时,四套上同调给出同一批 Betti 数;更进一步还有「周期同构」(de Rham ⊗ ℂ ≅ Betti ⊗ ℂ)、「étale ↔ de Rham 比较」(Faltings、Tsuji 等,是 p 进 Hodge 理论的核心定理)。「同一件事的四种系数实现」这个经验,正是下一节 motive 猜想的动力来源。
★★★★ 上一页留下一个硬钉子:四套上同调给出相同的 Betti 数、相同的 Lefschetz 数、相同的周期关系。为什么?
Grothendieck 的猜想。因为这些数字不是四套理论各自的巧合,而是某个更基本的对象的共同显影。这个对象叫 motive(动机,记作 h(X))。它应该是一个「纯 motive」,自带:分次结构、权(weight)、Frobenius 与 Galois 作用、Hodge 结构——而四种上同调,都是把 h(X) 送进某个「实现函子」的像。
类比。整数 n 只有一个,但它在 ℝ、ℂ、ℚℓ、𝔽p 里有不同的「显影」;并不因为显影不同就该认为它们无关。motive 就是「上同调世界里的整数」。
最容易上手的例子:ℙn。它的 motive 是 1 ⊕ 𝕃 ⊕ 𝕃2 ⊕ ⋯ ⊕ 𝕃n,其中 𝕃 是「Lefschetz motive」(权的位移)。任何实现都给出 H2i 一维、奇数维为零——与已知完全吻合。更一般的「纯 motive 由代数圈给出」,于是motive 论与代数圈理论是同一件事的两面。
标准猜想。要让 motive 成为一个好用的范畴(有 Künneth 公式、有直和分解、有 Lefschetz 分解),需要在代数圈上验证四条
「标准猜想」:Künneth、圈类、Lefschetz、Hodge。它们至今只有部分情形被证明(特征 0 由「Betti 实现 + Hodge 理论」大多可得,特征 p 仍有缺口)。这也是为什么 motive 理论至今是「条件性」的:假定标准猜想,整套机器运转如常。
为什么它重要?因为无数「比较两个上同调理论」的定理都希望被写成「一个 motive 的两种实现」。它还是 Hodge 猜想(6.8)与 𝔽1 几何(6.14)的共同推手:前者问「哪些上同调类由代数圈生成」,后者想给「Spec ℤ 上的 motive 谱」造地基。motive 是代数几何的地平线上最大的一块未定之物。
★★★★ 复几何给了代数几何一份别处没有的礼物:复结构把上同调分型。
Hodge 分解。若 X 是光滑射影复簇,则 Hn(X, ℂ) 自然分解为 Hn = ⊕p+q=n Hp,q,其中 Hp,q 由「p 个 holomorphic 微分、q 个反 holomorphic 微分」的类组成,且 Hq,p 是它的复共轭。这一分解在实/étale 上同调里没有对应物——它是复几何的专属现象(第五章曲线的情形 H1 = H1,0 ⊕ H0,1 就是亏格计数的由来)。
Hodge 结构。分解可以等价地打包成「Hodge 滤过」Fp 加上整系数格,满足 Griffiths 横截性。一族簇的 Hodge 滤过随参数变化,构成周期映射(period map),其像落在「Hodge 簇」中——这是模空间理论(6.9)里最有名的局部结构。
Hodge 猜想。由 Hodge 类定理,每个由代数圈类生成的上同调类都落在 Hp,p 且为有理。猜想断言反过来也对:凡有理性条件满足的 (p, p) 类,都来自代数圈。换句话说:「由几何生成」与「满足纯拓扑条件」应当是同一件事。
为什么它难?因为「代数圈」是一个极难控制的对象:我们既不知道如何造出足够的圈(构造问题),也不知道如何证明某个类不是圈的(不存在性问题)。已知情形包括:p = 1(Lefschetz 的 (1,1) 定理)、余维 n − 1、以及若干特殊簇(Abel 簇的部分情形)。一般情形至今未解,且它已被证明与「motive 标准猜想」深度绑定。
这道缝的意味。Kodaira 曾说过 Hodge 猜想是「最难的问题之一」;它最迷人的地方在于,问题的陈述只需要复几何的语言,但要回答它,可能需要整个 motive 机器(6.7)乃至更远的东西。「哪些拓扑条件够、哪些不够」——这个缝就是复代数几何的核心张力。
★★★★ 前五章研究的都是单个形状:一条曲线、一张曲面、一个概型。但要理解「曲线的世界」,必须研究所有曲线排成的形状——这就是模空间。
模问题的一般形态。给定一类对象(如亏格 g 的光滑射影曲线)与一种等价关系(同构),希望造一个空间 𝓜,使得 𝓜 的点恰好对应等价类。若还有「万有族」𝒞 → 𝓜 使得每个对象都由某个映射拉回得到,就是细模空间;若只能做到「映射与族一一对应」而万有族不存在,就是粗模空间。
例子(最经典)。椭圆曲线(亏格 1 带一个有理点)的模空间记 𝓜1,1。因为椭圆曲线由 j 不变量完全分类,所以
𝓜1,1 ≅ 𝔸1
——它就是一条 j 线。「所有椭圆曲线」是一个一维空间:这句话把分类问题完全几何化了。(严格说,带标记点与带层化结构时要取 𝓜1,1 的有限覆盖才成为概型——这已经是向栈过渡的动机。)
形变理论:模空间的「局部地图。要造 𝓜,只需知道它在每点附近的形状。形变函子 DefX 记录「X 有多少种微小改动」:它的切空间是
T[X]𝓜 ≅ H1(X, TX)
其中 TX 是切丛。这个等式是本章最有用的一把尺子:「曲线能动几个方向」=「切层的一阶上同调维数」。曲线情形 dim H1(TX) = 3g − 3(g ≥ 2),于是 dim 𝓜g = 3g − 3。一阶形变的障碍则落在 H2(X, TX):维度为零时形变光滑,非零时出现奇异点。
为什么这只是开始?因为 𝓜g 常常不是概型:曲线有自同构,等价类之间的「粘法」不是平凡的。硬要用概型做会丢掉信息。正确的做法是把「粘的方式」也记下来——那就是栈(6.10)。
★★★★ 上一页的结论是:𝓜g 常常不是概型。要理解这一点,先看最朴素的商。
粗商的失败。设有限群 G 作用在仿射概型 X = Spec R 上,想造轨道空间。取不变量环 Spec RG,它确实是一个概型,也确实「点的集合 = 轨道的集合」。但它忘掉了三件信息:① 一个点被几个原像粘成(稳定化子大小);② 粘的方式(自同构群);③ 由此产生的「层论」退化(商上的层不再等于不变层)。
栈的定义思路。栈是一个「层」:对每个测试概型 S,它给出一个群胚 𝓧(S)——对象是「S 上的一族形状」,态射是这些族的同构。关键在于:「同构」也是数据的一部分。于是当两个原像在同一轨道上时,栈不但知道「它们被粘起来」,还知道「用哪个自同构粘的」。这样上面三条信息全部保住,商在栈的世界里总是存在。
为什么必须这么做(不只是技术洁癖)?因为「分类」在最朴素的层面就天然是栈:同一个几何对象可以有多个「呈现」,而不同的呈现之间只差一个自同构。例如亏格 2 曲线都可用 y2 = f6(x) 表示,但选择的 f6 不唯一。硬要把这些呈现粘成一个点,就会丢掉「这个呈现与那个呈现相差哪个自同构」的账。
谱系(层层放宽局部模型)。① 代数空间:局部像概型的 étale 商(Deligne、Artin);② Deligne–Mumford 栈:局部像概型的有限 étale 商,自同构群有限,几何最规矩(𝓜g 就是它);③ Artin 栈:局部像概型的光滑商,允许正维稳定化子(如向量丛的分类栈 [∗/GLn])。
回报。有了栈,「模空间上的层」「模空间上的上同调」都可以正常定义,于是可以谈「曲线家族上的向量丛如何随参数变化」——这才是真正能用来做计数与表示论的工具。下一节(6.11)会看到:几何 Langlands 整套理论就是在这些栈上做层论。
★★★★ 前面我们把几何变成了代数(环、层、上同调);这一节反过来:用几何来做表示论。
线索一:D 模。把「线性微分算子」层化:DX 是 𝒪X 加上所有微分算子生成的层,DX-模就是「层化的线性 PDE 系统」。它把分析里最硬的对象搬进了代数几何:解空间、单值化、奇点结构都有了层的说法。
线索二:Beilinson–Bernstein 局部化。设 G 是半单代数群,𝔤 是其 Lie 代数,G/B 是旗簇。定理:𝔤 模的某个子范畴,等价于 G/B 上受中心特征的 D-模范畴。于是「求不可约表示」变成「求旗簇上不可约 D-模」,Verma 模、最高权、BGG 分解都有了几何对应。
线索三:几何 Langlands。把上述思路推到「整体」:设 X 是一条光滑射影曲线(复数域或有限域上)。几何 Langlands 猜想断言:X 上 GLn 的「Hecke 特征 D-模」范畴,等价于 X 上 GLn 的 ℓ 进局部系统范畴(或 n 维 Galois 表示)。「自守一侧」是曲线上的层,「Galois 一侧」是曲线上的局部系统。
为什么归在这一章?因为它把本章前面所有零件都用上了:栈(因为要处理 Bunn 这类模栈)、上同调(要算 Hecke 算子)、Galois 表示(6.5)、曲线与除子(第五章)。它也是现代数论最活跃的方向之一:Langlands 纲领的「几何版本」,进展往往反过来启发数论的猜想。
★★★ 前面讲的都是「把几何变成代数」。这一节是另一种现代形态:用两种几何互相破解对方的计数问题。
Gromov–Witten 不变量。在辛流形(或复射影簇)里,固定亏格 g 与同调类 β,考虑所有代表 β 的代数曲线,对它们做「虚拟计数」得到 ⟨⋯⟩,就是 GW 不变量。它可以收成一族生成函数,定义量子上同调:量子积 a ∗ b 的系数是「带标记点的三点 GW 数」。「数曲线」被组织成了一个新的环结构。
镜像对称的断言(物理来源)。某些 Calabi–Yau 流形成对出现:X 与它的镜像 X∨。猜想(已证于许多情形):X 的量子上同调,与 X∨ 的古典(Hodge)结构在适当变换下同构。左边是「数曲线」,右边是「解周期积分」——后者是线性代数问题。
最著名的战绩。五次三维超曲面(ℂℙ4 中的五次曲面)上的有理曲线个数,长期无人能算。Candelas 等人用镜像对称写出公式,预测 d = 1, 2, 3 次数有理曲线条数为 2875, 609250, 317206375。随后数学家(Givental、Lian–Liu–Yau 等)补全严格基础并验证——这是物理直觉给纯数学带来的最惊人的一次跳跃。这也直接催生了「镜像对称的 SYZ 猜测」与同调镜像对称纲领。
为什么它属于「现代疆界」?因为它把本章的两个老词都翻新了:① 上同调不再只是「算完的答案」,而成了带乘法(量子积)的丰富结构;② 模空间(6.9)在这里是「曲线模空间」,虚拟基本类技术正是为了给「数曲线」赋予意义而生的。几何、辛结构、计数、物理直觉——这一节是全册离「古典代数几何」最远、也最活跃的地方。
★★★★ 本章最后两道地平线都很「抽象」,但动机其实非常具体:古典几何里有一批构造「本该成立,却总差一点点」。
症状一:纤维积不「大小正确」。在概型范畴里,X ×S Y 的维数会突然跳(例如两个分支相交处),因为它只记「相交」不记「相切的方式」。症状二:相交积需要「移动引理」。为了让两个闭子概型「好好相交」,古典做法是把其中一个稍微挪一下——这是一种补救,不是定义。症状三:导出函子要「选消解」。上一节 RiF 依赖选一个内射消解,虽然结果无关,但「依赖选法」这件事本身不够漂亮。
修法:把「相等」换成「同伦」。在导出代数几何里,我们不再只说「两个对象相等」,而是记下它们之间怎样的链复形把彼此连着;不要求极限严格成立,而只要求「在同伦意义下成立」(同伦极限 / 同伦余极限)。于是:
纤维积 → 导出纤维积(维数不再乱跳) RiF → 直接定义(不再选消解)
三个立刻见效的收获。① 相交理论被内建:两个闭子概型总有「导出相交」,其「多余部分」正是重数(Tor 群),不再需要移动引理(与 6.3 呼应);② 形变理论被内建:形变的障碍、高阶形变由 dg Lie 代数 统一描述(Lurie、Pridham 的结论:形变问题的障碍由一个微分分次 Lie 代数控制);③ 谱代数几何:把基从交换环换成谱(𝔼∞-环谱),得到比概型更宽的一层几何——这是 Lurie 的 Higher Algebra 与 Spectral Algebraic Geometry 的世界。
代价与现状。代价是技术的门槛:需要同伦论、模型范畴或 ∞-范畴的语言,才能把「同伦意义下」说清楚。现状:导出代数几何已成为现代代数几何的通用语言之一(虚拟基本类、模栈的形变、表示论中的特征簇都用到它)。它的哲学非常值得记住:数学对象的「相等」常常不是要点,「它们怎样相连」才是——这正是范畴化的核心精神,也是本册从「元素」走到「映射」、再走到「层与范畴」的最终一站。
★★★ 第五、六章反复出现一个对比:函数域上的几何(𝔽q 上的曲线)已经完整,数域上的算术(ℤ 上的曲线)却处处缺一块。这一页讲两道试图弥合它的地平线。
缺口在哪。曲面 ℙ1 × ℙ1 上,除子的交数靠「垂直与水平直线各一颗点」来定;Spec ℤ 上,「垂直方向」是素数的方向,但还缺一个方向:无穷远(Archimedes 素点)。少了它,Bézout、Riemann–Roch、Hodge 之类定理都凑不齐项数。
路一:𝔽1 几何(一元域)。𝔽1 是「只有一个元素的域」这一虚构对象。若它存在,Spec ℤ 就能看成「𝔽1 上的曲线」,于是:ℤ 上的算术与函数域上的几何共用一套定理,Riemann 假设与 Weil 猜想成为同一命题的两个特例。困难在于「域不可能是有限的只有一个元素」——所以 𝔽1 只能以「某种范畴 / 单子 / 层状结构」的形式存在。目前已有多套候选理论(Deitmar、Connes–Consani、Toën–Vaquié 等),各有斩获,但尚未统一。
路二:Arakelov 几何。更务实的一条:不虚构新基域,而是把「无穷素点」当作一条普通纤维补进来——在算术曲面 Spec 𝒪K 的每个闭纤维上装一个 Hermite 度量,在无穷素点处用解析数据(Kähler 形式、Green 函数)替代「几何交点」。于是有一个算术相交数 ⟨D, E⟩,它把代数相交与解析积分加起来。Faltings、Vojta、Bombieri 的工作显示:算术 Riemann–Roch 与算术 Bézout 都能在这个框架里陈述与证明(第五章 5.15 的 Arakelov 是它的入门版)。
为什么它们值得知道?因为它们定义了「代数几何还能往哪里走」的两个极端方向,也解释了本册标题里那个词为什么是「引论」:这门学科的地图至今仍在绘制中。手上这 198 页把从笛卡尔到 Grothendieck 的主干画完了,而 𝔽1、Hodge 猜想、motive 标准猜想这些地名,正是新一代人要去的地方。
★★★ 第六章的最后一张地图:把本册出现过的所有现代对象按家族归档。
家族一 · 上同调。它的出发点是「有颜色的加法」:Hi 记第 i 层的信息。核心工具是导出函子与谱序列(p157),核心现象是「四套系数给出同一批数」(p161),核心猜想是motive(p162)与 Hodge 猜想(p163)。这一家族的任务是「算」。
家族二 · 空间。它的出发点是「形状本身也有形状」:所有形状排成模空间(p164),模空间往往不是概型,需要栈(p165),而栈上的形变与相交又需要导出概型(p168)。这一家族的任务是「造家」——给此前无处安放的对象(商、虚拟基本类、高阶形变)一个合法住所。
家族三 · 交叉。前两个家族彼此碰头,长出最活跃的方向:几何表示论(用旗簇上的层做表示,p166)、镜像对称与 GW 不变量(用镜像的古典结构算另一侧的量子上同调,p167)、𝔽1 与 Arakelov(把数域伪装成函数域,p169)。这一家族的任务是「跨界」——它的成果常常同时改进两侧。
三家族的交汇点:层。一个反复出现的词:层。上同调算的是「层」的上同调;模空间上要谈层才好做表示论;导出几何把「层」升级成「链复形上的层」。从第一章的「零点集」走到这里的路径可以一句话概括:元素 → 方程 → 理想 → 环 → 概型 → 层 → 上同调 → 范畴与同伦。每一步都不是为了抽象而抽象,而是因为「原来的语言在这一步不够用」。
怎么用这张图?遇到陌生术语时先问三个问题:① 它属于哪个家族(算、造家、还是跨界)?② 它修的是哪一个「不够用」(基座?商?相等?)?③ 它与前面哪一章的哪个对象对接?能答出这三个问题,术语就不再是孤立的词条,而是地图上的一个坐标。下一页起收束本章,并把整册的账目一次结清。
★★★★ 第六章的术语密度是全册最高的,四个高频误读值得提前拆弹。
误读一:「概型只是给簇补了几个泛点。」听起来像「加了几个极端点而已」。正读:泛点是核心机制而不是装饰——它让「通有性质」有了确定性含义(Spec k[x] 的泛点 (0) 的剩余域是有理函数域,闭点的剩余域是 k,两者层级不同)。没有泛点,「一般位置」这个词在代数上就没有落点。
误读二:「上同调就是数洞的个数。」这只在实拓扑的最低维、最规矩的情形对。正读:Hi 的本质是导出函子(p157)——它记录的是「某个左正合函子在多大程度上不正合」。维数只是它最粗的读数;真正好用的是长正合列、杯积、Poincaré 对偶、Lefschetz 迹公式这些结构。把上同调当计数器用,等于把整个工具箱当一把尺子。
误读三:「栈只是为了让定理陈述更技术化。」正读:栈解决的是商这件具体的困难(p165)。取不变量环做商会丢掉稳定化子与自同构的信息;栈把这些信息记成数据。𝓜g 不是概型这件事不是技术细节,而是「曲线的自同构群非平凡」这个几何事实的投影。
误读四:「导出代数几何是纯形式的过度抽象。」正读:它修的是一个真 bug——古典世界里「纤维积维数乱跳」「相交要先移动」「导出函子要先选消解」。把这些换成「同伦意义下成立」之后,虚拟基本类、相交重数、形变障碍、高阶形变都有了不需要补救措施的定义(p168)。抽象的成本换来的是「不再需要补丁」。
找 bug 的练习法:每学一个抽象工具,先问「它替代的旧做法是什么、旧做法在哪个反例上出错」。能举出一个具体反例,就算真懂了。
★★★★ 五道例题把 6.3 的三种语言(古典计数、交积、杯积)落到实处。
例 6.1(相切使重数翻倍)。取 ℙ2 上的直线 L: z = 0 与三次曲线 C: y2z − x3 + xz2 = 0。代入 z = 0 得 −x3 = 0,只有 x = 0,即唯一交点 (0 : 1 : 0)。但 Bézout 要求 1 × 3 = 3 个点(计重数)——所以这个交点的重数是 3。这正是 C 在 (0:1:0) 处与 L 有高阶相切的账。若只数点,会误判为「只交 1 点」。
例 6.2(实数域看不出 4,复数域看得出)。取 C: xz − y2 = 0(抛物线)与 D: z2 − x2 − y2 = 0(圆),两条圆锥曲线。令 z = 1:x = y2 代入得 1 − y4 − y2 = 0,即 y2 = (−1 + √5)/2 ≈ 0.618,给两个实点。再看无穷远处 z = 0:C 给 (1 : 0 : 0),但 D 在 (1:0:0) 处要求 −1 = 0,不成立;满足 x2 + y2 = 0 的只有 (1 : ±i : 0)——两个复点。总数 2 + 2 = 4 ✓。教训:Bézout 是复射影计数定理,实点要用重数与复点补齐。
例 6.3(ℙ1 × ℙ1 的双次数)。在直纹面 ℙ1 × ℙ1 上,除子由双次数 (a, b) 标记(a = 垂直直线数,b = 水平直线数)。两条曲线 (a, b) 与 (c, d) 的交数是 ad + bc。核验:两条 (1,1) 曲线(即两条圆锥曲线)交 1·1 + 1·1 = 2 点——与「平面上两条圆锥曲线交 4 点」并不矛盾,因为 ℙ1×ℙ1 的二次嵌入与 ℙ2 的平面圆锥曲线是不同的嵌入(次数不同)。这就是「交数依赖环结构」的最简示范。
例 6.4(重数的局部环算法)。C: y = x2 与直线 L: y = 0 在原点相切。在原点局部环 𝒪 = k[x,y](x,y) 里,C 给商 k[x],L 给商 k[x,y]/(y) ≅ k[x],两者张量得 k[x],维数为 2——即相交重数 2(相切)。局部环/Tor 的欧拉特征自动给出重数:不需要「看清相切」这种视觉判断。
例 6.5(交积 = 杯积)。设 S 是光滑射影曲面,C, D 为两条曲线。在 H2(S) 里取它们的类 [C], [D],则
(C · D) = ∫S [C] ∪ [D]
——几何的「交」、代数的「积」、计数的「重数」在此完全合一。Bézout 定理于是是这台机器最简的一次运转;而在更高维,「哪些类能这样被算出来」就成了 Hodge 猜想(6.8)的问题。
★★★★ 四道例题把第五章的计数工具推到亏格 2,并且逐行与 p181 的真跑输出对齐。
例 6.6(亏格 1:数点与迹)。取 E: y2 = x3 + 2x + 1 在 𝔽7。逐 x = 0…6 判右端是否为平方剩余(𝔽7 的平方剩集 {0, 1, 2, 4}):x = 0 → 1 ✓、x = 1 → 4 ✓、其余 → 6, 6, 3, 3, 5 均非剩余。仿射点 2 + 2 = 4,加无穷远点得
N1 = 5, a1 = q + 1 − N1 = 8 − 5 = 3
例 6.7(三处扩域对拍)。用真域算术得 N2 = 55, N3 = 380。由 s2 = q2 + 1 − N2 = −5 与 a1 = 3 定出 a2 = (a12 − s2)/2 = 7,于是 P(t) = 1 − 3t + 7t2。再由牛顿恒等式 s3 = a13 − 3a1a2 = −36,预测
N3 = 343 + 1 − (−36) = 380 ✓ 与实算一致
例 6.8(亏格 2:五项 P(t))。对 C: y2 = x5 − x + 1 于 𝔽3,四个扩域实测 N1 = 7, N2 = 15, N3 = 19, N4 = 83。幂和 sm = qm + 1 − Nm 为 −3, −5, 9, −1;牛顿恒等式给出
P(t) = 1 + 3t + 7t2 + 9t3 + 9t4
用它递推第五个扩域:s5 = 12,故 N5 = 243 + 1 − 12 = 232——与真跑实测 232 完全一致。
例 6.9(三处核对,一次做完)。① 函数方程:系数须满足 c3 = qc1(9 = 3 × 3 ✓)与 c4 = qg = 9 ✓;② Hasse 界:|Nm − (qm + 1)| ≤ 2g√(qm) 对 m = 1…5 全部成立(g = 2);③ Riemann 假设:把 P 的四个根取倒数,模长全部等于 √3 ≈ 1.732050808——Weil 猜想③在亏格 2 上的显影。
例 6.10(为什么必须用真域算术)。上面所有 𝔽9, 𝔽27, 𝔽81, 𝔽243 都必须按 𝔽3[t]/(f) 逐元素乘法来算,绝不能用 ℤ/9 之类冒充(那不是域,也不含 9 个元素)。p181 的实验脚本里每一处模多项式都经过「非零元皆可逆」的验证——这是「真跑」的底线。
★★★★ 五道题,把 6.2 的机器开动起来。
6.1.1(层上同调的基本表) 记 𝒪ℙn(d) 为 Serre 扭层。利用「𝒪(d) 的整体截面 = d 次齐次多项式」这一显式描述,写出 h0(ℙn, 𝒪(d)) 的公式(d ≥ 0),并说明 hi = 0 对 1 ≤ i ≤ n − 1 与一切 d 成立。提示:n = 1 时逐一算 Čech,再对 n 用层化。
6.1.2(用长正合列算 H1(ℙ1, 𝒪)) 写出 Euler 序列
0 → 𝒪ℙ1 → 𝒪(1)⊕2 → 𝒪(2) → 0
取长正合列:0 → H0(𝒪) → H0(𝒪(1))⊕2 → H0(𝒪(2)) → H1(𝒪) → H1(𝒪(1))⊕2。右边已知为零,左边维数 1, 4, 3,故 h1(𝒪) = 3 − (4 − 1) = 0。「算上同调」的典型动作:把未知项挤在中间,两端已知则中间被迫为零。
6.1.3(Leray 谱序列算乘积) 对投影 p: ℙ1 × ℙ1 → ℙ1(第一个因子)与层 𝒪(a,b),有 Rqp∗𝒪(a,b) = 0(q > 0)且 p∗𝒪(a,b) ≅ 𝒪(a)⊕(b+1)(b ≥ 0)。于是谱序列退化,直接给出 Hi(ℙ1×ℙ1, 𝒪(a,b)) ≅ Hi(ℙ1, 𝒪(a))⊕(b+1)。谱序列退化的情形最容易处理:只算底空间的一行。
6.1.4(消失判据) 证明:若层 F 是内射(或柔弱/软层),则 RiΓ(F) = 0(i ≥ 1),并解释为什么「所选消解不影响结果」。
6.1.5(乘积的同调维数) 用 6.1.3 的结论与 Künneth 型分解,写出 H∙(ℙ1 × ℙ1, 𝒪) 的各维数(答案应为 1, 0, 1),并解释它为什么与「ℙ1 × ℙ1 是曲面、b2 = 1」这一几何事实一致。
做题时反复回到一个判据:「这一项能不能用已知的零挤掉」。长正合列的威力正在于「零会传染」——上同调计算的大半技术就是安排零的位置。
★★★★ 五道题,把第五章的计数链完整走一遍,并与 p181 的实验输出互相印证。
6.2.1(手算 𝔽5 上的点数) 取 E: y2 = x3 − x + 1 于 𝔽5:𝔽5 的平方剩集为 {0, 1, 4},逐一算 x3 − x + 1 得仿射点 7 个,加无穷远点 N1 = 8,故 a1 = q + 1 − N1 = −2(与 p151 实验第一行一致)。
6.2.2(ℙ1/𝔽3 的 ζ 函数) 对 ℙ1,Z(t) = 1/((1 − t)(1 − qt))。展开:Σ Nmtm/m 的指数形式给出 Nm = qm + 1。取 q = 3 逐项核对:N1 = 4, N2 = 10, N3 = 28, N4 = 82。这是亏格 0 的标本:分子为常数 1(p151 实验 5.2)。
6.2.3(椭圆曲线的函数方程) 对 6.2.1 的曲线,由 N2 定出 a2 = 5,得 P(t) = 1 + 2t + 5t2。核对函数方程
P(t) = qt2P(1/(qt))/P(0) (g = 1 的形式)
左端 1 + 2t + 5t2,右端代 q = 5 得同样结果——逐系数相等,且常数项恰为 qg = 5。
6.2.4(亏格 2 的五处对拍) 对 C: y2 = x5 − x + 1 于 𝔽3,用 P(t) = 1 + 3t + 7t2 + 9t3 + 9t4 递推 Nm,与实测对照:7, 15, 19, 83, 232 五项全部一致。五个扩域一次通过,说明 2g = 4 个根确实锁死了整个计数序列。
6.2.5(Riemann 假设的两种核对) ① 代数式:核对 c4 = qg = 9 与 c3 = qc1 = 9;② 解析式:把 P 的四个根取倒数,数值求模长得 1.73205080757(四个完全相同),而 √3 = 1.7320508075688772…。两者都成立,Riemann 假设在这一族上被验证。
做完这五题,应当能一句话说清 Weil 猜想的味道:「有限域上数点」这件事,被 2g 个数(Frobenius 的特征值)完全决定;而 Weil 说的正是这 2g 个数住在哪一圈上。
本章地图一句话:前五章造好了工具,本章看这些工具还能推到多远——并在地图上标出仍在施工的地方。
追问(p155)。从哪里出发?第五章末尾留下的两条边界线:一是「族的房子」(模空间装不进概型),二是「根的身份」(ζ 的根为什么在四套上同调里都能读到)。
阶梯(p156)。先把三种空间的关系摆平:簇(基域代数闭)→ 概型(任意交换环作基座、点分层级、纤维有定义)→ 栈(点自带上同构群)。每一次推广都对应一个此前办不到的操作。
机制(p157–p158)。回答「上同调凭什么算」:导出函子给出有效机制,谱序列给出多层算法;相交理论把 Bézout 的数升级为杯积的配对。
封顶(p159–p163)。这是本章的智力核心:把 Weil 三条猜想翻译成「一个上同调理论的三条性质」(有理性 ← 迹公式、函数方程 ← Poincaré 对偶、Riemann 假设 ← 权与正定性);再往下是四套上同调的比较与 motive、Hodge 猜想——两块仍在施工的地基。
新空间(p164–p165、p168)。模空间与形变理论(切空间 ≅ H1(X, TX))告诉我们「形状本身也是形状」;栈给商安家;导出代数几何把「相等」放宽为「同伦」。
跨界(p166–p167、p169)。几何表示论与几何 Langlands、镜像对称与 GW 不变量、𝔽1 与 Arakelov 几何——这三个方向都不是「更抽象」,而是两个成熟领域的接口,成果往往同时改进两侧。
收束(p171–p184)。误读、例题、习题、地图、双小结、思想卡、挑战,以及一页真跑实验(数点 → ζ 函数 → 三性质逐条核对)与一册速查表。最后是出站台。一句话路标:先把「算」的机制弄顺,再把「空间」的地板加厚,最后在交叉处找题目。
★★★★ 这一页做全册总收束:把六章的知识各压成一句,并指出它们之间的接口。
① 绪论 · 两种几何观。欧几里得用图形,笛卡尔用方程。代数几何的全部内容都在这两种视角的翻译中展开:形状 ↔ 方程。
② 仿射簇 · 零点集与理想。把几何翻译成代数:代数集是方程组的公共零点,理想是它的代数化身,Hilbert 基定理说理想有限生成,Nullstellensatz说 ℐ(𝒱(J)) = √J。几何问题变成环论问题。
③ 簇的结构与态射 · 结构比元素更重要。坐标环、局部环、维数、切空间、光滑与奇异;态射的严格定义与双有理等价。从此谈几何不谈「点」,谈「局部环与映射」。
④ 射影几何与层 · 把无穷远请进来。齐次坐标让曲线「闭合」,Bézout 由此成立(mn 个交点);层与结构层把「局部数据」形式化,上同调初步登场。「局部—整体」成为一门技术。
⑤ 概型 · 几何的算术化。Spec R 把基座换成任意交换环,点是素理想,纤维与基变换有定义,除子与可逆层把「零点」变成线丛,Serre 对偶为 Riemann–Roch 铺路。算术与几何共用同一个对象。
⑥ 曲线与算术几何 · 从 Riemann–Roch 到 Weil 猜想。亏格把曲线分类,Riemann–Roch 把自由度写成公式,椭圆曲线把点变成群,ζ 函数把有限域计数装进多项式,Weil 三条猜想给出算术几何的封顶目标。抽象第一次获得硬回报。
⑦ 现代疆界 · 把工具推到底。导出函子、谱序列、相交理论、四套上同调、motive、Hodge 猜想、模空间与栈、导出代数几何、𝔽1 与 Arakelov。本章不证新定理,只画「还在施工」的地方。
一条贯穿全册的方法论:当一种语言在某个操作上失效,就换一种更宽的语言——元素不够用就换映射,映射不够用就换环,环不够用就换层,层不够用就换范畴与同伦。这条逻辑链就是本册的骨架。
★★★ 上一页回顾六章的知识,这一页回顾本章的「账」:哪些已经封顶,哪些还在施工。
已经封顶(可以放心使用)。① 导出函子与谱序列——整套机制完整,是所有上同调计算的基础;② Weil 猜想——Grothendieck 学派完成 ①② 、Deligne 1974 完成③,且被后续多种方法(Laumon、Katz、Kedlaya 的刚性上同调等)验证;③ 四套上同调的比较——特征 0 情形已完整,特征 p 情形基本齐备(Faltings、Tsuji 等)。这些结论可以当工具用。
还在施工(只能当「有条件的语言」用)。① Hodge 猜想(p163)——一般情形未解,「哪些类来自代数圈」尚无答案;② motive 标准猜想(p162)——四条标准猜想大多未证,导致 motive 论至今是条件性的;③ 𝔽1 的统一理论(p169)——已有多套候选,但没有一个被公认为「正确的那一个」;④ 几何 Langlands——多种情形已证(如 GL1、部分 GLn 与函数域情形),但一般猜想仍开放。
怎么判断「封顶」与「施工」?一个实用标准:已封顶的结论,其陈述精确、证明可查、且被至少两套互相独立的方法验证;施工中的方向,通常连「正确的陈述究竟是什么」都还在争论。例如 Hodge 猜想一般情形下甚至不确定「代数圈」应该换成什么更强的对象(这是「广义 Hodge 猜想」的争议)。
本章的边界线(三条最深的缝)。① 复几何与算术几何的缝:Hodge 结构只在复几何有,étale 只在算术有,比较定理只是把它们对齐,没有解释「为什么」;② 「相等」与「同伦」的缝:导出几何用同伦修补了古典的不足,但代价是失去了「一个对象就是一个对象」的朴素直观;③ 数域与函数域的缝:函数域版本有完整几何(𝔽q 上的曲线),数域版本处处缺一块(𝔽1 与 Arakelov 都在补它)。
本册给出的位置感。读完这一册,不会证明 Weil 猜想,但应当能回答:为什么需要概型、为什么需要上同调、为什么 ζ 函数的根那么重要、以及现代几何在哪儿还在施工。有了位置感,往任何方向走都不会迷路——这正是「引论」的全部意义。
★★★★ 如果只允许带一张思想卡离开这一册,应该带这张:翻译的方向可以反过来。
方向一(第一至四章):用代数做几何。把几何对象翻译成代数数据——空间 → 环(Spec),子簇 → 理想,向量丛 → 模,局部性质 → 局部化。好处是精确:几何里说不清的「一般位置」「无穷小邻域」在环论里都有定义。这一方向的高峰是概型:任意交换环都能当地基。
方向二(第五、六章):用几何做代数。把代数问题翻译成几何问题——丢番图方程 → 曲线上的点,有限域计数 → Frobenius 的迹,表示 → 旗簇上的层,分类问题 → 模栈。好处是有工具:几何有上同调、有对偶、有 Lefschetz,这些机器一代数问题用不上,一搬过来就势如破竹(Weil 猜想就是例子)。
为什么这张卡最重要?因为大多数人只学会了方向一,于是把代数几何当成「把几何写成环论习题」的枯燥行业。方向二才是这门学科的动力所在:它把几何当作一台机器,去答案数的算术问题、去答表示论的结构问题、去答组合计数问题(镜像对称的 GW 不变量)。一台机器只有在能反向使用时,才算真的懂了。
三个「方向二」的标本(本册已见)。① ℙ1/𝔽3 上的计数 Nm = 3m + 1 由一条几何事实(g = 0)完全决定;② 亏格 2 曲线在 𝔽3 上的 N1…N5 = 7, 15, 19, 83, 232 被四个数(Frobenius 特征值)锁死;③ 一条曲线的 Jacobi 簇(几何对象)恢复出曲线本身(Torelli)。三例都是「几何结构决定代数数据」。
最后的判断。当能在两个方向上自由翻译,就会发现代数几何不是一个「分支」,而是一种语言:任何出现「方程组」「对称性」「不变量」「分类」「计数」的地方,它都能介入。这也是为什么 Grothendieck 之后,这门学科渗入了数论、表示论、物理与组合学的每一处。
★★★★ 挑战页的任务:把本章 30 页的骨架压成一条五步的链,每一步都说清「输入什么、输出什么、缺什么就不成立」。(证明的完整细节远超本册范围,但骨架是可以完全理解的。)
第 1 步 · 生成函数。输入:计数序列 Nm。输出:Z(X, t) = exp(Σm≥1 Nmtm/m)。为什么这么做?因为 t d/dt log Z = Σ Nm tm——计数序列变成一个幂级数,可以谈「有理」「函数方程」这些概念。缺这一步:无从谈 ζ 的解析性。
第 2 步 · 认出 Frobenius。输入:𝔽q 上的簇 X。输出:X(𝔽qm) = Fix(Fm),其中 F 是 q 次幂作用的 Frobenius。这是全册最漂亮的一次翻译:几何上的「有理点」恰是某个自同态的「不动点」。
第 3 步 · Lefschetz 迹公式。输入:F 在某有限维向量空间 Hi 上的线性作用。输出:
Nm = Σi (−1)i Tr(Fm | Hi) ⟹ Z(X, t) = ∏i Pi(t)(−1)i+1
第 1 条猜想(有理性)由此得证:右端是有限个多项式的商。缺这一步:无法把无穷序列收成有限数据。
第 4 步 · 对偶与权。输入:上同调的公理(Poincaré 对偶、Künneth、迹映射)。输出:① 函数方程——对偶把 Hi 与 H2n−i 配对,使 Pi 的根成对互补;② Riemann 假设——把 Hi 上的权刻为 w,则特征值模长 = qw/2(Deligne 1974 的关键)。这一步最难,也最依赖上同调的「正定性」。
第 5 步 · 造出那个上同调。输入:需要在特征 p 上工作、要系数特征 0、要 Lefschetz 成立。输出:étale 上同调 + ℚℓ 系数(ℓ ≠ p),由 Grothendieck 学派(Artin、Verdier、Deligne 等)建立,包含基变换、光滑基变换、迹公式等一系列定理。缺这一步:1–4 步全是空话——「哪个上同调」正是全部难点所在。
五步自检。能用一句话说清每一步的「输入 / 输出 / 缺它就不成立」吗?能,就真正握住了本章的封顶内容。而这条链的每一环,都是 20 世纪代数几何的一整本书。
把本章的核心账目真跑一遍:数有限域上的点,组装 ζ 函数,再用它预测下一个扩域的计数,最后逐条核对 Weil 猜想。两族曲线各跑一段,全部输出都与理论一致。
实验 6.1 椭圆曲线 E: y2 = x3 + 2x + 1(𝔽7 及其扩域)。关键在于必须先造出真域:𝔽49 = 𝔽7[t]/(t2 + 4)、𝔽343 = 𝔽7[t]/(t3 + 2t + 1)(模多项式不可约,逐域验证「非零元皆可逆」)。
# Fpm = F_p[t]/(f):元素用系数向量表示,乘法后按 f 约化
def mkfield(m, f, p):
def mul(u, v):
r = [0] * (2*m - 1)
for i, ui in enumerate(u):
for j, vj in enumerate(v):
r[i+j] = (r[i+j] + ui*vj) % p
for d in range(2*m - 2, m - 1, -1): # tm = -(f[m-1]tm-1 + ... + f[0])
c = r[d]
if c:
for k in range(m):
r[d - m + k] = (r[d - m + k] - c * f[k]) % p
return r[:m]
def pow_(u, e): # 平方剩余判别 r(q-1)/2 要用
r = [1] + [0]*(m - 1)
while e:
if e & 1: r = mul(r, u)
u = mul(u, u); e >>= 1
return r
return mul, pow_, [list(c) for c in itertools.product(range(p), repeat=m)]
def count(curve_poly, m, f, p): # y2 = f(x):逐 x 数根,再加无穷远点
q = p ** m
mul, pow_, els = mkfield(m, f, p)
sq = {}
for y in els:
t = tuple(mul(y, y)); sq[t] = sq.get(t, 0) + 1
n = 1
for x in els:
r = [0]*m
for c in reversed(curve_poly): # Horner:r = r*x + c
r = mul(r, x)
r[0] = (r[0] + c) % p # 常数项只加在常数坐标
n += sq.get(tuple(r), 0)
return n
实跑输出(逐字,来自 _exp_ag181.py)。
== 实验 6.1:椭圆曲线 E: y2 = x3 + 2x + 1 / F_7 == 域表示:F_7、F_49=F_7[t]/(t2+4)、F_343=F_7[t]/(t3+2t+1);逐域验「非零元皆可逆」= True 实测点数:N_1 = 5, N_2 = 55, N_3 = 380 幂和 s_1 = 8 - N_1 = 3,s_2 = 49 + 1 - N_2 = -5 zeta 函数:P(t) = 1 + (-3)t + (7)t2 (即 1 - a*t + q*t2,迹 a = 3) 递推预测 N_3 = 343 + 1 - (-36) = 380,实算 380,一致 = True Riemann 假设核对:P 的常数项应 = q = 7,实际 7,成立 = True == 实验 6.2:亏格 2 超椭圆曲线 C: y2 = x5 - x + 1 / F_3 == 域表示:F_9=F_3[t]/(t2+1)、F_27=F_3[t]/(t3+2t+1)、F_81=F_3[t]/(t4+t+2)、F_243=F_3[t]/(t5+2t+1) 实测点数:N_1 = 7, N_2 = 15, N_3 = 19, N_4 = 83, N_5 = 232 幂和 s_m = qm + 1 - N_m(m = 1..4):-3, -5, 9, -1 牛顿恒等式由 s_1..s_4 定出系数:c_1 = 3, c_2 = 7, c_3 = 9, c_4 = 9 函数方程抽查(亏格 2):c_3 应 = q*c_1 = 9,c_4 应 = q2 = 9;c_3 = 9, c_4 = 9 -> True zeta 函数:P(t) = 1 + (3)t + (7)t2 + (9)t3 + (9)t4 m = 1:由 P 递推预测 N_1 = 7,实算 7,一致 = True m = 2:由 P 递推预测 N_2 = 15,实算 15,一致 = True m = 3:由 P 递推预测 N_3 = 19,实算 19,一致 = True m = 4:由 P 递推预测 N_4 = 83,实算 83,一致 = True m = 5:由 P 递推预测 N_5 = 232,实算 232,一致 = True 五处扩域全部对拍一致 = True Weil 猜想核对:P 的最高项 c_4 应 = qg = 9,实际 9,成立 = True Hasse 界逐项核对:|N_m - (qm + 1)| <= 2g*sqrt(q^m),全部成立 = True Frobenius 特征值:|alpha_i| = 1.73205080757, 1.73205080757, 1.73205080757, 1.73205080757 Riemann 假设:全部 |alpha_i| 应 = sqrt(q) = 1.73205080757,成立 = True
读账。① 实验 6.1 的 P(t) 常数项是 7 = q,这是亏格 1 的 c2 = qg;② 实验 6.2 的 P 有 2g = 4 个根,其中「最高项 c4 = 9 = q2」与「c3 = qc1」一起构成函数方程的显影;③ 四个特征值模长全部等于 √3——这就是 Riemann 假设;④ 五个扩域的计数被 P 滴水不漏地预言出来——这就是有理性。
技术要点(踩过的坑)。① 多项式常数项必须只加到常数坐标(r[0] += c),否则每加一项都会污染全部坐标;② Horner 迭代的变量必须是 x 本身,而不是常数 1;③ 牛顿恒等式里 P 的系数与初等对称多项式差一个符号(奇数下标取负),写反就会得到假的 c4 = −9;④ 每一处模多项式都要先验不可约(否则会得到一个「假域」,计数全错)。
★★★ 代数几何的核心动作是「把一个形状换成它的代数纪录」。这个动作在文化史上并不孤例——西方绘画的透视法做过一次几乎同构的选择。
透视法做了什么。文艺复兴的画师不再画「物体本身有多长」,而画「它在某个视点、某个画面上的投影」。这一转换带来三样东西:① 一个统一的坐标系(灭点与地平线);② 可计算性(投影几何的完整定理体系,Desargues、Pascal 定理都在这里);③ 代价——真实的形状被压缩、远处的物体变小、圆变成椭圆。画师接受这个代价,因为它换来的是「能画得像」。
概形做了什么。代数几何在 20 世纪做了同构的一次转换:不再研究「形状本身的点」,而研究「它在哪个环上被记录下来」。这一步带来:① 一个统一的坐标系——Spec R,任何交换环都能当地基(ℤ、𝔽q、k[x] 一视同仁);② 可计算性——同调代数、层论、交换代数三套机器全部可用;③ 代价——几何直观让位于代数运算,泛点与层级点初学时令人困惑。
两种「忘形」的差别。画师的转换是感知上的:它服务的目标是「看起来对」;代数几何的转换是结构上的:它服务的目标是「推理得动」。因此前者一旦视点固定就确定,后者可以随时换基座(换一个环),反而更灵活——这正是概型比簇强大的根源,也是它与透视法的关键不同。
为什么值得并列来看?因为它们回答同一个问题:面对一个太复杂的对象,是保留它的样子,还是保留它的纪录?画师选了纪录(投影),换来了数百年的写实能力与投影几何;代数几何选了纪录(环与层),换来了 Nullstellensatz、Riemann–Roch 与 Weil 猜想。「用记录替换对象」是理智的一次标准操作,而它每次都会带来新的代价与新的能力。
中国传统的对照。值得补一句:中国画的「散点透视」(郭熙的三远法)恰恰拒绝单一视点,宁可牺牲统一的坐标以保留移动的目光。这是另一条路:不换成「一个可算的纪录」,而换成「多重视点的并置」。它不产投影几何,但它产出的是另一种对「看见」的理解——两种传统在这里分岔,而分岔的原因不是技术高低,而是「想用这次转换换取什么」。
一、上同调四套与比较。Betti Hi(X(ℂ), ℚ)(拓扑,系数 ℚ)|de Rham HidR(X/k) = ℝiΓ(Ω∙)(系数基域)|晶体 Hicrys(X/W(k))(系数 Witt 环)|étale Hiét(X, ℚℓ)(ℓ ≠ p)。比较定理:Betti 数一致。
二、导出函子与谱序列。R0F = F,RiF = 0(i ≥ 1)⟺ F 正合。短正合列 0 → F → G → H → 0 给出长正合列与连接同态 δ。谱序列:E2p,q = Hp(Y, Rqf∗F) ⇒ Hp+q(X, F)(Leray、Hodge–de Rham 是特例)。
三、相交理论。交数 (C · D) = ∫S [C] ∪ [D];重数 = 局部环上 Tor 的欧拉特征(Serre 局部相交公式)。ℙ1 × ℙ1 上双次数交数 ad + bc;平面 Bézout deg C · deg D。
四、Weil 猜想与 ζ 函数。Z(X, t) = ∏ Pi(t)(−1)i+1,Pi = det(1 − Ft | Hi)。三条对应:① 有理性 ← Lefschetz 迹公式;② 函数方程 ← Poincaré 对偶(t ↦ 1/(qnt));③ Riemann 假设 ← 权分解(|α| = qw/2)。曲线情形:Z = P(t)/((1−t)(1−qt)),deg P = 2g,P 的最高项 = qg。
五、模空间与形变。切空间 T[X]𝓜 ≅ H1(X, TX),障碍在 H2(X, TX);dim 𝓜g = 3g − 3(g ≥ 2);𝓜1,1 ≅ 𝔸1(j 线)。
六、空间层级与判据。簇(基域代数闭)⊂ 概型(任意交换环,点是素理想)⊂ 栈(点带自同构群)。导数几何的口号:「相等」换成「同伦」;导出的收获:纤维积不再跳维、相交不再需要移动引理(Tor 内建重数)、导出函子直接定义。
七、仍在施工(考试与阅读时记得标注)。Hodge 猜想(一般情形未解)|motive 标准猜想(四条大多未证)|𝔽1(多套候选,未统一)|几何 Langlands(部分情形已证)。已封顶:Weil 猜想(Deligne 1974)|曲线 Riemann–Roch 与 Serre 对偶|四套上同调的比较定理(特征 0 完整)。
八、五个最常复用的等式。① N1 = q + 1 − a;② a2 = (a12 − s2)/2(亏格 1);③ sm + Σ cjsm−j = 0(牛顿恒等式);④ c2g = qg、c2g−i = qg−ici(函数方程);⑤ dim H1(X, TX) = 3g − 3(形变维数)。
★★★★★ 最后一页。把全册压成一张图,然后说说往哪走。
全册的一张图。绪论给出两条路(图形与方程);第一章把零点集翻成理想,Nullstellensatz 宣布翻译可逆;第二章把结构(局部环、维数、切空间)装进语言;第三章把无穷远请进来(射影、Bézout)并把「局部—整体」形式化(层);第四章把基座换成任意环(概型),算术与几何合流;第五章在曲线上收获硬回报(Riemann–Roch、椭圆曲线群律、ζ 函数与 Weil 猜想);第六章画出边界线:上同调的现代语言、参数空间与栈、以及三道地平线。一句话:元素 → 理想 → 环 → 层 → 概型 → 曲线与算术 → 范畴与同伦。
现在应该能回答的四个问题。① 为什么需要概型?因为要换基座(Spec ℤ、Spec 𝔽q),要让「泛点」有几何含义,要让纤维与商有定义。② 为什么需要上同调?因为要数「局部凑不成整体」的障碍,而它恰好把 Bézout、Riemann–Roch、Weil 猜想都归到同一台机器下。③ 为什么 ζ 函数的根那么重要?因为它们是 Frobenius 的特征值,2g 个数锁死全部计数序列,而 Weil 说的是这些数住在哪一条圆上。④ 现代几何在哪儿还在施工?Hodge 猜想、motive 标准猜想、𝔽1 与 Arakelov 的统一、几何 Langlands 的一般情形。
四个方向的下一站。① 算术几何:从本册的 Weil 猜想与 Mordell–Weil 出发,读 Faltings 定理、Wiles 的模性定理与 BSD 猜想;主教材可用 Silverman 的《Advanced Topics》或 Hindry–Silverman。② 上同调理论:从 étale 走向 motive 与 p 进 Hodge 理论,读 Milne 的《Lectures on Étale Cohomology》、Katz–Messing、以及 Chatzistamatiou–Rülling 的导出 de Rham 理论。③ 模空间与栈:读 Harris–Morrison 的《Moduli of Curves》、Laumon–Moret-Bailly 或 Olsson 的《Algebraic Spaces and Stacks》;再往上是 GW 不变量与几何 Langlands(Gaitsgory 的讲义)。④ 基础与交叉:Hartshorne 的《Residues and Duality》与 Lurie 的《Higher Algebra》是导出代数几何的两块基石;𝔽1 可从 Connes–Consani 的综述入手。
方法论的临别赠言(本册真正想留下的东西)。第一,遇到「算不动」就问「换个语言」:元素换成映射、映射换成环、环换成层、层换成范畴——五章一路都在做这件事。第二,遇到新术语必问三个问题:它属于哪个家族(算、造家、跨界)?它修的是哪一个「不够用」(基座?商?相等?)?它与谁对接?第三,不要把「抽象」当目标:本册每一个抽象工具背后都站着一条古典语言办不到的具体困难——能找到那条困难,就算真懂了。
从笛卡尔写下第一对坐标轴,到 Grothendieck 把空间换成环、把相等换成本身就带结构的映射,代数几何用了三百多年完成了「把形状翻译成结构」的长征。这一册走完了主干。剩下的路没有标准路线图——这正是它值得继续走下去的原因。
六章走完,回头一望:第一章把「零点集」立成代数集,让方程与图形第一次互相翻译(I(V(J)) = √J);第二章给簇装上结构——局部环、维数、切空间、态射,让「形状」有了可以计算的骨架;第三章把无穷远点请进画面,又给每个开集挂上函数(层),使「局部数据能否拼成整体」变成一个可运算的问题;第四章换掉地基,把空间定义为交换环的素谱,于是 ℤ 上的方程、有限域上的计数与复数域上的曲线并入同一个范畴。
综合站不再引入任何新定理。这里的任务是把六章收拢:一张年表与一份人物谱(p186),两则格物札记(p187–p188),两张地图——概念依赖总图与方法决策树(p189–p190),两个综合实验(p191–p192),四道挑战与二十四题自查(p193–p195),然后是全书总账与余韵(p196–p197),终极速查表收兵(p198)。
一条主线贯穿全书:几何与代数的互相翻译,越译越深。明线是对象——多项式、代数集、坐标环、局部环、层、概型、上同调;暗线是同一件事的两副面孔——点与理想、空间与环、映射与环同态、局部数据与层。下图把两条线画在一起。
用法。二十四题自查(p194)建议先合卷作答,再翻评讲页(p195)逐条对拍;两张地图(p189–p190)既是复习工具,也是今后查阅本书时的检索入口。
代数几何的两百年,由一条清晰的线写成:笛卡尔把方程与曲线焊在同一张纸上,黎曼第一次把曲线当作有独立生命的几何对象,Hilbert 用基定理与零点定理把「方程—零点」的词典写严谨,Noether 与 Zariski 把它重铸为交换代数与拓扑的语言,Weil 与 Serre 来层论与上同调,Grothendieck 用概型把几何与算术并成一套地基,Deligne 用它关闭了 Weil 猜想。
| 人物 | 关键贡献 | 本册出处 |
|---|---|---|
| Descartes(1637) | 解析几何:方程与曲线互相表示 | p11 |
| Riemann(1851) | 黎曼面与亏格的拓扑直觉 | p103 |
| Hilbert(1893) | 基定理与零点定理,夯实「方程—零点」词典 | p17、p24 |
| Noether(1921) | 抽象代数与交换代数:把结构提到前台 | p21、p44 |
| Zariski(1929) | Zariski 拓扑与局部化视角 | p15、p41 |
| Weil(1946) | 《代数几何基础》:把抽象方法引入基础 | p95 |
| Serre(1955) | 凝聚层与 FAC:上同调进入代数几何 | p74、p77 |
| Grothendieck(1958) | 概型、纤维积与相对观点(EGA) | p97–p101 |
| Deligne(1974) | 证明 Weil 猜想:有限域的「Riemann 假设」 | p128 |
读法。年表不只是致敬名单:每一格都是一次「翻译升级」。Descartes 让方程与曲线等价,Hilbert 让对应变严格,Noether 让对应脱离坐标,Grothendieck 让对应进入任意环——本册讲的每一件工具,都是这条翻译链上的一环。
本册最根本的动作,是把几何问题翻译成代数问题:图形变成方程组,交点变成理想的和,维数变成素理想链的长度。这场翻译收获巨大,也付出了代价。札记一先把这笔账算清。
先看「得」。其一,严格。图形画在纸上总有含糊处——两条曲线是否真的相交、交点算几个——方程却不会含糊:交点个数由次数之积决定(Bézout),重数由根的重数决定。其二,可算。求一个代数集的维数、判一个点是光滑还是奇异、数一条曲线上有多少独立函数,全都变成多项式或矩阵的有限计算。其三,可推广。一旦地基换成任意交换环,「曲线」这个概念就能同时装下 ℝ 上的实图形、ℤ 上的丢番图方程与有限域上的解集——同一套定理在三种世界里同时成立,靠的就是翻译的彻底性。
再看「失」。代价藏在直觉里。当「点」变成素理想,图就画不出来了:Spec ℤ 是一条「曲线」,可它的点既不像实点也不像复点,泛点甚至不是闭的;「越小的理想,点越胖」这类话虽正确,却依赖新的想象方式。当「空间」不再要求点够多(ℝ 上 x2 + 1 没有实零点,却对应一个闭点),原本靠画图建立的直觉就失灵了。幂零元的引入更甚——同一个零点集对应两个不同的环((x) 与 (x2)),这个差别在图上根本看不见,只能在代数里读。
得失之间的判断标准,本册给出了三条。第一,看问题是否需要合作:如果一个几何问题要与数论共用定理(如椭圆曲线上的有理点),那么翻译的代价必须付,因为不翻译就无从对话。第二,看直觉是否可替代:Zariski 拓扑失去了 Hausdorff 性,却换来了「闭集 ↔ 理想」这个更精确的对应——直觉让位给可计算的判据,是赚的。第三,看是否留下退路:抽象概型在代数闭域上的既约有限型情形,恰好还原成经典簇;翻译没有抛弃原来的世界,而是把它包了进去。
一句话。几何代数化的得失,本质上是「直觉的丰富」与「推理的可靠」之间的一次交换。本册选择站在可靠一侧,因为它换来的不只是严格,还有与整个算术世界共用的语言——后者的价值,远超画不出图的不便。
本册的两位主角来自两个世界。方程是离散的:系数是整数或域元素,次数是整数,解是有限或可数的零点集合。空间是连续的:曲线有连续的局部结构,复曲线是真正的二维曲面,上同调群是向量空间。代数几何的全部张力,就在这场离散与连续的对话里。
第一次相遇发生在计数上。第三章的 Bézout 说:两条次数 m, n 的射影曲线恰交 mn 个点。左边全是离散数据(次数),右边是一个离散的计数——可这个计数只有在复数域、射影意义下才「恰好」成立。换到实数域,交点可能少几个;换到有限域,交点数会随域而变。离散的计数要稳定,必须借助连续的几何背景(射影闭包、仿射锥)。
第二次相遇发生在局部与整体的落差上。一点附近的信息是「局部」的:茎 𝒪X,p 是局部环,维数是整数,光滑性由 Jacobi 矩阵的秩判定——全是离散可数的数据。而把这些局部信息拼成整体,却要用上连续的机器:上同调 H1 的维数可能是任意非负整数,它度量着「拼不成的障碍」有多少。离散的局部账本,汇总成连续的整体不变量。
第三次相遇发生在算术与几何的交界处。第五章把基域换成有限域 𝔽q,于是「有多少解」是一个纯粹的有限计数;而 Weil 猜想说,这个计数序列背后藏着与复几何同样形状的规律——有理性、函数方程、Riemann 假设。为了让这些规律成立,Grothendieck 造了 étale 上同调:一套「像拓扑一样工作」的不变量,硬是把「数点」翻译成了「线性代数的迹」。离散的计数,再一次被连续形式的理论所统辖。
余味。离散与连续并非对立,而是同一结构的两面。曲线上的有理点群是离散的,可它的秩由 L 函数的零点阶决定(Birch–Swinnerton-Dyer 猜想);整数环是离散的,可它的 ζ 函数是连续的。代数几何这一百年反复给出的经验是:凡把离散的对象打包成连续的函数,规律就浮现出来——这正是本册六章从头到尾在演练的动作。
全书十几个核心概念,依赖关系如下:横向前行是「对象升级」,纵向下行是「同一对象的层层深入」。箭头方向即阅读依赖方向——若某节点感到陌生,顺箭头回溯即可定位需要复习的页码。
两条虚线的含义。「坐标环与 Zariski → Spec R 与概型」是本册最关键的一次跳跃:把「函数的环」直接升格为「空间」;「Bézout 定理 → RR 与 étale」是计数思想的长途旅程:从数交点出发,终点是数上同调维数与有限域上的点数。缺了任何一条,第四章的概型与上同调都无从谈起。
第二张地图是操作手册:拿到一个方程组或一个几何对象,按此树走一遍,就能得到它的维数、光滑性与关键不变量。左列是主流程,右侧是单个点的判据与计数旁路。
实例对照。按此树走一遍 p53 的结点:方程 y2 = x3 + x2,理想 (y2 − x3 − x2) 为素,维数 1;在原点的 Jacobi 矩阵秩降到 0,判为奇异。再按 p142 的除子计数:ℙ1 上 deg D = 1 给 h0 = 1(只有常数),与 RR 公式吻合。树走熟之后,p193 的挑战 (a) 就是独立走一遍全流程。
本实验把第一、二章的两件工具放进同一段程序:用 Gröbner 基做消元得到维数线索,再把这个结果与「模 p 数点」的结果对拍。零维理想在有限域上只有有限个点,而正维理想上的点数随 p 增长——这正是维数的可观测痕迹。
# 实验 5-A:代数集的维数 vs 模 p 点数
from sympy import symbols, groebner
from itertools import product
x, y, z = symbols("x y z")
# 例 1(零维):x2 - 1 = 0, y - x = 0 —— 两个孤立点
G1 = groebner([x**2 - 1, y - x], x, y, order="lex")
print("例1 Groebner:", [str(g) for g in G1.exprs])
# 例 2(一维):x*y - 1 = 0 —— 一条双曲线,z 自由
G2 = groebner([x*y - 1], x, y, z, order="lex")
print("例2 Groebner:", [str(g) for g in G2.exprs]) # z 不出现在任何基元中 -> 自由
def count_mod_p(gens, vars_, p):
pts = 0
for vals in product(range(p), repeat=len(vars_)):
sub = dict(zip(vars_, vals))
if all(int(g.subs(sub)) % p == 0 for g in gens):
pts += 1
return pts
for p in [5, 7, 11]:
n1 = count_mod_p([x**2 - 1, y - x], [x, y], p)
n2 = count_mod_p([x*y - 1], [x, y], p)
print(f"p={p:2d}: 例1 点数={n1}(恒为 2) 例2 点数={n2}(随 p 增长)")
实跑输出(逐字,配套脚本 qa/exp_zh191.txt)。
例1 Groebner: ['x - y', 'y**2 - 1'] 例2 Groebner: ['x*y - 1'] p= 5: 例1 点数=2(恒为 2) 例2 点数=4(随 p 增长) p= 7: 例1 点数=2(恒为 2) 例2 点数=6(随 p 增长) p=11: 例1 点数=2(恒为 2) 例2 点数=10(随 p 增长)
读账。例 1 的 Gröbner 基只含 x, y 两个变量,模 p 点数恒为 2——这是零维理想的标志;例 2 的基元中不出现 z,说明 z 是自由变量,维数为 1,而点数从 4(p = 5)增到 10(p = 11)——点数随域的大小线性增长,正是「一维」的指纹。维数这个抽象概念,在有限域上留下了一个可以直接数出来的痕迹。
两点观察。其一,Groebner 基把「维数」翻译成了「哪些变量没有被消掉」——又一个几何概念落成代数计算。其二,零维与正维的差别,在有限域上表现为「点数是否随 p 增长」:离散的计数再一次泄露了连续的结构信息(对照 p188 的札记二)。把这一点推到极致,就是第五章的 Weil 猜想:点数的增长规律里,藏着曲线与曲面的全部拓扑。
本实验不用任何高深理论——只做两件可核对的算术:其一,直接数椭圆曲线在有限域上的点,验证 Frobenius 迹的界;其二,把 Riemann–Roch 的两端逐次算出来对拍。这是第四章与第五章最核心两条定理的直接检验。
# 实验 5-B:曲线点数与 Riemann-Roch 对拍
def count_points(a, b, p):
sq = {(y * y) % p for y in range(p)} # 全部平方剩余(含 0)
cnt = 1 # 无穷远点
for x in range(p):
r = (x**3 + a * x + b) % p
if r == 0:
cnt += 1 # y = 0
elif r in sq:
cnt += 2 # y = +-sqrt(r)
return cnt
a, b = -1, 0 # 椭圆曲线 E 的系数
print("椭圆曲线 E 的点数与 Frobenius 迹 a_p = p + 1 - #E")
for p in [5, 7, 11, 13, 17, 19, 23, 29]:
N = count_points(a, b, p)
ap = p + 1 - N
ok = not (abs(ap) > 2 * (p ** 0.5)) # Hasse 界:|a_p| 不超 2 sqrt(p)
print(f"p={p:2d}: #E={N:3d}, a_p={ap:3d}, Hasse成立={ok}")
print("Riemann-Roch:g = 1 时 chi(L) = deg L + 1 - g = deg L")
g = 1
for deg in [-1, 0, 1, 2, 3]:
print(f"deg={deg:2d}: chi={deg + 1 - g:2d}")
实跑输出(逐字,配套脚本 qa/exp_zh192.txt)。
椭圆曲线 E 的点数与 Frobenius 迹 a_p = p + 1 - #E p= 5: #E= 8, a_p= -2, Hasse成立=True p= 7: #E= 8, a_p= 0, Hasse成立=True p=11: #E= 12, a_p= 0, Hasse成立=True p=13: #E= 8, a_p= 6, Hasse成立=True p=17: #E= 16, a_p= 2, Hasse成立=True p=19: #E= 20, a_p= 0, Hasse成立=True p=23: #E= 24, a_p= 0, Hasse成立=True p=29: #E= 40, a_p=-10, Hasse成立=True Riemann-Roch:g = 1 时 chi(L) = deg L + 1 - g = deg L deg=-1: chi=-1 deg= 0: chi= 0 deg= 1: chi= 1 deg= 2: chi= 2 deg= 3: chi= 3
读账。p = 5 时 #E = 8、ap = −2;p = 7 时 #E = 8、ap = 0;其后每行的 Hasse 判据都打印 True。第二段对每个次数都打印 χ(ℒ) = deg ℒ,与 g = 1 时的 Riemann–Roch 逐项吻合。
读数。第一段验证的是计数:椭圆曲线在 𝔽p 上的点数与 p + 1 的偏差,被 2√p 牢牢夹住——这正是 Weil 猜想「Riemann 假设」在曲线上的第一个实例,也是整门算术几何的起点。第二段验证的是计数与几何的缝合:左边是上同调维数之差,右边是次数与亏格,两者逐项相等。离散的点数与连续的上同调维数,在 Riemann–Roch 里握手——把这句放进 p188 札记二,两条线就接上了。
四道题分别横跨两章以上;(d) 是攀登题,目标是把「簇」与「概型」两种语言在同一件对象上对齐。
反思。完成四问后可见:本册六章不是六个独立工具箱,而是同一台机器的六个档位。(a) 用第一、二章,(b) 用第三章,(c) 用第四、五章的定理而对象来自第二章,(d) 要求全册六章同时在场。能自由切换档位,就是学完本书的真正标志。
每题一句话作答,不翻正文。评讲在下一页。
第一章(1–6)
1. 代数集与理想之间有哪两条往返映射?复合一次各得到什么?
2. 弱 Nullstellensatz 的陈述?为什么必须要求域代数闭?
3. Hilbert 基定理如何推出「每个代数集由有限个方程刻画」?
4. 仿射直线 𝔸1 的 Zariski 开集是什么样子?
5. 坐标环 k[X] 的定义?它与 X 上的多项式函数是什么关系?
6. 不可约代数集对应什么理想?
第二章(7–12)
7. 簇在点 p 处的局部环 𝒪X,p 是什么?它的极大理想是什么?
8. 维数的两种等价刻画(写出其中两种)?
9. Zariski 切空间如何由理想的生成元定义?
10. 光滑点与奇异点的判据?
11. 双有理等价的定义?
12. 态射 φ : X → Y 把坐标环往哪个方向拉回?
第三章(13–18)
13. 射影空间 ℙn 的定义?齐次坐标的等价关系?
14. 为什么射影簇要用齐次理想?射影 Nullstellensatz 的形式?
15. Bézout 定理的三个前提是什么?
16. 层与预层的差别在哪两条公理上?
17. 结构层 𝒪X 的开集截面与茎分别是什么?
18. H0 与 H1 各自的几何含义?
第四、五章(19–24)
19. 素谱 Spec R 的点是什么?为什么用素理想而非极大理想?
20. 概型的定义(三句话概括)?
21. 仿射纤维积与张量积的对应公式?
22. 分离与紧合分别对应哪个拓扑概念?射影态射是否紧合?
23. Riemann–Roch 的陈述?亏格的代数定义?
24. étale 上同调要解决什么问题?Weil 猜想有哪四条?
| 题 | 要点 | 题 | 要点 |
|---|---|---|---|
| 1 | V(J) 与 I(S);I(V(J)) = √J,V(I(S)) = S̄ | 13 | 𝔸n+1 ∖ {0} 的过原点直线全体;坐标按非零倍数等同 |
| 2 | V(J) = ∅ ⟹ J = (1);代数闭保证点足够、词典不落空 | 14 | 齐次性使方程在缩放后不变量化;I(V(J)) = √J |
| 3 | 理想有限生成,取这组生成元即为刻画方程 | 15 | 复数域、射影、计重数;缺一则计数失准 |
| 4 | 补集是有限点集;开集 = 去掉有限个点 | 16 | 局部一致性 + 粘合性;预层只要求限制映射 |
| 5 | k[X] = k[x1, …, xn]/I(X);即 X 上的多项式函数环 | 17 | 截面 = 开集上的正则函数;茎 = 局部环 𝒪X,p |
| 6 | I(X) 为素理想(Noether 环中) | 18 | H0 = 整体截面;H1 = 拼不成的障碍 |
| 7 | 在 p 处正则的芽;极大理想 = 在 p 处取零的芽 | 19 | 全体素理想;极大理想会漏掉泛点与整环信息 |
| 8 | Krull 链长 = 超越次数 = 切空间维数的最大值 | 20 | 局部环化空间,局部同构于 Spec R,能粘合 |
| 9 | 切空间 = (Jp/Jp2)*,等价于 Jacobi 矩阵的行空间 | 21 | Spec A ×Spec B Spec C ≅ Spec(A ⊗B C) |
| 10 | 光滑 ⟺ dim Tp = dim X;小于则奇异 | 22 | 分离 ↔ Hausdorff,紧合 ↔ 紧;射影 ⟹ 紧合 |
| 11 | 函数域同构,即同构于某个稠密开子集 | 23 | h0 − h1 = deg ℒ + 1 − g;g = h1(𝒪X) |
| 12 | 反向:φ# : k[Y] → k[X] | 24 | 给有限域造「拓扑」以数点;有理性·函数方程·Riemann 假设·上同调解释 |
判分建议。22 题以上:可以放心进入下一阶段的学习;18–21 题:回对应章的速查页(p38、p63、p88、p123、p153、p183)各过一遍;18 题以下:第一、二章的例题页值得重做——后面所有内容都站在它们肩上。
本册同时讲了三条线:明线是对象链——多项式到代数集到坐标环到层到概型;暗线是几何与代数的互相翻译(越译越深);接口线是每章留给后续数学的通道。下表把三条线逐章对账:
| 章 | 核心对象 | 主要收获 | 留下的接口 |
|---|---|---|---|
| 第一章 | 代数集 · 坐标环 | 理想–簇对应;Nullstellensatz;Zariski 拓扑 | 交换代数:基定理与根理想 |
| 第二章 | 局部环 · 维数 · 切空间 | 维数列画;光滑与奇异判据;双有理等价 | 局部化:把问题搬到一点附近 |
| 第三章 | ℙn · 层 · 上同调 | Bézout 计数;局部数据拼整体的账本 | 上同调:从次数走向维数 |
| 第四、五章 | Spec R · 纤维积 · RR | 概型统一几何与算术;Riemann–Roch;étale 上同调 | 算术几何:椭圆曲线与 BSD |
暗线在六章中各走一段:第一章把「点」翻译成「理想」,第二章把「形状」翻译成「环与模」,第三章把「函数住在哪里」翻译成「层」,第四章干脆把「空间」本身翻译成「环」——翻译的对象越来越根本,能装进来的世界也就越来越大。一条暗线贯穿六章,这正是本册作为一个整体而非六份讲义的理由。
接口线上最值得预先点名的是算术几何:概型语言一旦装上,Spec ℤ 上的曲线、有限域上的计数、椭圆曲线的有理点群就都成了同一门学科里的对象。本册第四、五章已经推开了这扇门(p127–p130),而门后的世界——模形式、动机、Langlands 纲领——正沿着同一条「几何 ↔ 代数」的翻译线继续延伸。
一句提醒。本册反复出现同一个动作:当一个概念在旧语言里说不清时,就在它上方搭一个更宽的结构。亏格从「洞的个数」升格为上同调维数,点从「坐标组」升格为素理想,空间从「点集」升格为环的谱——三次升格,三次都让原来晦涩的东西变得可算、可推广。
一门学科的地平线由两部分画出:已经划定的疆界,与仍然敞开的大门。本册涉及的疆界,多数已在一个世纪的尺度上定型:
| 问题 | 状态 | 钥匙 |
|---|---|---|
| 两条射影曲线交几个点? | 已解决(Bézout) | 射影化 + 计重数;本册 p72 |
| 亏格能否纯代数地定义? | 已解决(Riemann–Roch) | g = h1(𝒪X);本册 p103 |
| 有限域上的点数有何规律? | 已解决(Deligne,1974) | étale 上同调;本册 p128 |
| 高维 Riemann–Roch? | 已解决(Hirzebruch;Grothendieck 相对化) | K 理论与相对观点;本册 p103 |
| 奇点能否被消解? | 特征 0 已解决(Hironaka,1964);正特征仍敞开 | 双有理变换;本册 p60 |
| 模空间能否是概型? | 需升级为叠(stack) | 群胚纤维范畴;本册 p130 |
| 椭圆曲线的秩? | 敞开:Birch–Swinnerton-Dyer 猜想 | L 函数零点阶;本册 p127 |
| Hodge 猜想? | 敞开 | 代数闭链与 Hodge 类;本册 p129 |
敞开的几扇门里,与本册关系最近的是椭圆曲线一族。曲线 E : y2 = x3 + x 的判别式、其上的有理点群、以及计数函数 L(s, E),三个概念分别来自本册的三章——判别式来自第一章的多项式判据,点群的运算习惯来自第二章的丛与态射,L 函数来自第四章的上同调。几何与算术在椭圆曲线处共享全部基础设施,这不是巧合:两者本是同一门学科(算术几何)的两种视角。
一望。奇点消解在特征 0 关上用了一甲子,在正特征上仍敞开;Hodge 猜想自 1950 年提出至今未决;椭圆曲线 的秩问题吸引了整个世纪最聪明的头脑。数学的地平线不以「是否已解决」论英雄——本册给出的每一件工具,都是为了让人站在已知与未知的交界线上时,看得更远一点。
| 名称 | 公式 / 内容 | 出处 |
|---|---|---|
| 仿射空间 | 𝔸n = kn,坐标环 k[x1, …, xn] | p11 |
| 代数集 | V(J) = 方程组 J 的公共零点 | p12 |
| 理想–簇对应 | I(V(J)) = √J;V(I(S)) = S̄ | p24–p25 |
| Zariski 拓扑 | 闭集 = 代数集;开集 = 去掉闭集 | p15 |
| Hilbert 基定理 | Noether 环上理想有限生成 ⟹ 代数集由有限方程定 | p17–p18 |
| 不可约与素 | 不可约代数集 ⟺ I(X) 素;任意代数集唯一分解为簇 | p19–p20 |
| 坐标环 | k[X] = k[x]/I(X);点 ↔ 极大理想 | p21–p22 |
| 局部环 | 𝒪X,p = 在 p 处正则的芽 | p41 |
| 维数 | Krull 链长 = 超越次数 = 商环参数个数 | p43–p44 |
| 切空间与奇点 | Tp ≅ (Jp/Jp2)*;dim Tp = dim X ⟺ 光滑 | p45–p47 |
| 态射 | φ : X → Y,拉回 φ# : k[Y] → k[X] | p48 |
| 射影空间 | ℙn = 𝔸n+1 ∖ {0} 的过原点直线全体 | p67 |
| 射影 Nullstellensatz | I(V(J)) = √J(J 齐次) | p71 |
| Bézout | 无公共分支时交点数 = mn(复数域、射影、计重数) | p72 |
| 层与茎 | 结构层 𝒪X;茎 𝒪X,p = 局部环 | p74–p75 |
| 上同调 | H0 整体截面;H1 拼合障碍 | p77 |
| 素谱与概型 | Spec R = 素理想之集;概型 = 局部仿射的局部环化空间 | p97–p98 |
| Zariski 开基 | D(f) = {𝔭 : f ∉ 𝔭},𝒪(D(f)) = R[1/f] | p97 |
| 纤维积 | Spec A ×Spec B Spec C ≅ Spec(A ⊗B C) | p101 |
| 分离与紧合 | 对角闭浸入 / 万有闭;射影 ⟹ 紧合 | p102 |
| Riemann–Roch | h0 − h1 = deg ℒ + 1 − g;g = h1(𝒪X) | p103 |
| Jacobi 簇 | Pic0(X) 是 g 维阿贝尔簇 | p126 |
| 椭圆曲线 | y2 = x3 + ax + b,Δ ≠ 0;E(K) ≅ ℤr ⊕ 挠 | p127 |
| Weil 猜想 | 有理性·函数方程·Riemann 假设·上同调解释(Deligne 1974) | p128 |
| étale 上同调 | ℓ-进系数,满足同调公理,用于有限域点计数 | p128 |
三句口诀。一、几何代数化:点 ↔ 理想,空间 ↔ 环,映射 ↔ 环同态——一切从这组翻译出发。二、局部与整体:局部环看一点,上同调管拼合;H0 收集,H1 记账。三、越抽象越统一:把域换成环、把点换成素理想,几何与算术就并成了一门学问——六章的每一步,都在往这个方向走。