1

这是一个关于除法算法的问题。考虑多项式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

在此处输入图像描述

这可能与这里关于理想的更一般的数学问题有关。

4

2 回答 2

2

这是一个很晚的回应。您可能已经有了答案,但无论如何都在这里。"//" 使用除法算法计算系数。

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)。

另一个技巧是复制和粘贴您的代码,以便其他人可以复制和粘贴它。如果您发布图像,那么我们必须手动输入。如果您在每行之前放置四个空格,那么它将显示为代码,就像我在这里所做的那样。

于 2017-03-24T20:47:49.857 回答
1

也许只做一个重复的多项式除法就足够了,像这样(一个粗略的伪代码..)

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
于 2016-02-21T09:11:04.130 回答