伽罗瓦菲尔德的圣人

时间:2017-03-28 18:49:41

标签: sage

我在SageMath的Galois Field遇到了问题。我无法将二进制转换为多项式。

如果我有二进制数,1010101如何在多项式1010101 = x ^ 6 + x ^ 4 + x ^ 2 + 1中转换此数字。

1 个答案:

答案 0 :(得分:0)

我不知道是否有一种内置方式(我认为你已经看过了),但是你总能做到以下几点:

sage: P.<x> = PolynomialRing(ZZ)
sage: binString = "1010101"
sage: arrayOfTerms = [0]*len(binString)
sage: binString = binString[::-1] #Flip it so that the first digit corresponds to the constant term
sage: for i in xrange(len(binString)):
....:     arrayOfTerms[i] = (x**i)*int(binString[i])
....:     
sage: poly = sum(arrayOfTerms)
sage: poly
x^6 + x^4 + x^2 + 1
相关问题