FiniteField

FiniteField[p,d]

给出有 个元素的有限域.

FiniteField[p,f]

给出有限域 ,其中 中的不可约多项式.

FiniteField[p,,rep]

使用域元素表示法 rep,可以是 "Polynomial" 或者 "Exponential".

更多信息

  • 有限域也称为伽罗瓦域.
  • 有限域用于代数计算、纠错码、密码学、组合数学、代数几何、数论和有限几何等.
  • 是具有所有四则算术运算(+-*÷)的代数系统. 对于某些质数 和正整数 ,有限域 可以有 个元素 .
  • 个元素 是加法单位元,对于所有 均成立,而第 个元素 是乘法单位元,对于所有 均成立.
  • FiniteFieldElement[,k][k] 可用于得到第 个元素 ,并且格式为 .
  • 在同一域中的 FiniteFieldElement 对象通过算术运算自动合并.
  • 多项式运算,如 PolynomialGCDFactorExpandPolynomialQuotientRemainderResultant 等,可用于具有有限域系数的多项式. TogetherCancel 可用于具有有限域系数的有理函数.
  • 线性代数运算,如 DetInverseRowReduceNullSpaceMatrixRankLinearSolve 等,可用于具有有限域元素的矩阵.
  • SolveReduce 可用于求解有限域上的方程组.
  • FiniteField 支持两种不同的表示法 rep"Polynomial""Exponential".
  • "Polynomial" 表示法类似于复数 的笛卡尔表示,易于进行加减,但进行乘除则略有难度.
  • 表示法:它使用 d 次不可约多项式 来识别具有商:
  • 的域.
  • 用多项式 表示. 或者也可以把它当作基为 的向量 .
  • 枚举: 元素按逆字典顺序枚举:
  • ,,,,,
  • 运算:令 ;则有:
  • 为模(PolynomialRemainder)降低到 次. . ,乘法逆 是使用扩展多项式 GCD 计算的. 由于 不可约,有 ,因此从扩展多项式 GCD,对于某些多项式 ,有 . 通过降低模 ,得到 ,因此有 .
  • "Exponential" 表示法类似于复数 的极坐标表示,易于进行乘除,但进行加减则略有难度.
  • 表示法:正如在 "Polynomial" 表示法中,它使用次数为 d 的不可约多项式 ,但在这种情况下, 也需要是原函数. 由于 为原函数, 的幂表示 中除了 以外的每个元素:
  • 该表示法也称为循环群表示法,因为 是一个乘法循环群.
  • 枚举:使用幂次序枚举元素:
  • , , , , , ,
  • 运算:,则得到:
  • u *v=alpha^(TemplateBox[{{(, {i, +, j}, )}, {(, {q, -, 1}, )}}, Mod])
  • 并且有倒数关系 . 对于加法和减法,没有简单规则能够给出 ,使得 ,因此它存储在查找表中,该表在域大小 中是线性的. 这使得运算更快,但以存储数据为代价. 这也意味着 "Exponential" 表示法不适用于大型域.
  • 表示法之间的实际区别是:
  • "Polynomial"不需要花时间来创建,不使用额外的内存,适用于大型域,但运算速度稍慢.
  • "Exponential" 需要一些时间来创建,使用与域大小成比例的额外内存,适用于小型域但运算速度稍快.
  • Information[FiniteField[], prop] 给出有限域的属性 prop. 可以指定以下属性:
  • "Characteristic"有限域的特征 p
    "ExtensionDegree"有限域在 上的扩张度 d
    "FieldSize"域的元素个数 q=pd
    "FieldIrreducible"用于构造域的多项式函数 f
    "ElementRepresentation""Polynomial""Exponential"

范例

打开所有单元关闭所有单元

基本范例  (2)

表示质数域

做算术:

做多项式代数:

表示具有特征 和扩张度 的有限域:

使用多项式系数或索引指定域的元素:

做算术:

做多项式代数:

范围  (13)

表示和属性  (4)

表示一个特征为 、扩张度为 的有限域:

找出用于构造域的不可约多项式:

默认情况下,使用域元素的多项式表示:

求域的其它性质:

域加法和乘法单位元的索引为

使用自定义不可约多项式构建有限域:

验证多项式是不可约的:

表示域:

不可约域等于指定的多项式模约化域特征:

构造一个使用元素指数表示的有限域:

用于表示域的多项式是本原多项式:

域加法和乘法单位元的索引为

该域的所有非零元素都是索引为 的元素的幂:

代表质域:

表示一个有 49 个元素的有限域:

算术  (3)

在有限域中执行算术运算:

有理数幂仅适用于指数分母

对于某些域元素,平方根可能不存在:

算术运算将整数视为域的元素:

有理数需要在域特征模下有效:

Element 决定哪些有理数可以用域元素标识:

为了比较的目的,有理数用域元素标识:

不同有限域的元素不能合并:

具有相同特征和不可约域但不同元素表示的域是允许的:

自同构和嵌入  (2)

计算有限域元素的所有共轭:

共轭是 a 的最小多项式的根:

弗罗贝尼乌斯自同构将 映射到

计算一个有限域在另一个有限域中的嵌入:

通过嵌入映射有限域元素:

嵌入保留算术运算:

有限域上的多项式  (2)

在有限域上计算多项式:

展开乘积:

计算最大公因式:

约去一个分数:

计算商和余数:

分解一个多项式:

计算结果:

计算多元多项式:

在有限域的扩张上对多项式进行因式分解:

多项式 上是不可约的:

嵌入更大的域 中,然后对 进行因式分解:

有限域上的线性代数  (1)

对有限域上的矩阵进行计算:

矩阵相乘:

计算矩阵的幂:

计算行列式:

计算逆矩阵:

求解线性方程:

计算矩阵的秩和零空间:

计算矩阵的 LU 分解:

对矩阵进行行约化:

求矩阵的特征多项式:

有限域上的方程  (1)

求解有限域上的方程:

单变量方程:

线性方程组:

多项式方程组:

求解的实例:

消除量词:

应用  (8)

执行纠错码. 汉明码将 位消息编码为 位序列,并且最多可以纠正一个错误:

为使用指数元素表示法的具有 个元素的有限域,令 是用于构造 的不可约多项式,令 的生成器:

编码后的消息是 的系数列表,其中 的系数列表是原始消息:

为多项式,该多项式的系数列表是接收到的消息:

如果接收到的消息没有错误,则 ,因此

如果接收到的消息在位置 包含一个错误,则 ,因此

检查并更正收到的消息:

要对消息进行解码,需要计算 的系数列表:

当接收到的消息没有错误或有一个错误时,解码后的消息是正确的:

为任意质数幂 构造 个正交的 阶拉丁方阵. 阶拉丁方阵是一个 数组,其中每一行和每一列都包含恰好 个元素中的每个元素一次. 如果通过并置两个数组形成的 个数对都不同,则称这对拉丁方阵是正交的:

验证所有数组都是拉丁方阵:

验证所有数组对都是正交的:

如果 时,和 都是不同的,那么一个有限的整数集合 是一个西顿(Sidon)集合. 对于质幂 ,在 中构造一个 个整数的西顿集合:

验证 是长度为 的西顿集合:

对于有 个字母的字母表,阶 的 de Bruijn 序列是字母表中 个字母的循环序列 ,使得 个字母的每个序列作为 的子序列恰好出现一次. 为一个有 个字母的字母表构造一个阶数为 的 de Bruijn 序列,取质幂

验证对于一个有 个字母的字母表, 是阶数为 的 de Bruijn 序列:

如果 的所有项为 H.TemplateBox[{H}, Transpose]=n I_n,则 矩阵 是哈达玛(Hadamard)矩阵. 为任意素幂 构建一个阶数为 的哈达玛矩阵,其中 TemplateBox[{{q, =, 3}, 4}, Mod]

实现高级加密标准(AES)算法中使用的 Rijndael S 盒步骤. 第一部分称为 Nyberg S 盒,使用 中的乘法逆:

第二部分涉及 上的仿射变换:

前向 S 盒由这两部分组成:

用十六进制符号计算前向 S 盒表:

定义逆 S 盒变换:

用十六进制符号计算逆 S 盒表:

验证逆 S 盒是正 S 盒的逆:

使用 2049 位素数实现 DiffieHellman 公钥密码系统:

查找域 的基元元素:

第一个用户选择一个私钥

公钥由 组成:

第二个用户选择

要发送 2048 位信息 ,第二个用户发送

第一个用户可以通过计算 恢复

实现数字签名方案. 固定一个质数 ,并找到 的基元

选取一个秘密整数 ,并公布

信息 的签名是一对 小于 并使得 的正整数. 计算签名需要知道秘密整数

签名可通过公开信息进行验证:

为随机生成的信息计算签名:

验证签名:

属性和关系  (7)

具有特征 和扩张度 的有限域具有 个元素:

具有特征 的有限域的元素满足

因此映射 是一个域自同构,称为 FrobeniusAutomorphism

域生成器 是不可约域的根:

使用 FrobeniusAutomorphism 的剩余根:

具有 个元素的有限域的所有元素都是 的根:

实际上,

上的任何 次不可约多项式都在 个元素的域上具有 个根:

使用 IrreduciblePolynomialQModulusp 验证在 上的不可约性:

使用 FactorExtension 验证 f 是线性因子在 上的乘积:

使用 FiniteField[p,1] 在质数域 上计算:

与使用 Mod 获得的结果进行比较:

上进行多项式计算:

与使用 Modulus 选项获得的结果进行比较:

使用 ToFiniteField 将整数系数转换为有限域质子域中的元素:

FromFiniteField 将系数转换回整数:

将系数转换为有限场元,用 t 表示场发生器:

将有限域系数转换为 t 的多项式,其中 t 代表域发生器:

Wolfram Research (2023),FiniteField,Wolfram 语言函数,https://reference.wolfram.com/language/ref/FiniteField.html (更新于 2024 年).

文本

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 年

BibTeX

@misc{reference.wolfram_2024_finitefield, author="Wolfram Research", title="{FiniteField}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/FiniteField.html}", note=[Accessed: 05-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_finitefield, organization={Wolfram Research}, title={FiniteField}, year={2024}, url={https://reference.wolfram.com/language/ref/FiniteField.html}, note=[Accessed: 05-November-2024 ]}