0

sage 中是否有任何指令来求解线性系统方程模块 p(x)(有限域上的多项式),其中系统系数是任何不确定的有限域上的多项式?我知道对于整数存在类似的东西,例如

sage: I6 = IntegerModRing(6)
sage: M = random_matrix(I6, 4, 4)
sage: v = random_vector(I6, 4)
sage: M \ v
(4, 0, 2, 1)

这是我的代码

F.<a> = GF(2^4)
PR = PolynomialRing(F,'X')
X = PR.gen()
a11 = (a^2)*(X^3)+(a^11)*(X^2)+1
a12 = (a)*(X^4)+(a^13)*(X^3)+X+1
a13 = X^2+(a^13)*(X^3)+a*(X^2)+1
a21 = X^3
a22 = X+a
a23 = X^2+X^3+a*X
a31 = (a^12)*X+a*(X^2)
a32 = (a^8)*(X^2)+X^2+X^3
a33 = a*X + (a^2)*(X^3)
M = matrix([[a11,a12,a13],[a21,a22,a23],[a31,a32,a33]])
v = vector([(a^6)*(X^14)+X^13+X,a*(X^2)+(X^3)*(a^11)+X^2+X+a^12,(a^8)*(X^7)+a*(X^2)+(a^12)*  (X^13)+X^3+X^2+X+1])
p = (a^2 + a)*X^3 + (a + 1)*X^2 + (a^2 + 1)*X + 1 # is than 6 in the firs code

我正在努力

matrix(PolynomialModRing(p),M)\vector(PolynomialModRing(p),v)

但是PolynomialModRing不存在...

编辑

另一个人跟我说我会做

R.<Xbar> = PR.quotient(PR.ideal(p))
# change your formulas to Xbar instead of X
A \ b
# ==> (a^3 + a, a^2, (a^3 + a^2)*Xbar^2 + (a + 1)*Xbar + a^3 + a)

这项工作很好,但现在我试图在代码之后应用中国定理余数,然后....我定义了

q = X^18 + a*X^15 + a*X^12 + X^11 + (a + 1)*X^2 + a
r = a^3*X^3 + (a^3 + a^2 + a)*X^2 + (a^2 + 1)*X + a^3 + a^2 + a
#p,q and r are relatively prime

我正在尝试...

crt([(A\b)[0],(A\b)[1],(A\b)[2]],[p,q,r])

但我明白了

sage.structure.element.Element 中的文件“element.pyx”,第 344 行。getattr (sage/structure/element.c:3871) 文件“misc.pyx”,第 251 行,在 sage.structure.misc.getattr_from_other_class (sage/structure/misc.c:1606) AttributeError: 'PolynomialQuotientRing_field_with_category.element_class' 对象有没有属性“quo_rem”

我认为问题是将 Xbar 更改为 X

这是我对整数的完整示例

from numpy import arange, eye, linalg
#2x-3y+2z=21
#x+4y-z=1
#-x+2y+z=17
A = matrix([[2,-3,2],[1,4,-1],[-1,2,1]])
b=vector([21,1,17])
p=[17,11,13]
d=det(A)
dlist=[0,0,0]
ylist=matrix(IntegerModRing(p[i]),[[2,-3,2],[1,4,-1], [-1,2,1]])\vector(IntegerModRing(p[i]),[21,1,17])
p1=[int(ylist[0]),int(ylist[1]),int(ylist[2])]
CRT(p1,p)
4

1 回答 1

0

也许……这就是你想要的?继续你的例子:

G = F.extension(p)   # This is what you want for "PolynomialModRing(p)
matrix(G,M)\vector(G,v)

哪个输出

(a^3 + a, a^2, (a^3 + a^2)*X^2 + (a + 1)*X + a^3 + a)

在您的问题中,您问“系统系数是任何不确定的有限域上的多项式”,所以我上面所做的并不是您实际提出的问题,鉴于您的示例,这将是一个奇怪的问题。所以,我只想试着读懂你的想法...... :-)

于 2013-10-23T19:47:12.803 回答