这是一个关于除法算法的问题。考虑多项式f=-4x^4y^2z^2+y^6+3z^5
和多项式G={y^6-z^5, x*z-y^2, x*y^4-z^4, x^2*y^2-z^3 *x^3-z^2}
。
您如何在计算上将 f 相对于 G 分解f=\sum_i C_i*G_i
为满足线性组合?
我知道余数为零,但不是上面公式中的系数 C_i,例如 Macaulay2
这可能与这里关于理想的更一般的数学问题有关。
这是一个关于除法算法的问题。考虑多项式f=-4x^4y^2z^2+y^6+3z^5
和多项式G={y^6-z^5, x*z-y^2, x*y^4-z^4, x^2*y^2-z^3 *x^3-z^2}
。
您如何在计算上将 f 相对于 G 分解f=\sum_i C_i*G_i
为满足线性组合?
我知道余数为零,但不是上面公式中的系数 C_i,例如 Macaulay2
这可能与这里关于理想的更一般的数学问题有关。
这是一个很晚的回应。您可能已经有了答案,但无论如何都在这里。"//" 使用除法算法计算系数。
R=QQ[x,y,z,MonomialOrder=>Lex];
f=-4*x^2*y^2*z^2+y^6+3*z^5;
I=ideal(x*z-y^2,x^3-z^2);
G=gb(I);
f//(gens G)
o5 = {6} | 0 |
{2} | 3x2z2-xy2z-y4 |
{5} | 0 |
{4} | 0 |
{3} | -3z3 |
所以
f=-4*x^2*y^2*z^2+y^6+3*z^5
=0*(y^6-z^5)+(3*x^2*z^2-x*y^2*zy^4) (x z-y^2)+0*(x y^4-z ^4)+0 (x^2*y^2-z^3)+(-3*z^3)*(x^3-z^2)。
另一个技巧是复制和粘贴您的代码,以便其他人可以复制和粘贴它。如果您发布图像,那么我们必须手动输入。如果您在每行之前放置四个空格,那么它将显示为代码,就像我在这里所做的那样。
也许只做一个重复的多项式除法就足够了,像这样(一个粗略的伪代码..)
order G lexicographically
total_rest = 0
coefficients = {g[0]:None, g[1]:None,...}
while f > 0:
for g in G:
quotient, reminder = f / g # polynomial division
coefficients[g] += quotient
if reminder == 0:
return # We are done. f was devisible by G.
f = reminder
total_rest += lt(f) # lt: leading term
f -= lt(f)
# Now it should hold that
# f = coefficient[g]*g + ... + total_rest