ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

域扩张、代数元与最小多项式:从尺规作图到伽罗瓦理论的骨架

域扩张、代数元与最小多项式:从尺规作图到伽罗瓦理论的骨架 很多人在初学抽象代数时都会卡在“域扩张、代数元与最小多项式”这一节。如果只看教材里的定义很容易觉得这是一堆抽象名词的堆砌甚至产生“学了这玩意儿到底有什么用”的疑问。但我可以负责任地说这三个概念是整个域论最核心的骨架也是通向伽罗瓦理论的必经之路。它不仅串联了从有理数到实数到复数的整个数系扩张逻辑还直接决定了尺规作图里“哪些图形能画出来”这个经典问题的答案。本篇内容就是围绕这三个概念做一次完整的实操式拆解。我会用一个具体的尺规作图问题作为引子逐步展开域扩张的几何直觉、代数元的判定方法、最小多项式的推导与求解技巧以及三者如何在环论与同构理论中汇合成一条主线。适合正在学抽象代数的学生、考研复习党以及想搞懂“域论到底在做什么”的自学者。1. 一个尺规作图问题引出的域扩张1.1 为什么三次根号2画不出来先从一个经典问题说起给你一把无刻度的直尺和一个圆规你能不能画出一条长度恰好是三次根号2的线段答案是不能。这个结论在中学阶段根本无法证明因为它触及到了数系的深层结构。为了理解它我们需要把“尺规作图能得到的所有长度”看成一个集合然后去分析这个集合具备什么样的代数性质。假设我们从一条单位长度线段出发。尺规作图的基本操作只有两个画直线、画圆。而求交点本质上是解一次方程或二次方程。所以每进行一步作图得到的新数无非是通过加减乘除和开平方得到的。也就是说从有理数出发每做一次几何操作数域最多向外扩张两层一次是线性运算加减乘除一次是解二次方程开平方。三次根号2是一个三次方程x³-20的根它无法通过有限次“开平方”这种操作得到。这个结论背后就是域扩张的“次数”在起作用。直观理解就是从有理数域Q出发每开一次平方扩张的次数最多乘以2而想得到三次根号2扩张次数必须出现因子3。2的幂次永远乘不出3来所以这个问题在有限步内无解。1.2 从数系扩充到域扩张这里需要先把“域”这个语言建起来。一个域就是一个能做加减乘除除法要求分母不为零的集合比如有理数集Q、实数集R、复数集C都是域。“域扩张”说的是这样一件事假设F是一个域E是另一个更大的域并且F里面元素的运算结果跟它在E里面的运算结果完全一致。也就是说F是E的子域E是F的扩域。记作E/F读作“E在F上的扩张”。最经典的例子是三元组Q ⊆ R ⊆ C。这里Q是R的子域R是C的子域所以C/Q是一个域扩张C/R也是域扩张。但域扩张研究的重点并不在于R和C这种“庞大”的扩张而在于那些“恰到好处”的扩张。什么叫恰到好处比如下面这个集合Q(√2) {a b√2 | a, b ∈ Q}这个集合里面任意两个元素相加、相乘、相除结果都还在这个集合里面。最需要验证的是除法1/(ab√2) (a-b√2)/(a²-2b²)分母如果有理数非零结果依然形如ab√2。这说明Q(√2)本身就是一个域而且它比Q大比R小。这个扩张的“大小”是2。为什么是2因为Q(√2)作为Q上的向量空间基底是{1, √2}维度恰好是2。这个维度在域论里有专门记号[Q(√2) : Q] 2。从这里开始我们才有足够的语言去回答开头那个尺规作图问题为什么三次根号2画不出来因为如果画得出来就意味着扩张次数[Q(三次根号2) : Q]必须是2的幂但事实上这个扩张次数等于3矛盾。2. 域扩张的次数度量一个扩张的“大小”2.1 扩张次数与基底变换的具体操作域扩张的次数说白了就是把扩域看成基域的向量空间然后数一数这个向量空间的维度。还是用Q(√2)来演示。Q(√2)里任何一个元素都写成a b√2的样子其中a和b是有理数。那么我只需要两个基向量1和√2。于是[Q(√2) : Q] 2。再看一个稍微复杂一点的例子Q(√2, √3)。这个域包含所有从√2和√3出发、通过四则运算能得到的东西。它的基底是{1, √2, √3, √6}所以[Q(√2, √3) : Q] 4。为什么不可能是别的维数因为α a b√2 c√3 d√6这种形式是最一般的表达。用反证法如果还有其它独立的基向量那说明Q(√2, √3)比Q(√2)的“二层扩张”还要大。但事实上Q(√2, √3)既可以看作在Q上先加入√2、再加入√3也可以通过基域复合的方式一次到位。这种“分层”的思想是域论里最常用的计算手段。教科书上把这个写成一个很漂亮的公式——扩张次数具有传递性如果K是F的扩域E是K的扩域那么[E : F] [E : K] · [K : F]。这个公式的价值在于当你面对一个复杂的扩张比如Q(√2, √3)时你不需要直接在高维空间里找基底而是可以拆成两步来算先算[Q(√2, √3) : Q(√2)] 2因为在这个新域里√3满足x²-30且√3不属于Q(√2)再算[Q(√2) : Q] 2。乘起来等于4和直接找基底的结果一致。2.2 Q(√2, √3)的基底与表示我认为有一个练习对理解扩张次数特别有帮助计算(√2 √3)²。这个看似简单的问题在域扩张的语言下变得别有洞天。展开得到(√2 √3)² 2 2√6 3 5 2√6可以发现√2 √3的平方并不在这个域“外面”它还在Q(√2, √3)里面。而且更有趣的是√2 √3的平方根其实还是√2 √3自己。换句话说整个Q(√2, √3)这个4维Q-向量空间可以看成是由Q(√2√3)这一个“生成元”撑起来的。这引出了一个非常重要的结论Q(√2, √3) Q(√2 √3)。也就是说两个元素的扩张有时候可以压缩成一个元素的扩张。这个“一个元素”就叫本原元。本原元定理说特征为零的域上任何有限可分扩张都是单扩张。通俗点说就是只要你是在有理数域这类“正常”的域上做扩张不管中间加了多少个元素进去总能用某一个元素把它们全部表示出来。这个结论对后面理解最小多项式的意义至关重要因为你一旦能把扩张写成一个元素生成的那么整个扩张的结构就浓缩成了“这个元素满足哪个多项式”的问题。3. 代数元的判定与最小多项式的落地计算3.1 什么是代数元说完了扩张现在把视角从“整个域”拉回到“单个元素”。给定域扩张E/F取E中的一个元素α。如果存在一个系数在F里的非零多项式f(x)使得f(α) 0就说α是F上的代数元。比如√2是有理数域上的代数元因为它满足x²-20。虚数单位i也是Q上的代数元因为i²10。但π就不是Q上的代数元因为不存在一个整系数多项式能以π为根——这个结论直到1882年才被林德曼证明而且它直接推出了“化圆为方”不可能。判断一个元素是代数元最笨也最直接的办法就是从低次开始试探。假设α在F上满足一个多项式先看一次多项式a x b的根也就是α -b/a ∈ F。如果不是再看二次多项式……以此类推。这里要注意一个细微的坑我们并不知道α到底满足几次多项式。如果想用“穷举”的方式判断这是不可能的。正确的做法是利用线性相关。3.2 用线性相关判断代数元域扩张E/F里如果[E : F]是有限的那么E里的任何一个元素都自动是F上的代数元。理由很精彩假设[E : F] n那么1, α, α², ..., αⁿ 这n1个向量在n维向量空间里必然线性相关。也就是说存在不全为零的系数c₀, c₁, ..., cₙ使得c₀ c₁α ... cₙαⁿ 0把它们写成多项式f(x) c₀ c₁x ... cₙxⁿf(α) 0且f不是零多项式。这就证明了α是代数元。这个证明里其实藏着一个很实用的结论只要扩张次数有限那么域里的所有元素都是代数元。反过来如果一个元素是代数元那么它生成的扩张次数正好等于它的最小多项式的次数。这就把“元素”和“扩张”两个层面牢牢地绑在一起了。4. 最小多项式为什么总存在且唯一4.1 最小多项式的定义与存在性证明框架前面已经看到代数元α至少满足一个非零多项式。但满足α的多项式可能有很多x²-20是√2的根2(x²-2)0也是√2的根。在这些多项式里次数最低的那个首一多项式就是α在F上的最小多项式记作m_{α,F}(x)。为什么它一定存在这其实不用额外证明。因为只要α是代数元那它满足的多项式集合不是空集。在这个集合里取一个次数最低的多项式再把最高次系数化为1这就是最小多项式。为什么它唯一这是反证法的经典应用。假设f和g都是满足条件的最低次数首一多项式。考虑h f - g。如果f ≠ g那么h是一个非零多项式。代入αh(α) f(α) - g(α) 0所以h也是α的零化多项式。但deg h deg f因为首一多项式的最高次项相减后抵消掉了。这跟f是“次数最低”矛盾。因此f g唯一性得证。4.2 最小多项式一定是不可约多项式这条性质是最小多项式的灵魂。如果m(x)能分解成两个低次多项式的乘积m(x) p(x)q(x)那么m(α) p(α)q(α) 0。因为F是域所以F[x]是整环p(α)和q(α)都是0的情况至少成立一个。不管哪个成立都说明存在一个比m次数更低的多项式以α为根这跟m的最小性矛盾。所以判断一个多项式是不是某个元素的最小多项式只需要验证两点第一它确实以该元素为根第二它不可约。但第二点恰恰是最难验证的因为不可约的判断不是靠肉眼就能看出来的。下面用一个实际例子演示完整的计算过程。4.3 实操求α √2 √3的最小多项式这是一个很经典的习题也是我在实际教学中反复强调的例子因为它几乎涵盖了所有需要掌握的技巧。第一步移项消去根号。设α √2 √3。平方得到α² 2 2√6 3 5 2√6移项α² - 5 2√6再平方(α² - 5)² 24展开整理α⁴ - 10α² 25 - 24 0 α⁴ - 10α² 1 0所以α是多项式p(x) x⁴ - 10x² 1的根。第二步验证不可约。这个四次多项式没有有理根因为常数项是1有理根只可能是±1代入都不是0所以如果可约只能分解成两个二次多项式的乘积。设x⁴ - 10x² 1 (x² ax b)(x² cx d)展开比较系数最终会发现不存在有理数a, b, c, d满足所有等式。更简洁的做法是用换元。令y x²则p(x)变成y² - 10y 1它在Q上不可约判别式96不是完全平方数。这里要注意y²-10y1不可约只能推出p(x)没有二次因式形如(x² q)的形式但还不够严谨。最保险的做法是直接求解二次因子或者用模素数判别法。实际上p(x)在模2下等于x⁴ 1在F₂上分解为(x1)⁴不满足Eisenstein判别法的直接使用条件。更直接的办法是老老实实设系数比较最终得到矛盾。所以最小多项式就是x⁴ - 10x² 1本身。验证完毕。这个过程在实操中还可以用符号计算工具快速核实。我经常用Python的sympy库from sympy import sqrt, minimal_polynomial from sympy.abc import x alpha sqrt(2) sqrt(3) m minimal_polynomial(alpha, x) print(m) # x**4 - 10*x**2 1如果你是在做手算作业建议至少自己完完整整地走一遍系数比较的过程然后再用工具验证。符号计算工具适合用来检查结果但不适合用来替代对原理的理解。4.4 最小多项式的次数决定了扩张维度最小多项式最重要的性质之一就是这个定理[F(α) : F] deg m_{α,F}(x)也就是说加入一个代数元后扩张的次数就等于它的最小多项式的次数。这个结论是域论里连接“元素”和“扩张”的关键桥梁。用前面的例子来验证Q(√2√3) Q(√2, √3)最小多项式是四次所以[Q(√2√3) : Q] 4。这跟之前直接算Q(√2, √3)的维度是4完全吻合。5. 三大概念怎么在环结构与同构中汇合5.1 从多项式商环角度看单扩张到了这里域扩张、代数元、最小多项式三个概念就开始展现它们内部的深刻联系了。给定F上的代数元α最小多项式m(x)那么可以构造商环F[x]/(m(x))。因为m(x)不可约而F[x]是主理想整环所以(m(x))是极大理想于是商环是一个域。这个域天然包含F通过常数项嵌入而且x在这个商环里对应的陪集恰好扮演了α的角色。这带来一个漂亮的同构F(α) ≅ F[x]/(m(x))左边是“在F上加入一个具体元素α得到的扩张”右边是“形式地取一个多项式商环得到的域”。它们的结构是一模一样的。这意味着什么意味着我们其实不需要知道α具体是哪个数只要知道它的最小多项式就能完全确定扩张F(α)的代数结构。这也是为什么我们在做理论推导时经常把一个元素抽象成“多项式商环里的x”因为它们的性质完全一致。5.2 同构的意义与应用这个同构在很多地方都用得上。比如考虑两个不同的扩张。Q(³√2)和Q(ω·³√2)其中ω是某个三次单位根。这两个域作为Q上的扩张它们的元素完全不同一个在实数域里面一个在复数域里面。但它们的代数结构是完全一样的因为它们的元素都满足同一个最小多项式x³-2。所以Q(³√2) ≅ Q(ω·³√2) ≅ Q[x]/(x³-2)在实际应用中这种同构思想非常重要。计算机代数系统在表示代数数的时候往往就是存一个最小多项式再加一个“该多项式在复数域中的第几个根”的标记而不是存这个复数的浮点近似值。因为浮点近似会丢失精确的代数关系而最小多项式保存了全部关键信息。我最初看到这个设计时很有感触原来域论真的能转化为工程中的具体数据结构。5.3 从单扩张走向正规扩张把单扩张的思想推广到多个元素就得到了有限生成扩张。而如果扩张F(α₁, ..., αₙ)里每个αᵢ都是代数元则整个扩张是有限的。更进一步如果E/F不仅代数而且每个不可约多项式在E中都能完全分裂成一次因子的乘积那这个扩张就是正规扩张——这正是伽罗瓦理论里“伽罗瓦扩张”的雏形。所以我们回过头来看整条线索代数元是最小多项式的来源最小多项式通过单扩张定理构造出扩域扩域的“完整分裂”性质又引出了正规扩张。这一环扣一环的逻辑就是域论最迷人的地方。6. 初学域论最容易踩的坑6.1 把“代数元”和“有限扩张”割裂开这是初学者最容易犯的错误。有人会以为“代数元”是一个孤立的概念跟扩张没关系。但事实是“α在F上是代数元”这个命题天然地是相对于F而言的。同样一个数在不同的基域下可能是代数元也可能是超越元。π在Q上是超越元但π在R上是代数元因为它满足x - π 0这个实系数多项式。所以“代数元”不是一个绝对属性而是依赖于你站在哪个域的视角来看。做题时一定要先看清基域是什么。6.2 忘了验证最小多项式的不可约性很多同学在求最小多项式时找到一个以α为根的多项式就收工了不验证它是否不可约。这是最常见的失分点。记住以α为根的多项式多了去了x² - 2是根2(x²-2)也是根(x²-2)(x³1)还是根。只有“不可约的首一多项式”才是最小多项式。如果找到一个可约多项式真实的最小多项式可能是它的一个因式。实操建议每写下一个候选多项式一定补一句“该多项式在F上不可约”并给出理由。理由可以是用Eisenstein判别法可以是用模素数约化也可以是直接系数对比。6.3 混淆“单扩张”和“有限生成扩张”单扩张严格定义是F(α)即只加入一个元素。而有限生成扩张是F(α₁, ..., αₙ)加入了有限多个元素。虽然本原元定理说很多有限生成扩张可以看成单扩张但那是结论不是定义。在做证明题时如果你把一个“加入多个元素”的扩张直接当成单扩张来写逻辑上就不严谨。正确的做法是分两步先证明每一步扩张都是有限的再用传递性公式算总扩张次数需要进一步压缩成单扩张时再用本原元定理。6.4 关于最小多项式的计算细节计算最小多项式时要格外小心常数项。还是在α √2 √3的例子中最后展开(x²-5)² 24时很多人会把25-24算成-1导致最终多项式写错。这种低级错误考试时非常致命因为后续所有关于扩张次数、同构的判断都会跟着错。建议每次算完多项式后把α代回去验证一遍f(α)是否真的等于0。另外如果α本身带共轭比如α的共轭元是另一个代数数那么最小多项式通常会把这些共轭元全部作为根包含进去。这也是判断结果是否正确的一个辅助手段。6.5 学习路径上的一个建议先说点题外话。很多人学域论都是冲着伽罗瓦理论来的结果被前面的抽象定义劝退了。我的建议是不要一开始就追求“看懂所有定理的证明”而是先把几个核心例子的计算吃透。我自己的学习顺序是这样的先把Q(√2)、Q(√2, √3)、Q(³√2)这几个具体扩张算熟再从这些例子中抽象出“扩张次数”“代数元”“最小多项式”的定义最后才回头看定理的证明这时你会发现那些证明不过是把你已经算过的例子的共同规律提炼了出来。亲身实践下来这个方法比起“从定义推到定理再从定理做习题”的传统路线要高效得多。因为数学的抽象概念一旦有了具体的锚点记忆成本和理解成本都会大幅下降。
返回列表