2

我想创建一个具有给定系数的多项式。这看起来很简单,但到目前为止我发现的似乎并不是我想要的。例如在这样的环境中;

n = 11
K = GF(4,'a')
R = PolynomialRing(GF(4,'a'),"x")
x = R.gen()
a = K.gen()
v = [1,a,0,0,1,1,1,a,a,0,1]

给定一个长度为 n 的列表/向量 v(我将在开始时设置此 n 和 v),我想将多项式v(x)设为v[i]*x^iGF(4,'a')[x] /< x^n-v(x) >(实际上在那之后我会在从上面得到这个之后建立商环v(x))然后我会说;

S = R.quotient(x^n-v(x), 'y')
y = S.gen()

但是我写不出来。

4

2 回答 2

1

这是很多地方经常问到的问题,所以最好把它留在这里作为答案,尽管我的答案很简单:

我刚刚写了R(v),它给了我多项式:

sage
n = 11
K = GF(4,'a')
R = PolynomialRing(GF(4,'a'),"x")
x = R.gen()
a = K.gen()

v = [1,a,0,0,1,1,1,a,a,0,1]
R(v)

x^10 + a*x^8 + a*x^7 + x^6 + x^5 + x^4 + a*x + 1
于 2014-09-23T10:17:21.807 回答
0

基本上(也就是说,忽略多项式环的细节)你有一个长度为 n 的列表/向量 v,你需要一个多项式,它是所有 v[i]*x^i 的总和。请注意,这个和等于矩阵乘积 VX,其中 V 是单行矩阵(基本上等于向量 v),X 是由 x 的幂组成的列矩阵。在千里马你可以写

v: [1,a,0,0,1,1,1,a,a,0,1]$ n: 长度(v)$ V: 矩阵(v)$ X: genmatrix(lambda([i,​​j ], x^(i-1)), n, 1)$ VX;

输出是

x^10+a x^8+a x^7+x^6+x^5+x^4+a*x+1

于 2017-11-15T17:16:01.767 回答