符号a(mod b,n)是什么意思?

时间:2019-05-07 03:40:24

标签: algorithm modulo modular-arithmetic

我正在尝试为AKS primality test编写Python程序。

第五步指出if (X+a)^n≠ X^n+a (mod X^r − 1,n), output composite;,但是当模数有两个参数:Xr-1n时,我不确定该怎么做。在这种情况下,应该计算什么?

我理解a(mod b)表示将数字除以b = a之后的余数,但不确定其中的2个参数是什么意思。

2 个答案:

答案 0 :(得分:2)

这意味着x ^ r等于1,n也等于0。

例如,如果r = 3,则x等于4。这样最多可生成一个度数为r-1的多项式。

对多项式的系数使用n等于0的规则。

答案 1 :(得分:2)

这里的X表示我们正在使用多项式。 Mod X^r - 1表示我们用r修改所有多项式指数。 Mod n表示我们将所有系数修改n

举个例子,如果我们有一个多项式X^4 + 4 X^3 + 6 X^2 + 4 X + 1,并且我们要乘X^3 - 1(即r = 3)和n = 5,那么我们得到

X^4 + 4 X^3 + 6 X^2 + 4 X + 1 -> (mod by X^3 - 1)
X^1 + 4 X^0 + 6 X^2 + 4 X + 1 =
X   + 4     + 6 X^2 + 4 X + 1 =
6 X^2 + 5 X + 5 -> (mod by 5)
1 X^2 + 0 X + 0 =
X^2.