SageMath域上多项式操作

域定义

定义R为系数在环Z 13 Z_{13}Z13上的一元多项式类型,文字为x

R.<x> = Zmod(13)[]

定义在F 2 4 = Z 2 [ x ] f ( x ) F_{2^4} =Z_2[x]_{f(x)}F24=Z2[x]f(x)上,其中f ( x ) = x 4 + x + 1 f(x)=x^4+x+1f(x)=x4+x+1,文字为x

#第一个参数声明域所在空间;modulus后的列表为多项式f(x)从最高次到0次项的系数列表
K.<x> = GF(2^4, modulus=[1, 0, 0, 1, 1]) 

更换多项式所在环

# 将f的环改为QQ
f.change_ring(QQ)

次数

f.degree()

带入求值

f(7)

幂运算

f^3

求最高公因式

f.gcd(x^2+1) #即求gcd(f, x^2+1)

扩展欧几里得除法

f.xgcd(x^2+1)

带余除法

f.quo_rem(x^2+1)

模运算

f%(x^2+1)

整除

f//(x^2+1)

判断是否可约

不可约为True;可约为False

f.is_irreducible()

因式分解

f.factor()

求根

输出[a, n]表示,有根a,个数为n个(即该算法可求出重根)

f.roots()

求阶

# 求x的阶为多少
K.<x>=GF(2^4,modulus=[1,1,1,1,1])
g=x
g.multiplicative_order()

求循环群

4种置换自同构

RR.<X> = QQ[]
f = x^4 + 3*x^2 + 1
f.galois_group()

版权声明:本文为m0_46161993原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。