# Find expansion of polynomial in an ideal

I have a polynomial p and some other polynomials p_1,...,p_k which are elements of a multivariate polynomial ring. Say something like P = PolynomialRing(QQ,'a,b,c,d,e,f,g') . I know that p belongs to the ideal generated by p_1,..,p_k because when I ask for a groebner basis of I I can see explicitly p there. How do I find the expression of p as a linear combination of the p_i's with coefficients in P?

edit retag close merge delete

Sort by » oldest newest most voted You can do this with the lift method of p, passing the ideal I as the argument:

sage: R.<x,y> = QQ[]
sage: I = R.ideal([x-1,y-1])
sage: p = x^2 - y^2 - 2*x + 2*y
sage: c = p.lift(I); c
[x - 1, -y + 1]
sage: sum(c_k*p_k for (c_k,p_k) in zip(c,I.gens()))
x^2 - y^2 - 2*x + 2*y

more

I tried in 3d but failed. Why？ R.<x,y,z> = QQ[] I=R.ideal([x^2+z^2-1,x^2+z^2+(z^2-1)^2]) p=x^2+(1/2)y^2z-z-1 c=p.lift(I);c ValueError: polynomial is not in the ideal

That p does not belong to that I, so no valid choice of c exists in that case. Did you make a typing mistake somewhere in your input?