本文探讨了有限域中本原单位根的关键性质,即当k为偶数时,ω的k/2次方与-1同余。通过数学证明和Python代码示例,验证并解释了这一性质,并展示了如何在具体例子中使用该性质寻找加法逆元。
在前几篇文章中,我们确定了在有限域 $\mathbb{F}_q$ 中,如果 $k$ 整除 $q-1$ :
在本文中,我们将探讨 中本原单位根的一个关键性质:只要 是偶数, 就全等于。
在某些应用中,我们希望找到某些 的不同 -th 单位根之间的关系。更准确地说,我们想确定哪些单位根是其他单位根的加法逆元。
在域 中,如果 整除 ,则 -th 单位根可以写成
其中 是一个本原 -th 单位根。
有人可能会问:我们能轻易找到 或 吗?是的,我们可以。让我们采用以下事实,我们稍后将对此进行证明:如果 是偶数,则 。
让我们使用这个事实。由于 与 相同,知道 ,我们有
同样的方法可以用来找 。我们有
这可以被推广为任意 的情况
这建立了 -th 单位根之间的关系。
例如,让我们考虑 8 次单位根,
使用获得的关系,8 次单位根可以写成
为了使这个成立,我们只需要证明 对于任何 成立。让我们现在开始这样做。
在 中,符号 表示 的加法逆元,满足 。
例如,在 中,由于 ,我们说 是 的加法逆元,并写作
对于任何有限域 ,由于 , 的加法逆元总是 :
让我们现在看一些 的例子。
在以下示例中,我们使用生成元 作为乘法群 。由于 是 在 中的加法逆元,我们有:
一个 本原 4 次单位根 是 。
这里, 。
因此,我们得出结论, 对于 。
现在 是一个 本原 8 次单位根。
对于 ,,我们有 。
在有限域 中,我们有 。 的加法逆元是:
元素 是乘法群 的一个生成元。galois 库提供了一种方便的方法,可以使用 primitive_element 属性来查找此生成元,如下所示:
import galois
GF = galois.GF(97) # 定义域
GF.primitive_element # 返回 GF(5, order=97)
对于 ,我们得到 为
令 ,我们使用以下 Python 代码计算 :
result = 28**16 % 97
print(f"28^16 % 97 = {result}") # 输出: 96
因此:
我们得出结论,对于 , 在 中。
以下 Python 代码检查对于一个域 是否成立。它用于在 中测试 的此属性,以及 。你可以使用 在 中或其他你选择的有效组合来测试它。
import galois
def check_omega_half_is_minus_one(q, omega, k):
GF = [galois.GF](http://galois.gf/)(q)
if k % 2 != 0:
raise ValueError("k must be even")
omega_half = GF(omega) ** (k // 2)
return omega_half == GF(q-1)
## 示例用法:
q = 17
k = 8
omega = 9
result = check_omega_half_is_minus_one(q, omega, k)
print(f"对于 ω={omega} 且 k={k}: ω^(k/2) == -1 在 F_{q} 中是 {result}")
设 是 的生成元。这等价于表示 是一个 本原 -th 单位根。
设 是有限域 中的一个本原 -th 单位根。我们将证明 。
证明的思路是证明 只能是 或 。我们将排除 是 的可能性,只留下 作为唯一的选项。
证明:
让我们取 的平方。它由下式给出
最后一个等式源于 是一个本原 -th 单位根这一事实。
由于 的平方是 ,也就是说,,那么 只能是 或 ,因为只有 或 等于 。
让我们证明它不能是 。
将 替换为 。这给了我们
由于 是一个本原-th 单位根,使得 的最小正整数 是 。
换句话说,没有小于 的整数 使得 。由于 , 不能是 。因此,唯一的可能性是 等于 。
下一章将介绍一种可视化方法,使这些要点更容易记住。
- 原文链接: rareskills.io/post/roots...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!