2017-03-28 36 views
0

我在SageMath伽羅瓦域有問題。我無法將二進制轉換爲多項式。聖人伽羅瓦域

如果我有一個二進制數1010101如何將這個數轉換成1010101 = x^6 + x^4 + x^2 + 1多項式。

+0

小拼寫更正。 – rlandster

回答

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