【问题标题】:How do you factor over a Z field?你如何考虑 Z 场?
【发布时间】:2018-10-07 10:57:34
【问题描述】:

我必须分解多项式,例如

使用 Matlab 或 Mupad 在 Z5 的领域。 我尝试了一切,阅读了很多 Matlab 和 Mupad 文档,但仍然找不到,所以我猜这是我不知道的数学,这会帮助我考虑它。

【问题讨论】:

  • Matlab 有一些函数可用于伽罗瓦域,但并未真正针对此类事情进行优化。相比之下,PARI/GP 专为数论计算而设计,并有一个名为 factormod() 的函数,它可以在有限域上分解多项式。
  • 如果你把所有的系数模5(包括常数系数)减少,你应该可以通过检查很容易地分解。对于这个特定示例,不需要通用分解算法。

标签: matlab math mupad


【解决方案1】:

不要用大炮杀死蚊子!

你只需要在012-2-1之间找到一个根。

此外,鉴于 x5 = x,问题简化为找到 x 使得

 2x + 2x^4 + x^3 + 2x^2 - 3 = 0

由于x ≠ 0,因此x^4 = 1

 2x + x^3 + 2x^2 - 1 = 0

好吧,让我们试试吧!

 1:  2 + 1 + 2 - 1 -> -1
 2: -1 + 3 - 2 - 1 -> -1
-2:  1 - 3 + 3 - 1 ->  0 -> root!

那么多项式可以被 (x - 3) 整除,你可以用商重复这个过程,直到没有根为止。

附录

除以 (x - 3) 我们得到

x4 + x2 + 1

我们可以表示为

(x2 + 1)2 - x2

((x2 + 1) - x)((x2 sup> + 1) + x)

要以编程方式查找 2 阶的因子,只需尝试使用 x2 + ax + b for @987654334 @ 和b04 之间。

【讨论】:

    【解决方案2】:

    我找到了一个 mupad 命令来做我需要的事情。

    仍然感谢您解释其背后的数学原理。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 2020-10-18
      • 1970-01-01
      • 1970-01-01
      • 2022-01-01
      • 2021-11-13
      相关资源
      最近更新 更多