The Groebner walk takes a Groebner basis of an ideal with respect to one monomial order and changes it into a Groebner basis of the same ideal over a different monomial order. The initial order is given by the ring of G and the target order is the order in R. When given an ideal I as input a Groebner basis of I in the ring of I is initially computed directly, and then this Groebner basis is converted into a Groebner basis in the ring R.
i1 : KK = ZZ/32003; |
i2 : R1 = KK[x,y,z,u,v, MonomialOrder=>Eliminate 3]; |
i3 : I1 = ideal(3 - 2*u + 2*u^2 - 2*u^3 - v + u*v + 2*u^2*v^3 - x, 6*u + 5*u^2 - u^3 + v + u*v + v^2 - y, -2 + 3*u - u*v + 2*u*v^2 - z); o3 : Ideal of R1 |
i4 : R2 = KK[x,y,z,u,v, MonomialOrder=>Weights=>{0,0,0,1,1}]; |
i5 : groebnerWalk(I1, R2) o5 = GroebnerBasis[status: done; S-pairs encountered up to degree 0] o5 : GroebnerBasis |
The target ring R must be the same ring as the ring of G or I, except with different monomial order. R must be a polynomial ring over a field.
The object groebnerWalk is a method function with options.