多项式二元扩展欧几里得算法

3

存在一种二进制最大公约数算法,用于求一个数字的最大公约数。通常情况下,最大公约数可以扩展到扩展欧几里得算法,可以帮助找到一个域中的乘法逆元。

我正在使用表示多项式的二进制数字。例如,比特串1101表示x^3 + x^2 + 1。我需要计算模一个已知大质数px^p - 1多项式的模反元素。然而,我需要在常数时间内执行此操作(这意味着运行时间不应取决于我要求倒数的数字)。我知道如何使二进制最大公约数的运行时间保持不变,并且我知道如何实现用于计算乘法逆元的多项式XGCD。但是我不知道是否存在二进制多项式的等效最大公约数(以及相应的XGCD)。

1个回答

2

是的,有。在任何存在最小质数的环中,"二进制" GCD 都可以工作。对于整数,最小质数是 2,因此被称为二进制。对于多项式而言,最小质数是 x。该算法遵循相同的思路:通过减去多项式以消除高次项中的自由项,将最大可能的 x 幂因式分解,并继续进行,直到减法的结果变为零。


很酷,因子_x_在二进制表示中与值2相同,这意味着乘除以_x_只是位移,就像乘除以2一样。此外,“奇数”/“偶数”可以通过检查最后一位来确定。此外,加法等于减法(异或),没有进位。总的来说,我认为这将是一个快速算法。 - Sebastian

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接