5.2 平面曲线奇点分类


5.2 平面曲线奇点分类

某天你把积攒了一路的曲线标本摊在桌上:十字、尖刺、自交的结、实图上孤零零的一点。5.1 节的判据能告诉你"哪个点病了",本节要回答的是"病成什么型"。分类的钥匙仍是切空间:奇点处的切线形态——两支不同的、一支重合的、还是只有复数域里才有的——几乎决定了奇点的户口。全节用四个具体方程建档,每个都能手算。

平面曲线奇点分类(入门版):设 P 是不可约曲线 C 的奇点,重数为 r(切空间由 r 次齐次项给出)。r=2 时看二次齐次部分的因式分解——两支不同实切线是结点(node),一支重切线是尖点(cusp),切线只在复数域存在则实图呈孤立点(acnode)。

一、四份标本,逐一上镜

**标本一:结点 y² = x³ + x²。**整理为 y² = x²(x+1)。原点处最低次项是二次:y² − x²,分解为 (y−x)(y+x)。两支切线 y=x 与 y=−x,斜率一正一负。图像上曲线的两支在原点优雅交叉,各自带着自己的切线扬长而去——这就是结点,"自交"的标准形态。原点重数 2;在贝祖账本里它与切线相交的重数可达 2,与 4.2 节的口径完全咬合。

**标本二:尖点 y² = x³。**最低次部分 y²,切线只有一支 y=0,且是二重的。图像上曲线爬到原点、急转身折返——一支切线被来回走了两遍。3.3 节的参数化 t↦(t²,t³) 在 t=0 处导数归零,压缩的伤情在切空间里显形为一支"二重切线"。尖点的重数同样为 2,但切线数与结点不同——**重数相同、切线形态不同,这是分类的第一条分界线**。

**标本三:孤立点 y² = x³ − x²。**整理为 y² = x²(x−1)。原点附近 x−1 取负值,y² 取不到正实数,实图上原点附近只有原点自己——孤岛一点。切线呢?二次齐次部分 y² + x²,在实数域无因式,复数域里分解为 (y−ix)(y+ix)。复切线两支、实切线零支,实图看到的"孤点"其实是两支复分支在原点挽了个结。同一方程复图上看:原点照样是自交的结点。

标本四:十字 xy = 0。两条坐标轴拼成的可约曲线,原点交叉,切线两支,形态与标本一的结点一模一样。代数身份却差一档:xy=0 的"结"来自两个零件的拼装(可约),y²=x³+x² 的结来自一支曲线自己的折叠(不可约)。判定工具是第 1 章的字典:xy 的理想 ⟨xy⟩ 分解为 ⟨x⟩∩⟨y⟩,两个素理想的交;y²−x²−x³ 对应的理想不可再分。图像会骗人,分解不会。

图:奇点分类四联图

图:奇点分类四联图

二、分类背后的一致原理:看最低次项

四个档案合起来,操作规程其实只有一条:在奇点处把方程按次数分层,最低次非零层决定奇点的"初诊",更高次项决定"确诊细节"。初诊用最低次齐次部分:因式分解出几支切线、各是实是复,就落进结点、尖点、孤立点哪个抽屉。确诊看更高层:同样是结点,y²=x³+x² 与 y²=x²(1+x³) 在原点同型,但更高阶的修正项决定奇点的"精细不变量"(delta 不变量、分支的相切阶)——这些不变量在第 6 章的普吕克式公式与黎曼-赫尔维茨公式里会正式定价:一个结点折合亏格 1 份,一个尖点同样折合 1 份。

这条"分层阅读"的规程也解释了 5.1 节埋的伏笔:切空间只读一次项,所以它只能判"病没病";分类要读到最低次非零层,重数才现身。一次项、二次项、三次项层层递进——泰勒展开的每一层都在奇点诊断科领到了岗位。

三、动手:自动识别奇点类型

把"求奇点 + 看二次项"写成概念代码,四份标本挨个过堂:

from sympy import symbols, Poly, factorial x, y = symbols('x y') def singular_points(f): """求 f 的仿射奇点:f=0 且梯度为零(概念演示,交给求解器)。""" from sympy import solve return solve([f, f.diff(x), f.diff(y)], [x, y], dict=True) def tangent_cone(f, px, py, order=2): """提取在 (px, py) 处 order 次的最低次齐次部分(泰勒层)。""" g = f.subs({x: x + px, y: y + py}).expand() terms = Poly(g, x, y).terms() picked = [mono for mono, c in terms if sum(mono) == order and c != 0] return sum(c * x**mono[0] * y**mono[1] for mono, c in picked if c != 0) f_node = y**2 - x**3 - x**2 # 结点 f_cusp = y**2 - x**3 # 尖点 f_acnode= y**2 - x**3 + x**2 # 孤立点 print(tangent_cone(f_node, 0, 0)) # -x**2 + y**2 = (y-x)(y+x):两支实切线 print(tangent_cone(f_cusp, 0, 0)) # y**2:一支二重切线 print(tangent_cone(f_acnode, 0, 0)) # x**2 + y**2:实切线零支,复切线两支

读法一目了然:tangent_cone 提取的正是"最低非零层",因式分解的支数与虚实直接给标本定案。真实系统里 solve 换成格罗布纳基求零点(7.2 节),提取层的逻辑不变。

四、奇点的解消:预告与立场

奇点可以被"治疗":把曲线换到一张更大的图里(爆破 blowup 操作),尖点被拉开成一条光滑曲线,结点的两支被分开,原曲线上方的"病灶"被一段例外曲线顶替——治疗后的光滑曲线与原曲线双有理等价。这引出代数几何的一个纲领性立场:双有理等价类里,奇点是可以消化的局部事件;真正不可消化的是函数域本身的结构——也就是第 6 章的亏格。也因此,曲线论的工作格式固定为"在光滑模型上做几何,把奇点折算成不变量的账"。本册不再展开爆破的构造,立场记牢即可。

分类表还想再收两个"编外成员",防止你以后撞见时慌张。其一是自切点(tacnode):曲线 y² = x⁴ 在原点,两支曲线贴着同一条切线 y=0 相互靠拢又分开——切线一支、分支两支,与尖点(一支切线一支分支急转身)形态迥异。其二是普通三重点:三次齐次最低层分解出三支不同切线,比如曲线 (x³+y³)·x + 高阶项在原点附近的行为。平面曲线论有一条漂亮的边界公告:不可约平面曲线的奇点可以非常怪,但"结点与尖点"是普遍位置下的全家福——一般的三次曲线至多带一个结点或一个尖点,一般的交点都是横截的。"一般"是个代数概念(坏情形落在维数更小的闭子集里,4.1 节的维数在此验收),本册不展开,边界公告先存档。

五、易错点与本节位置

三个易错点。其一,"重数 2"不等于"结点":尖点同样重数 2,分家靠切线支数,别只看一个指标。其二,实图可信度有限:孤立点是复结点的实象,别把它当成"曲线断了";反过来实图光滑的点也可能是复分支藏身之处——判定一律回代数闭域。其三,奇点不是"坏得一无是处":椭圆曲线密码里的亏格 1 曲线必须光滑(奇点会让群律退化),但一般曲线理论里,奇点恰恰携带最多的组合信息,"避病"与"读病"是两门并列的手艺。

本节在知识体系里的位置:标本全部入柜。第 6 章转向光滑曲线的正面战场——除子给点记账、线丛给函数定价、黎曼-罗赫收总账,最后解剖 y²=x³−x 这条全册最贵重的曲线。奇点留个尾巴:它们的"账面价值"(delta 不变量)会在亏格公式里再露一面。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U