Algorithm Search⌘K

Proofs: Gröbner walk

These are the human proofs of Gröbner walk, at full length.

The Gröbner walk returns the reduced Gröbner basis for the target order and stops full

This proof shows: correctness, termination.

Let KK be a field, R=K[x1,…,xn]R = K[x_1, \ldots, x_n], and I⊆RI \subseteq R an ideal. For a nonnegative weight ww and a monomial order >>, write (w;>)(w; >) for the order that compares ww-weights first and breaks ties by >>; it is a monomial order because w≥0w \ge 0. A polynomial is ww-homogeneous if all its terms have the same ww-weight. LM⁡>(f)\operatorname{LM}_>(f) is the leading monomial of ff for >>, and LM⁡>(J)\operatorname{LM}_>(J) is the monomial ideal spanned by the leading monomials of the elements of an ideal JJ. We use one known theorem: an ideal has only finitely many distinct monomial ideals LM⁡>(I)\operatorname{LM}_>(I) as >> runs over all monomial orders (Mora and Robbiano 1988; Sturmfels, Gröbner Bases and Convex Polytopes, Theorem 1.2).

Lemma 1 (comparing initial ideals). If >a>_a and >b>_b are monomial orders with LM⁡>a(I)⊆LM⁡>b(I)\operatorname{LM}_{>_a}(I) \subseteq \operatorname{LM}_{>_b}(I), then the two ideals are equal.

Proof. Suppose m∈LM⁡>b(I)m \in \operatorname{LM}_{>_b}(I) but m∉LM⁡>a(I)m \notin \operatorname{LM}_{>_a}(I). Reduce a polynomial of II with leading monomial mm by the Gröbner basis for >b>_b, leaving its leading term: this gives f∈If \in I with f=m+(monomials not in LM⁡>b(I))f = m + (\text{monomials not in } \operatorname{LM}_{>_b}(I)). Those monomials are not in the smaller ideal LM⁡>a(I)\operatorname{LM}_{>_a}(I) either, and neither is mm. So every monomial of f≠0f \ne 0 is standard for >a>_a, and LM⁡>a(f)∉LM⁡>a(I)\operatorname{LM}_{>_a}(f) \notin \operatorname{LM}_{>_a}(I), which contradicts f∈If \in I. □\square

Lemma 2 (initial ideals). For w≥0w \ge 0 and any monomial order >>:

  1. every ww-homogeneous element of in⁡w(I)\operatorname{in}_w(I) is 00 or in⁡w(f)\operatorname{in}_w(f) for some f∈If \in I, and in⁡w(I)\operatorname{in}_w(I) is spanned by such elements;
  2. LM⁡(w;>)(I)=LM⁡>(in⁡w(I))=LM⁡(w;>)(in⁡w(I))\operatorname{LM}_{(w; >)}(I) = \operatorname{LM}_>(\operatorname{in}_w(I)) = \operatorname{LM}_{(w; >)}(\operatorname{in}_w(I));
  3. the reduced Gröbner basis of in⁡w(I)\operatorname{in}_w(I), for any order, consists of ww-homogeneous polynomials.

Proof. (1) An element of in⁡w(I)\operatorname{in}_w(I) is ∑iqiin⁡w(fi)\sum_i q_i \operatorname{in}_w(f_i) with fi∈If_i \in I. Its ww-homogeneous component of weight cc is h=∑iqi′in⁡w(fi)h = \sum_i q_i' \operatorname{in}_w(f_i), where qi′q_i' is the part of qiq_i of weight c−w⋅(weight of in⁡wfi)c - w\cdot(\text{weight of } \operatorname{in}_w f_i). Then f=∑iqi′fi∈If = \sum_i q_i' f_i \in I equals hh plus terms of weight less than cc, so h=in⁡w(f)h = \operatorname{in}_w(f) if h≠0h \ne 0.

(2) For f∈If \in I, LM⁡(w;>)(f)=LM⁡>(in⁡w(f))\operatorname{LM}_{(w;>)}(f) = \operatorname{LM}_>(\operatorname{in}_w(f)), since (w;>)(w;>) first selects the terms of largest weight. With (1), the leading monomials of elements of in⁡w(I)\operatorname{in}_w(I) for >> are the leading monomials of their ww-homogeneous components, which are the LM⁡>(in⁡w(f))\operatorname{LM}_>(\operatorname{in}_w(f)). This gives the first equality. For a ww-homogeneous hh, LM⁡(w;>)(h)=LM⁡>(h)\operatorname{LM}_{(w;>)}(h) = \operatorname{LM}_>(h), which gives the second.

(3) Let J=in⁡w(I)J = \operatorname{in}_w(I) and hh an element of its reduced Gröbner basis. Let hch_c be the ww-homogeneous component of hh that contains LM⁡(h)\operatorname{LM}(h); by (1), hc∈Jh_c \in J, and LM⁡(hc)=LM⁡(h)\operatorname{LM}(h_c) = \operatorname{LM}(h). All monomials of h−hch - h_c are non-leading monomials of hh, so they are standard for JJ. Since h−hc∈Jh - h_c \in J, it is 00. □\square

Lemma 3 (one step). Suppose that at line L4, GG is the reduced Gröbner basis of II for MoldM_{\text{old}}, and LM⁡Mold(g)\operatorname{LM}_{M_{\text{old}}}(g) is a monomial of in⁡w(g)\operatorname{in}_w(g) for every g∈Gg \in G. Then lines L4 to L6 make GG the reduced Gröbner basis of II for Mnew=(w;Mt)M_{\text{new}} = (w; M_t).

Proof. By hypothesis, LM⁡Mold(g)=LM⁡(w;Mold)(g)\operatorname{LM}_{M_{\text{old}}}(g) = \operatorname{LM}_{(w; M_{\text{old}})}(g) for every g∈Gg \in G. So LM⁡Mold(I)\operatorname{LM}_{M_{\text{old}}}(I), which these monomials generate, is contained in LM⁡(w;Mold)(I)\operatorname{LM}_{(w; M_{\text{old}})}(I), and by Lemma 1 the two are equal. By Lemma 2(2) this is LM⁡Mold(in⁡w(I))\operatorname{LM}_{M_{\text{old}}}(\operatorname{in}_w(I)). The in⁡w(g)\operatorname{in}_w(g) lie in in⁡w(I)\operatorname{in}_w(I) and their leading monomials for MoldM_{\text{old}} generate this ideal, so they form a Gröbner basis of in⁡w(I)\operatorname{in}_w(I) for MoldM_{\text{old}}.

The ideal ⟨in⁡w(g)⟩\langle \operatorname{in}_w(g) \rangle is therefore in⁡w(I)\operatorname{in}_w(I), and line L4 computes its reduced Gröbner basis HH for MnewM_{\text{new}}. Take h∈Hh \in H; it is ww-homogeneous of some weight cc, by Lemma 2(3). Division by a Gröbner basis leaves remainder 0 on an element of the ideal, so line L5 writes h=∑gpgin⁡w(g)h = \sum_g p_g \operatorname{in}_w(g). Each step of the division subtracts a multiple axμin⁡w(g)a x^\mu \operatorname{in}_w(g) whose leading monomial is a monomial of the current dividend, which stays ww-homogeneous of weight cc; so every term of pgin⁡w(g)p_g \operatorname{in}_w(g) has weight cc. Then

h′=∑gpgg=h+∑gpg(g−in⁡w(g)),h' = \sum_g p_g g = h + \sum_g p_g \bigl(g - \operatorname{in}_w(g)\bigr),

and every term of the sum has weight less than cc. So h′∈Ih' \in I, in⁡w(h′)=h\operatorname{in}_w(h') = h, and LM⁡Mnew(h′)=LM⁡Mnew(h)\operatorname{LM}_{M_{\text{new}}}(h') = \operatorname{LM}_{M_{\text{new}}}(h) because MnewM_{\text{new}} compares weights first. These monomials generate LM⁡Mnew(in⁡w(I))\operatorname{LM}_{M_{\text{new}}}(\operatorname{in}_w(I)), which by Lemma 2(2) with >=Mt> = M_t equals LM⁡Mnew(I)\operatorname{LM}_{M_{\text{new}}}(I). So the h′h' form a Gröbner basis of II for MnewM_{\text{new}}, and the interreduction at line L6 (removing elements whose leading monomial is divisible by another's, reducing tails and making the result monic) turns it into the reduced one. □\square

Lemma 4 (the invariant). The hypothesis of Lemma 3 holds at every execution of line L4. The value uu of line L8 satisfies 0<u≤10 < u \le 1.

Proof. At the first execution, w=σw = \sigma is the first row of Mold=MsM_{\text{old}} = M_s, so LM⁡Ms(g)\operatorname{LM}_{M_s}(g) has the largest σ\sigma-weight among the terms of gg and lies in in⁡σ(g)\operatorname{in}_\sigma(g).

After lines L4 to L6, GG is reduced for Mnew=(w;Mt)M_{\text{new}} = (w; M_t) by Lemma 3. Let g∈Gg \in G, α=LM⁡Mnew(g)\alpha = \operatorname{LM}_{M_{\text{new}}}(g), and β≠α\beta \ne \alpha a monomial of gg; put a=w⋅(α−β)a = w \cdot (\alpha - \beta) and b=τ⋅(α−β)b = \tau \cdot (\alpha - \beta). Then a≥0a \ge 0. If b<0b < 0, then a>0a > 0: if a=0a = 0, the tie is broken by MtM_t, whose first row is τ\tau, so α>Mtβ\alpha >_{M_t} \beta forces b≥0b \ge 0. So each candidate a/(a−b)a / (a - b) of line L8 lies in (0,1)(0, 1), and 0<u≤10 < u \le 1. The next weight is w′=(1−u)w+uτ≥0w' = (1 - u) w + u\tau \ge 0, and

w′⋅(α−β)=(1−u)a+ub≥0,w' \cdot (\alpha - \beta) = (1 - u) a + u b \ge 0,

which is clear if b≥0b \ge 0 and holds if b<0b < 0 because u≤a/(a−b)u \le a/(a - b). So α\alpha is a monomial of in⁡w′(g)\operatorname{in}_{w'}(g), and line L9 sets Mold=MnewM_{\text{old}} = M_{\text{new}}, for which α\alpha is the leading monomial. Replacing w′w' by a positive multiple, as the implementation does, changes neither initial forms nor the order (w′;Mt)(w'; M_t). □\square

Lemma 5 (termination). The loop runs a finite number of times.

Proof. Write w(s)=(1−s)σ+sτw(s) = (1 - s)\sigma + s\tau for s∈[0,1]s \in [0, 1]. Every weight used is a positive multiple of some w(s)w(s), because a nonnegative combination of a multiple of w(s)w(s) and τ\tau is a multiple of a point of the segment from w(s)w(s) to τ\tau. Let s0=0<s1<s2<⋯s_0 = 0 < s_1 < s_2 < \cdots be the parameters of the weights used; they increase strictly because u>0u > 0, unless w(sk)w(s_k) is already a multiple of τ\tau, in which case no candidate exists, u=1u = 1, and the next step has w=τw = \tau and stops. Let L(s)=LM⁡(w(s);Mt)(I)L(s) = \operatorname{LM}_{(w(s); M_t)}(I).

The set of ss with L(s)=L∗L(s) = L^* for a fixed monomial ideal L∗L^* is an interval. Let G∗G^* be the reduced Gröbner basis for an order with that initial ideal; each g∈G∗g \in G^* is αg\alpha_g plus monomials outside L∗L^*. If L(s)=L∗L(s) = L^*, the reduced basis for (w(s);Mt)(w(s); M_t) is G∗G^*, since a reduced basis is determined by its initial ideal (each element is mm minus the unique combination of standard monomials congruent to mm modulo II). Its leading monomials are then the αg\alpha_g, because the other monomials are not in L∗L^*. Conversely, if LM⁡(w(s);Mt)(g)=αg\operatorname{LM}_{(w(s); M_t)}(g) = \alpha_g for all g∈G∗g \in G^*, then L∗⊆L(s)L^* \subseteq L(s) and Lemma 1 gives equality. So L(s)=L∗L(s) = L^* exactly when, for every g∈G∗g \in G^* and every other monomial β\beta of gg, either w(s)⋅(αg−β)>0w(s) \cdot (\alpha_g - \beta) > 0, or it is 00 and αg>Mtβ\alpha_g >_{M_t} \beta. Each condition defines an interval of ss, since w(s)w(s) is affine in ss; so does their intersection.

At step kk the algorithm computes the reduced basis GkG_k for (w(sk);Mt)(w(s_k); M_t). The step from sks_k to sk+1s_{k+1} is chosen at a value where some g∈Gkg \in G_k and monomial β\beta satisfy w(sk+1)⋅(αg−β)=0w(s_{k+1}) \cdot (\alpha_g - \beta) = 0 and τ⋅(αg−β)<0\tau \cdot (\alpha_g - \beta) < 0, so β>(w(sk+1);Mt)αg\beta >_{(w(s_{k+1}); M_t)} \alpha_g. By the characterization above, L(sk+1)≠L(sk)L(s_{k+1}) \ne L(s_k). Since each value of LL occupies an interval of ss and the sks_k increase, the values L(s0),L(s1),…L(s_0), L(s_1), \ldots are pairwise distinct. By the theorem of Mora and Robbiano there are finitely many, so the loop stops. □\square

Theorem. Let GG be the reduced Gröbner basis of II for MsM_s, where the first rows of MsM_s and MtM_t are nonnegative. Then GROEBNER-WALK(G,Ms,Mt)(G, M_s, M_t) terminates and returns the reduced Gröbner basis of II for MtM_t.

Proof. By Lemma 5 the loop ends, and it can only end at line L7, with w=τw = \tau. By Lemmas 3 and 4, at that moment GG is the reduced Gröbner basis of II for (τ;Mt)(\tau; M_t). Since τ\tau is the first row of MtM_t, the order (τ;Mt)(\tau; M_t) is the order MtM_t, so GG is the reduced Gröbner basis for MtM_t. ■\blacksquare

Back to Gröbner walk