title: 26. 域扩张 tags: zk abstract algebra field field extension WTF zk 教程第 26 讲:域扩张 这一讲,我们将介绍域扩张的概念,它涉及到域的拓展和扩充。 域扩张 给定两个域 $F$ 和 $K$,如果 $F$ 是 $K$ 的子域,那么我们称 $K$ 是 $F$ 的扩域。我们通常用 $F \subseteq K$ 表示域 $F$ 是域 $K$ 的子域(也称基域),用 $K/F$ 表示域 $K$ 是 $F$ 的域扩张(需要注意上下文,容易和商群的符号混淆)。 举个例子,有理数域 $\mathbb{Q}$ 是实数域 $\mathbb{R}$ 的子域,那么 $\mathbb{R}$ 是 $\mathbb{Q}$ 的扩域。
title: 26. 域扩张 tags: - zk - abstract algebra - field - field extension
这一讲,我们将介绍域扩张的概念,它涉及到域的拓展和扩充。
给定两个域 F 和 K,如果 F 是 K 的子域,那么我们称 K 是 F 的扩域。我们通常用 F \subseteq K 表示域 F 是域 K 的子域(也称基域),用 K/F 表示域 K 是 F 的域扩张(需要注意上下文,容易和商群的符号混淆)。
举个例子,有理数域 \mathbb{Q} 是实数域 \mathbb{R} 的子域,那么 \mathbb{R} 是 \mathbb{Q} 的扩域。
下面介绍几个和域扩张相关的概念:
真子域: 给定两个域 F 和 K,如果 F \subseteq K 且 F 不等于 K,则称 F 是 K 的真子域。
素域: 如果一个域没有真子域,那么我们称它为素域。
代数扩域是一种常用的域扩张的方法,它与多项式相关。
如果对于域扩张 K/F 中的每个元素 a \in K,都存在一个非零多项式 f(x) \in F[x],使得 f(a) = 0,我们称 K/F 是代数扩张。
我们可以通过代数扩域从小的域 F (以有理数域 Q 为例)构造扩域 K:
从多项式环 F[x] 中选择一个多项式 P(x),比如 P(x) = x^2 -2 = 0。
接着找到多项式 P(x) 的一个根,这个根也叫代数元。比如 \sqrt{2} 是 P(x) = x^2 -2 = 0 的根,它不属于 Q。
我们把这个根加入到 F 中形成扩域 K。在上面的例子中,扩域 K 包含形式为 a + b\sqrt{2} 的所有元素,其中 a, b \in Q。
我们容易证明扩域 K 是域,且包含 F 中的所有元素。比如扩域 \set{a + b\sqrt{2}} 中的元素在加法和乘法下封闭的,且由于 a,b \in Q,扩域包含所有有理数。
为什么这样构造的域是代数扩域呢?
假设代数元为 \alpha,它是多项式 P(x) = 0 的一个根,扩域 K 中的元素可以用 a + b\alpha 表示,它是多项式 P(\frac{x-a}{b}) 的根。因此这样构造的扩域满足代数扩域的定义,是代数扩域。
在python中,我们可以通过sympy来构造代数扩域:
from sympy import symbols, QQ, RootOf # 定义符号变量 x = symbols('x') # 在有理数域 QQ 上构建代数扩域 QQ/(sqrt(2)) (它是 x^2 - 2 = 0 的一个根) ext_field = QQ.algebraic_field(RootOf(x**2 - 2, 1)) # 输出代数扩域和代数元 print("扩域: ", ext_field) # QQ<sqrt(2)>
在子域 F 上多项式环 F[x]中,以代数元 \alpha 为根的多项式并不唯一,我们设集合 J_\alpha = \set{P(x) | P(\alpha) = 0} 为满足该条件的多项式集合。
换句话说,极小多项式就是多项式环中满足 P(\alpha) = 0 的度最小的多项式。
性质1. J_\alpha 为多项式环 F[x] 的主理想
在 J_\alpha 中,我们可以度最小的首一多项式 Q(x),它满足 Q(\alpha) = 0,我们称这个多项式为极小多项式。
性质2. 极小多项式 Q(x) 是唯一的。
性质3. 极小多项式 Q(x) 是不可约多项式。
性质4. 极小多项式 Q(x) 是理想 J_\alpha 的生成元。
性质5. 极小多项式 Q(x) 的度决定了域扩张 K/F 的度。
举个例子,对于扩域 \mathbb{Q}(\sqrt{2})/\mathbb{Q},代数元为 \sqrt{2},它有唯一的极小多项式 x^2 -2 = 0。该极小多项式的度为 2,说明域扩张 \mathbb{Q}(\sqrt{2})/\mathbb{Q} 也是 2。这个扩域上的每个元素可以用 a + b \sqrt{2} 表示,有 1 和 \sqrt{2} 两个维度。
这一讲,我们学习了域扩张,代数扩张,和极小多项式。域扩张是将一个较小的基域扩展到一个更大的域的过程。在密码学中,我们通常用代数扩域进行域扩展,构造具有良好性质的域。