• No results found

The Mutant Border Basis Algorithm

Techniques From the Theory of Border Bases

4.2 Computing Border Bases With Mutant Strate- Strate-giesStrate-gies

4.2.1 The Mutant Border Basis Algorithm

In [67, 140], J. Ding et al. suggested a new strategy to speed up the XL Algorithm which is based on the concept of mutants. We are going to employ the mutant strategy to speed up the Border Basis Algorithm. Consider the algorithm to compute border bases in Proposition 4.1.8. Step 2) of this algorithm computes a U -stable span which is the most time consuming part of the algorithm. Moreover, the complexity of the Border Basis Algorithm relies on this step. In the following proposition we explicitly explain a way to compute a U -stable span using the mutant strategy while avoiding a quick exhaustion of the available memory and removing redundancy.

Proposition 4.2.2. Let F := {f1, . . . , fr} ⊆ R and U = Sr

i=1Supp(fi). Let V be a K-basis of hF iK with pairwise distinct leading terms. Let σ be a degree compatible term ordering. Consider the following sequence of instructions.

S1) Let dmax := max{deg(v) | v ∈ V }, dmin := min{deg(v) | v ∈ V }, Pmutant := ∅, and let G := V .

S2) Let H := ∅, and for each g ∈ G \ Pmutant of degree dmin append g to Pmutant and all possible products xαg with α ∈ {1, . . . , n} to H. Let delim := dmin+ 1.

S3) Apply Lemma 4.1.4 to G and H to compute a basis extension H0 for hG≤dminiK ⊆ hG+≤d

miniK so that the elements of H0∪ G have pairwise distinct leading terms.

Then replace G with G ∪ H0.

S4) Form the set M of all polynomials of degree less than delim in G. (The polynomials in the set M \ Pmutant are mutants with respect to V .)

S5) Let H := ∅. If M \ Pmutant 6= ∅, then for each m ∈ M \ Pmutant append m to Pmutant and all possible products xαm with α ∈ {1, . . . , n} to H. Let delim :=

min{deg(m) | m ∈ M \ Pmutant} + 1. Then continue with step S3).

S6) If delim ≤ dmin, then increase delim by one and continue with step S3).

S7) Let W0 := G \ V . ( W0 is a basis extension of V such that the elements of V ∪ W0 have pairwise distinct leading terms.)

S8) Let W := {w ∈ W0 | LTσ(w) ∈ U }.

S9) If S

w∈WSupp(w) * U , enlarge U by the terms in the order ideal generated by this set and continue with step 7).

S10) If W 6= ∅, append W to V .

S11) If dmin < dmax then increase dmin by one and continue with step S2).

S12) Return the result (G, V, U, Pmutant).

This is an algorithm which returns a vector basis V of the stable span FU, together with the order ideal U , a K-basis G that contains V of hF iK and the set Pmutant to keep record of mutants. Furthermore, the basis vectors of V have pairwise distinct leading terms.

Proof. Let L0 = Tn≤dmin and L = Tn≤dmax. Starting from the minimum possible dmin, each iteration of the loop of steps S2)−S11) computes a L0-stable span of G≤dmin in the following way.

Step S2) starts with a set G with pairwise different leading terms. So the loop is correctly initialized. Then step S2) computes a set H by multiplying all polynomials of degree dmin in G with indeterminates. Note that H = G+≤d

min\ G≤dmin and it helps to get rid of redundant polynomials. Now consider the loop of steps S3)−S5). By Lemma

4.1.4, step S3) computes a finite set H0 such that G ∪ H0 has pairwise different leading terms and

hG≤dminiK ⊆ hG≤dmin∪ H≤d0 miniK = hG+≤d

miniK∩ L0 ⊆ L0. In particular, G≤dmin∪ H≤d0

min is a vector basis of hG+≤d

miniK∩ L0. Then steps S4) and S5) compute a set H using mutants (new polynomials of degree less than or equal to delim = dmin+ 1). Again note that H = G+≤d

min \ G≤dmin and it helps to get rid of redundant polynomials. In this way the loop of steps S3)−S5) is repeated until there are no more mutants. The loop of steps S3)−S6) serves as a safeguard to ensure that the elimination degree delim is equal to dmin+ 1 when the process of finding mutants terminates.

Another iteration is called in step S11) if and only if dmin < dmax. If dmin ≥ dmax, the loop of steps S2)−S11) terminates. After termination we have hG≤dmaxiK = hG≤dmaxi+K∩ L which is exactly the L-stable span of G. This proves the correctness of computing a L-stable span. The loop of steps S7)−S9) along with step S10) computes a U -stable span of V from the L-stable span of G. The correctness of this part follows from [111], Proposition 21.

Remark 4.2.3. Assume that we are in the setting of the algorithm of Proposition 4.2.2. If we skip the loop of steps S7)−S9) and step S10), the algorithm computes the L-stable span of G. The L-stable span of G can be used to accelerate the initial version of the Border Basis Algorithm given in [111], Proposition 18. The algorithm in its original form computes a U -stable span of V from the L-stable span of G. This leads us to the following question. Can there be an algorithm that computes a U -stable span of V without considering the L-stable span of G?

The answer is positive but it will require computing the same polynomials in the ideal I again and again. This restriction is due to the design of the Border Basis Algorithm to proceed degree-wise. Furthermore, mutants can be found effectively if we generate the ideal I degree-wise. Actually, using G we reduce the work for the next iterations by saving the polynomials in H0 because it is quite likely that they can be reused in the next iterations. If the polynomials in G are wasted, we may need to do the same work in the next iterations again.

Remark 4.2.4. During the computation of a U -stable span we create a multiplication history to get rid of redundancy. For instance, if we are working over the field F2,

redundancy can be avoided as follows. During the multiplication process we keep the multiplier variable that gives rise to every new produced polynomial and we keep one for the original polynomials. While computing Fi+, we multiply the polynomial f ∈ Fi by all variables smaller than its previous multiplier variable. In case of the previous multiplier of f is one, we multiply by all variables. The target of this selection method is to speed up the extension process of a U -stable span. We multiply by terms of degree one (variables or indeterminates) only without any trivial redundancy.

Now we are ready to assemble a variant of the Border Basis Algorithm that uses mutant strategy to accelerate the computation of a U -stable span. In the setting of the following proposition we apply Proposition 4.2.2 without step S1) because this step is settled by the proposition itself.

Proposition 4.2.5. (The Mutant Border Basis Algorithm (MBBA))

Let F = {f1, . . . , fm} ⊂ R be a set of polynomials that generates a zero-dimensional ideal I = hF i in R. Let σ be a degree compatible term ordering. Consider the following sequence of instructions.

1) Let U be the order ideal generated by Sm

i=1Supp(fi).

2) Interreduce F to get a K-basis V of hF iK with pairwise distinct leading terms.

3) Let dmax:= max{deg(v) | v ∈ V }, dmin := min{deg(v) | v ∈ V }, G := V and let Pmutant:= ∅.

4) Apply Proposition 4.2.2 to compute a K-basis V of the stable span FU, the updated K-basis G, the updated order ideal U and the updated set Pmutant.

5) Let O = U \ LTσ(V ).

6) If ∂O * U , replace U by U+ and let dmin := dmax := max{deg(u) | u ∈ U }.

Then continue with step 4).

7) Apply the Final Reduction Algorithm 4.1.7.

This is an algorithm which computes an order ideal O and the O-border basis of I.

Proof. To show that the procedure terminates and that the algorithm is correct, we consider its steps which differ from the algorithm in [111], Proposition 21. Step 1) initializes U so that F ⊆ U . Step 2) computes a vector basis V of hF iK with pairwise

different leading terms. Since we plan to proceed degree-wise, step 3) initializes the degree bound dmax on the degrees of the polynomials in V , and the minimum degree dmin of a polynomial (not processed) in G. To find mutants and reduce redundancy dmax is initialized to be empty.

Now consider step 4). Each new iteration in step 4) starts with a universe U , a vector basis V with pairwise different leading terms of the stable span FU, a vector basis G of F bounded by the degree dmax and the set Pmutant. Note that G serves to reduce the work for the next iterations by saving all the polynomials produced during the computation of the universe in step 4) because it is quite likely that they can be reused in the next iterations. Applying Proposition 4.2.2, we see that step 4) computes an updated vector basis V of FU and an updated universe U . This covers all changes in the algorithm and concludes the proof.

The set of polynomials Pmutant is used to recognize mutants. It can be replaced by some other method that can recognize mutants. An alternate way could be to use a flag with each polynomial. After checking a polynomial to be a mutant this flag will be turned off. To understand Proposition 4.2.5 better, we now apply it in a concrete case.

Example 4.2.6. Over the field K = F2, consider the ideal I = hf1, f2, f3i in K[x, y, z], where f1 = xy + xz + 1, f2 = xz + yz + z, and f3 = xy + xz + y + 1. Let σ = DegLex.

To get rid of redundancy we store each polynomial fi as a tuple (m, fi), where m is a variable multiplier. We will we working over the ring K[x, y, z]/hx2− x, y2− y, z2− zi.

Let us follow the steps of the MBBA.

1) We have U = {xy, xz, yz, y, z, 1}.

2) Interreduction yields the basis V = {(1, xy + xz + 1), (1, xz + yz + z), (1, y)}.

3) Let dmax := 2, dmin := 1, G := V , and Pmutant := ∅.

4) Consider the following steps to compute a U -stable span due to Proposition 4.2.2.

S2) Let Pmutant := {(1, y)}, delim := 2, and H := {(x, xy), (y, y), (z, yz)}.

S3) We have H0 = {(x, yz + z + 1), (z, z + 1)} and G = {(1, xy + xz + 1), (1, xz + yz + z), (1, y), (x, yz + z + 1), (z, z + 1)}.

S4) M = {y, z + 1}.

S5) We have M \ Pmutant = {z + 1}. Let Pmutant := {y, z + 1}, H := {(x, xz + x), (y, yz + y)}, and delim := 2.

S3) We have H0 = {(x, x + 1)} and G = {(1, xy + xz + 1), (1, xz + yz + z), (1, y), (x, yz + z + 1), (z, z + 1), (x, x + 1)}.

S4) M = {y, z + 1, x + 1}.

S5) We have M \ Pmutant = {x + 1}. Let Pmutant := {y, z + 1, x + 1}, H :=

{(y, xy + y), (z, xz + z)}, and delim := 2.

S3) H0 = ∅.

S4) M = {y, z + 1, x + 1}.

S5) M \ Pmutant = ∅ S6) delim = 2 = dmin+ 1.

S7) W0 = {(x, yz + z + 1), (z, z + 1), (x, x + 1)}.

S8) W = {(x, yz + z + 1), (z, z + 1)}.

S9) We have S

w∈W Supp(w) ⊆ U .

S10) V = {(1, xy + xz + 1), (1, xz + yz + z), (1, y), (x, yz + z + 1), (z, z + 1)}.

S11) Since dmin = 1 < dmax = 2, increase dmin by one and continue with step 2).

S2) Let Pmutant := {(1, xy + xz + 1), (1, xz + yz + z), (1, y), (x, yz + z + 1), (z, z + 1), (x, x+1)}, delim := 3, and H := {(x, xy+xz+x), (y, xyz+xy+y), (z, xyz+

xz + z), (x, xyz), (y, xyz), (z, xz + yz + z), (y, y), (z, yz)}.

S3) We have H0 = {(y, xyz + xy + y)} and G = {(1, xy + xz + 1), (1, xz + yz + z), (1, y), (x, yz + z + 1), (z, z + 1), (x, x + 1), (y, xyz + xy + y)}.

S4) M = {xy + xz + 1, xz + yz + z, y, yz + z + 1, z + 1, x + 1}.

S5) M \ Pmutant = ∅ S6) delim = 3 = dmin+ 1.

S7) W0 = {(y, xyz + xy + y)}.

S8) W = ∅.

S9) We have S

w∈W Supp(w) ⊆ U .

S10) V = {(1, xy + xz + 1), (1, xz + yz + z), (1, y), (x, yz + z + 1), (z, z + 1)}.

S11) dmin = 2 = dmax.

S12) Return (G, V, U, dmax).

5) O = {1}.

6) Since ∂O = {x, y, z} * U , let U = {xyz, xy, xz, yz, x, y, z, 1} and continue with step 4).

4) Consider the following steps to compute a U -stable span due to Proposition 4.2.2.

S2) Let Pmutant := {(1, xy + xz + 1), (1, xz + yz + z), (1, y), (x, yz + z + 1), (z, z + 1), (x, x + 1), (y, xyz + xy + y)}, delim := 4, and H := {(z, yz)}.

S3) H0 = ∅.

S4) M = {(1, xy + xz + 1), (1, xz + yz + z), (1, y), (x, yz + z + 1), (z, z + 1), (x, x + 1), (y, xyz + xy + y)}.

S5) M \ Pmutant = ∅.

S6) delim = 4 = dmin+ 1.

S7) W0 = {(y, xyz + xy + y)}.

S8) W = {(y, xyz + xy + y)}.

S9) We have S

w∈WSupp(w) ⊆ U .

S10) V = {(1, xy +xz +1), (1, xz +yz +z), (1, y), (x, yz +z +1), (z, z +1), (y, xyz + xy + y)}.

S11) dmin = 3 = dmax. S12) Return (G, V, U, dmax).

5) O = {1}.

6) ∂O = {x, y, z} ⊆ U .

7) The Final Reduction Algorithm 4.1.7 returns {x + 1, y, z + 1}.

Thus we see that (1, 0, 1) is the only zero of I.

Remark 4.2.7. Note that in Example 4.2.6 the maximum degree of a term in the universe U is 3 and we need to compute with polynomials of maximum degree 4. In this example we have extended U by considering the support of polynomials in W as given in Proposition 4.2.5. But if we choose U = T2≤dmax as given by the basic version of the Border Basis Algorithm (see [111], Proposition 18), we can end with a universe

in which the maximum degree of a term is 2 and we need to compute with polynomials of maximum degree 3.