我在SageMath的伽罗瓦场有个问题。我不能把二进制转换成多项式。
如果我有一个二进制数,我如何将这个数转换成多项式1010101 = x^6+x^4+x^2+1。
发布于 2017-05-07 00:10:30
我不知道是否有内置的方法(我假设你也已经看过了),但你总是可以做到以下几点:
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 + 1https://stackoverflow.com/questions/43077597
复制相似问题