# groebnerWalk -- convert a Groebner basis

## Synopsis

• Usage:
H = groebnerWalk(G, R)
H = groebnerWalk(I, R)
• Inputs:
• G, , the starting Groebner basis
• I, an ideal, the starting ideal
• R, a ring, a ring with the target monomial order
• Optional inputs:
• Strategy => ..., default value Standard, specify the algorithm for groebnerWalk
• Outputs:
• H, , the new Groebner basis in the target monomial order

## Description

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

## Caveat

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.

## Ways to use groebnerWalk :

• "groebnerWalk(GroebnerBasis,Ring)"
• "groebnerWalk(Ideal,Ring)"

## For the programmer

The object groebnerWalk is .