我想得到多元多项式的系数,包括零系数(在它们的正确位置)。我找到了关于两个变量x,y
的多项式f的类似answer现在,我想扩展这个解决方案,用于n个变量的多元多项式[xo,x1,... xn-1]
使用以下代码定义多项式:(注意:q=next_prime(10000)
)
A1 = [(', '.join('x%i'%i for i in [0.. n-1]))]; ### construct a suitable multivariate ring
V = var(A1[0]) ### define a str variable
x=vector(list(V)) ### convert to vector
P1=PolynomialRing(GF(q),V)
我该怎么做?
答案 0 :(得分:3)
首先,给定多项式g
,您可以P1.monomial_all_divisors(lcm(g.monomials()))
获取相关单项式的列表。您可能希望对该列表进行排序 - 我无法告诉您默认情况下的顺序 - 但是您可以执行此操作:
sage: P1.<x0, x1, x2> = PolynomialRing(GF(7)) # my simple setup
sage: g = 3*x0*x1 - x1^2 + 2*x1*x2
sage: [(m, g.monomial_coefficient(m)) for m in P1.monomial_all_divisors(lcm(g.monomials()))]
[(x0, 0),
(x1, 0),
(x0*x1, 3),
(x1^2, 6),
(x0*x1^2, 0),
(x2, 0),
(x0*x2, 0),
(x1*x2, 2),
(x0*x1*x2, 0),
(x1^2*x2, 0),
(x0*x1^2*x2, 0)]