FiniteField
FiniteField[p,d]
给出有 个元素的有限域.
FiniteField[p,f]
给出有限域 ,其中 是 中的不可约多项式.
FiniteField[p,…,rep]
使用域元素表示法 rep,可以是 "Polynomial" 或者 "Exponential".
更多信息
- 有限域也称为伽罗瓦域.
- 有限域用于代数计算、纠错码、密码学、组合数学、代数几何、数论和有限几何等.
- 域 是具有所有四则算术运算(+,-,* 和 ÷)的代数系统. 对于某些质数 和正整数 ,有限域 可以有 个元素 .
- 第 个元素 是加法单位元,对于所有 , 均成立,而第 个元素 是乘法单位元,对于所有 , 均成立.
- FiniteFieldElement[,k] 或 [k] 可用于得到第 个元素 ,并且格式为 .
- 在同一域中的 FiniteFieldElement 对象通过算术运算自动合并.
- 多项式运算,如 PolynomialGCD、Factor、Expand、PolynomialQuotientRemainder 和 Resultant 等,可用于具有有限域系数的多项式. Together 和 Cancel 可用于具有有限域系数的有理函数.
- 线性代数运算,如 Det、Inverse、RowReduce、NullSpace、MatrixRank 和 LinearSolve 等,可用于具有有限域元素的矩阵.
- Solve 和 Reduce 可用于求解有限域上的方程组.
- FiniteField 支持两种不同的表示法 rep:"Polynomial" 和 "Exponential".
- "Polynomial" 表示法类似于复数 的笛卡尔表示,易于进行加减,但进行乘除则略有难度.
- 表示法:它使用 d 次不可约多项式 来识别具有商:
- 的域.
- 用多项式 表示. 或者也可以把它当作基为 的向量 .
- 枚举: 元素按逆字典顺序枚举:
- ,,…,,…,
- 运算:令 且 ;则有:
- 及
- 且 以 为模(PolynomialRemainder)降低到 次. 且 . ,乘法逆 是使用扩展多项式 GCD 计算的. 由于 不可约,有 ,因此从扩展多项式 GCD,对于某些多项式 和 ,有 . 通过降低模 ,得到 ,因此有 .
- "Exponential" 表示法类似于复数 的极坐标表示,易于进行乘除,但进行加减则略有难度.
- 表示法:正如在 "Polynomial" 表示法中,它使用次数为 d 的不可约多项式 ,但在这种情况下, 也需要是原函数. 由于 为原函数, 的幂表示 中除了 以外的每个元素:
- 该表示法也称为循环群表示法,因为 是一个乘法循环群.
- 枚举:使用幂次序枚举元素:
- , , , …, , …,
- 运算:令 和 ,则得到:
- 和
- 并且有倒数关系 . 对于加法和减法,没有简单规则能够给出 ,使得 ,因此它存储在查找表中,该表在域大小 中是线性的. 这使得运算更快,但以存储数据为代价. 这也意味着 "Exponential" 表示法不适用于大型域.
- 表示法之间的实际区别是:
- "Polynomial"不需要花时间来创建,不使用额外的内存,适用于大型域,但运算速度稍慢.
- "Exponential" 需要一些时间来创建,使用与域大小成比例的额外内存,适用于小型域但运算速度稍快.
- Information[FiniteField[…], prop] 给出有限域的属性 prop. 可以指定以下属性:
-
"Characteristic" 有限域的特征 p "ExtensionDegree" 有限域在 上的扩张度 d "FieldSize" 域的元素个数 q=pd "FieldIrreducible" 用于构造域的多项式函数 f "ElementRepresentation" "Polynomial" 或 "Exponential"
范例
打开所有单元关闭所有单元范围 (13)
应用 (8)
执行纠错码. 汉明码将 位消息编码为 位序列,并且最多可以纠正一个错误:
令 为使用指数元素表示法的具有 个元素的有限域,令 是用于构造 的不可约多项式,令 为 的生成器:
当接收到的消息没有错误或有一个错误时,解码后的消息是正确的:
为任意质数幂 构造 个正交的 阶拉丁方阵. 阶拉丁方阵是一个 数组,其中每一行和每一列都包含恰好 个元素中的每个元素一次. 如果通过并置两个数组形成的 个数对都不同,则称这对拉丁方阵是正交的:
如果 时,和 都是不同的,那么一个有限的整数集合 是一个西顿(Sidon)集合. 对于质幂 ,在 中构造一个 个整数的西顿集合:
对于有 个字母的字母表,阶 的 de Bruijn 序列是字母表中 个字母的循环序列 ,使得 个字母的每个序列作为 的子序列恰好出现一次. 为一个有 个字母的字母表构造一个阶数为 的 de Bruijn 序列,取质幂 :
验证对于一个有 个字母的字母表, 是阶数为 的 de Bruijn 序列:
如果 的所有项为 或 且 ,则 矩阵 是哈达玛(Hadamard)矩阵. 为任意素幂 构建一个阶数为 的哈达玛矩阵,其中 :
实现高级加密标准(AES)算法中使用的 Rijndael S 盒步骤. 第一部分称为 Nyberg S 盒,使用 中的乘法逆:
使用 2049 位素数实现 Diffie–Hellman 公钥密码系统:
属性和关系 (7)
因此映射 是一个域自同构,称为 FrobeniusAutomorphism:
使用 FrobeniusAutomorphism 求 的剩余根:
使用 IrreduciblePolynomialQ 与 Modulusp 验证在 上的不可约性:
使用 Factor 与 Extensionℱ 验证 f 是线性因子在 ℱ 上的乘积:
使用 FiniteField[p,1] 在质数域 上计算:
与使用 Mod 获得的结果进行比较:
与使用 Modulus 选项获得的结果进行比较:
使用 ToFiniteField 将整数系数转换为有限域质子域中的元素:
FromFiniteField 将系数转换回整数:
文本
Wolfram Research (2023),FiniteField,Wolfram 语言函数,https://reference.wolfram.com/language/ref/FiniteField.html (更新于 2024 年).
CMS
Wolfram 语言. 2023. "FiniteField." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2024. https://reference.wolfram.com/language/ref/FiniteField.html.
APA
Wolfram 语言. (2023). FiniteField. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/FiniteField.html 年