Algorithm Search⌘K

Proofs: FGLM algorithm

These are the human proofs of FGLM algorithm, at full length.

FGLM returns the reduced Gröbner basis for the new order and terminates 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 a zero-dimensional ideal with reduced Gröbner basis G1G_1 for the monomial order >1>_1. Let B1B_1 be the standard monomials of G1G_1, D=∣B1∣=dim⁡KR/ID = |B_1| = \dim_K R/I, and φ:R→KD\varphi : R \to K^D the coordinates of NF⁡G1(f)\operatorname{NF}_{G_1}(f) in the basis B1B_1. Write >> for the target order >2>_2, LM⁡\operatorname{LM} for leading monomials with respect to >>, L=⟨LM⁡(f):f∈I∖{0}⟩L = \langle \operatorname{LM}(f) : f \in I \setminus \{0\} \rangle for the leading monomial ideal, and NN for the set of monomials not in LL.

Lemma 1 (the map φ\varphi). φ\varphi is KK-linear, ker⁡φ=I\ker \varphi = I, and φ(xif)=Miφ(f)\varphi(x_i f) = M_i \varphi(f), where column bb of MiM_i is φ(xib)\varphi(x_i b) for b∈B1b \in B_1.

Proof. Since G1G_1 is a Gröbner basis, f−NF⁡G1(f)∈If - \operatorname{NF}_{G_1}(f) \in I and NF⁡G1(f)\operatorname{NF}_{G_1}(f) is the unique combination of B1B_1 congruent to ff modulo II (CLO Chapter 2, Section 6). Uniqueness gives linearity, and NF⁡G1(f)=0\operatorname{NF}_{G_1}(f) = 0 iff f∈If \in I. If NF⁡G1(f)=∑bcbb\operatorname{NF}_{G_1}(f) = \sum_b c_b b, then xif≡∑bcb xib≡∑bcbNF⁡G1(xib)x_i f \equiv \sum_b c_b\, x_i b \equiv \sum_b c_b \operatorname{NF}_{G_1}(x_i b) modulo II, and the right side is a combination of B1B_1, so it is NF⁡G1(xif)\operatorname{NF}_{G_1}(x_i f). In coordinates this is Miφ(f)M_i \varphi(f). □\square

Lemma 2 (leading monomials by linear algebra). For a monomial mm, m∈Lm \in L if and only if φ(m)\varphi(m) is a KK-linear combination of {φ(u):u∈N, u<m}\{\varphi(u) : u \in N,\ u < m\}.

Proof. If m∈Lm \in L, then m=LM⁡(f)m = \operatorname{LM}(f) for some f∈If \in I, because {LM⁡(f)}\{\operatorname{LM}(f)\} is closed under multiplication by monomials (LM⁡(uf)=uLM⁡(f)\operatorname{LM}(u f) = u \operatorname{LM}(f)). Reduce ff by a Gröbner basis of II for >>: the result f′=m+∑cuuf' = m + \sum c_u u (after scaling) lies in II, has LM⁡(f′)=m\operatorname{LM}(f') = m, and every uu in its tail is in NN and smaller than mm. Applying φ\varphi gives φ(m)=−∑cuφ(u)\varphi(m) = -\sum c_u \varphi(u). Conversely, if φ(m)=∑cuφ(u)\varphi(m) = \sum c_u \varphi(u) with u∈Nu \in N, u<mu < m, then f=m−∑cuu∈ker⁡φ=If = m - \sum c_u u \in \ker\varphi = I and LM⁡(f)=m\operatorname{LM}(f) = m, so m∈Lm \in L. □\square

Lemma 3 (the vectors of NN are independent). The vectors φ(u)\varphi(u), u∈Nu \in N, are linearly independent. In particular ∣N∣≤D|N| \le D.

Proof. A nontrivial relation ∑cuφ(u)=0\sum c_u \varphi(u) = 0 gives f=∑cuu∈If = \sum c_u u \in I, a nonzero polynomial whose leading monomial is in NN, a contradiction. □\square

Lemma 4 (order of processing). The monomials removed from CC at line L4 are strictly increasing for >>, and each monomial is removed at most once.

Proof. When mm is removed, it is the smallest element of CC. Line L8 inserts only xjm>mx_j m > m (a monomial order satisfies xjm>mx_j m > m). So every element of CC after the step is greater than mm, and the next removed monomial is greater than mm. A monomial cannot be inserted again after its removal, because the insertions after that point are greater than it; the implementation also ignores duplicates in CC. □\square

Lemma 5 (invariant). When a monomial mm reaches line L6 (it was not skipped at line L5), SS is exactly {u∈N:u<m}\{u \in N : u < m\} listed in increasing order, the stored vector of each s∈Ss \in S is φ(s)\varphi(s), and G2G_2 consists of one polynomial gw=w−∑jcjsjg_w = w - \sum_j c_j s_j for each minimal generator w<mw < m of LL, with sj∈Ns_j \in N, sj<ws_j < w, and gw∈Ig_w \in I.

Proof. By induction on the steps. Initially S=G2=∅S = G_2 = \emptyset and C={1}C = \{1\}.

First, every element of N∪mingens⁡(L)N \cup \operatorname{mingens}(L) is eventually removed from CC and is not skipped at line L5, as long as all smaller elements of NN are put into SS. Indeed, NN is closed under division (if u∉Lu \notin L, no divisor of uu is in LL). Hence if u≠1u \ne 1 lies in N∪mingens⁡(L)N \cup \operatorname{mingens}(L), then u=xiu′u = x_i u' with u′∈Nu' \in N: for u∈Nu \in N any u′=u/xiu' = u/x_i works, and for a minimal generator every proper divisor is in NN. Since u′<uu' < u, by induction u′u' is put into SS, and line L8 then inserts uu into CC. The loop runs until CC is empty, so uu is removed. It is not skipped at line L5: every LM⁡(g)\operatorname{LM}(g) with g∈G2g \in G_2 lies in mingens⁡(L)\operatorname{mingens}(L), and a monomial of NN is divisible by no element of LL. A minimal generator uu is divisible by no other minimal generator, and by Lemma 4 it is not equal to an earlier one.

Second, every other monomial mm that is removed is skipped. Such an mm is in LL but is not minimal, so it is divisible by some w∈mingens⁡(L)w \in \operatorname{mingens}(L) with w≠mw \ne m, hence w<mw < m (a proper divisor is smaller in a monomial order). By Lemma 4 and the first part, ww was processed before mm and contributed gwg_w with LM⁡(gw)=w\operatorname{LM}(g_w) = w at line L7 (shown below), so mm is skipped at line L5.

Now take a monomial mm that reaches line L6, so m∈N∪mingens⁡(L)m \in N \cup \operatorname{mingens}(L). By Lemma 4 and the two parts above, every u∈Nu \in N with u<mu < m was processed earlier and not skipped, and by the induction hypothesis it was put into SS, in increasing order; the elements of SS are in NN by the step below. So S={u∈N:u<m}S = \{u \in N : u < m\}. Line L6 computes Miφ(m′)=φ(xim′)=φ(m)M_i \varphi(m') = \varphi(x_i m') = \varphi(m) by Lemma 1, where m′∈Sm' \in S is the element that inserted mm (or φ(1)\varphi(1) if m=1m = 1).

  • If m∈Lm \in L, Lemma 2 says that φ(m)\varphi(m) is a combination of {φ(s):s∈S}\{\varphi(s) : s \in S\}, so line L7 appends gm=m−∑cjsjg_m = m - \sum c_j s_j. It lies in ker⁡φ=I\ker\varphi = I and has LM⁡(gm)=m\operatorname{LM}(g_m) = m, because every sj<ms_j < m. Here mm is a minimal generator.
  • If m∈Nm \in N, Lemma 3 says that φ(m)\varphi(m) is independent of {φ(s)}\{\varphi(s)\}, so line L8 appends mm to SS with its vector φ(m)\varphi(m).

The echelon form at line L7 decides membership in the span exactly: it is Gaussian elimination over KK, and it records the combination of the original vectors φ(sj)\varphi(s_j). This keeps the invariant. □\square

Theorem. FGLM(G1,>1,>2)(G_1, >_1, >_2) terminates, and it returns the reduced Gröbner basis of II for >2>_2.

Proof. Termination: each element of SS inserts at most nn monomials into CC, and ∣S∣≤∣N∣≤D|S| \le |N| \le D by Lemma 3, so at most nD+1nD + 1 monomials ever enter CC. Each iteration removes one, so the loop stops. Lines L1 and L6 terminate because B1B_1 is finite, which holds since II is zero-dimensional.

When the loop stops, the first part of the proof of Lemma 5 shows that every minimal generator ww of LL has been processed, so G2={gw:w∈mingens⁡(L)}G_2 = \{g_w : w \in \operatorname{mingens}(L)\}. Each gwg_w lies in II, has leading monomial ww and leading coefficient 1, and its other monomials lie in NN, so they are divisible by no leading monomial of G2G_2. The leading monomials of G2G_2 generate LL, so G2G_2 is a Gröbner basis of II for >2>_2. It is minimal, since no ww divides another, and reduced, since no tail monomial is in LL. The reduced Gröbner basis is unique (CLO Chapter 2, Section 7), so G2G_2 is that basis. ■\blacksquare

Back to FGLM algorithm