2017-03-28 9 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 
関連する問題