Skip to content

Files

Latest commit

Mar 10, 2024
b0a5d52 · Mar 10, 2024

History

History
This branch is 121 commits behind WTFAcademy/WTF-zk:main.

26_FieldExtension

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Jan 25, 2024
Mar 10, 2024
title tags
26. 域扩张
zk
abstract algebra
field
field extension

WTF zk 教程第 26 讲:域扩张

这一讲,我们将介绍域扩张的概念,它涉及到域的拓展和扩充。

1. 域扩张

给定两个域 F K ,如果 F K 的子域,那么我们称 K F 的扩域。我们通常用 F K 表示域 F 是域 K 的子域(也称基域),用 K / F 表示域 K F 的域扩张(需要注意上下文,容易和商群的符号混淆)。

举个例子,有理数域 Q 是实数域 R 的子域,那么 R Q 的扩域。

下面介绍几个和域扩张相关的概念:

  • 真子域: 给定两个域 F K ,如果 F K F 不等于 K ,则称 F K 的真子域。

  • 素域: 如果一个域没有真子域,那么我们称它为素域。

2. 代数扩域

代数扩域是一种常用的域扩张的方法,它与多项式相关。

如果对于域扩张 K / F 中的每个元素 a K ,都存在一个非零多项式 f ( x ) F [ x ] ,使得 f ( a ) = 0 ,我们称 K / F 是代数扩张。

我们可以通过代数扩域从小的域 F (以有理数域 Q 为例)构造扩域 K

  1. 从多项式环 F [ x ] 中选择一个多项式 P ( x ) ,比如 P ( x ) = x 2 2 = 0

  2. 接着找到多项式 P ( x ) 的一个根,这个根也叫代数元。比如 2 P ( x ) = x 2 2 = 0 的根,它不属于 Q

  3. 我们把这个根加入到 F 中形成扩域 K 。在上面的例子中,扩域 K 包含形式为 a + b 2 的所有元素,其中 a , b Q

  4. 我们容易证明扩域 K 是域,且包含 F 中的所有元素。比如扩域 { a + b 2 } 中的元素在加法和乘法下封闭的,且由于 a , b Q ,扩域包含所有有理数。

为什么这样构造的域是代数扩域呢?

假设代数元为 α ,它是多项式 P ( x ) = 0 的一个根,扩域 K 中的元素可以用 a + b α 表示,它是多项式 P ( x a b ) 的根。因此这样构造的扩域满足代数扩域的定义,是代数扩域。

2.1 代码示例

在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)>

3. 极小多项式

在子域 F 上多项式环 F [ x ] 中,以代数元 α 为根的多项式并不唯一,我们设集合 J α = { P ( x ) | P ( α ) = 0 } 为满足该条件的多项式集合。

换句话说,极小多项式就是多项式环中满足 P ( α ) = 0 的度最小的多项式。

性质1. J α 为多项式环 F [ x ] 的主理想

J α 中,我们可以度最小的首一多项式 Q ( x ) ,它满足 Q ( α ) = 0 ,我们称这个多项式为极小多项式。

性质2. 极小多项式 Q ( x ) 是唯一的。

性质3. 极小多项式 Q ( x ) 是不可约多项式。

性质4. 极小多项式 Q ( x ) 是理想 J α 的生成元。

性质5. 极小多项式 Q ( x ) 的度决定了域扩张 K / F 的度。

举个例子,对于扩域 Q ( 2 ) / Q ,代数元为 2 ,它有唯一的极小多项式 x 2 2 = 0 。该极小多项式的度为 2 ,说明域扩张 Q ( 2 ) / Q 也是 2 。这个扩域上的每个元素可以用 a + b 2 表示,有 1 2 两个维度。

4. 总结

这一讲,我们学习了域扩张,代数扩张,和极小多项式。域扩张是将一个较小的基域扩展到一个更大的域的过程。在密码学中,我们通常用代数扩域进行域扩展,构造具有良好性质的域。