Gebauer-M¨ oller installation [32] We add a new element h to G and generate new pairs P ′ := { ( f , h ) | f ∈ G } . We update the pairs in 4 steps: 11 / 57
Gebauer-M¨ oller installation [32] We add a new element h to G and generate new pairs P ′ := { ( f , h ) | f ∈ G } . We update the pairs in 4 steps: 1. If ( f , g ) ∈ P s.t. ⊲ lt ( h ) | lcm ( lt ( f ) , lt ( g )) , ⊲ lcm ( lt ( f ) , lt ( h )) � = lcm ( lt ( f ) , lt ( g )) , ⊲ lcm ( lt ( g ) , lt ( h )) � = lcm ( lt ( f ) , lt ( g )) = ⇒ Remove ( f , g ) from P . [ P done] 11 / 57
Gebauer-M¨ oller installation [32] We add a new element h to G and generate new pairs P ′ := { ( f , h ) | f ∈ G } . We update the pairs in 4 steps: 1. If ( f , g ) ∈ P s.t. ⊲ lt ( h ) | lcm ( lt ( f ) , lt ( g )) , ⊲ lcm ( lt ( f ) , lt ( h )) � = lcm ( lt ( f ) , lt ( g )) , ⊲ lcm ( lt ( g ) , lt ( h )) � = lcm ( lt ( f ) , lt ( g )) = ⇒ Remove ( f , g ) from P . [ P done] 2. Fix ( f , h ) ∈ P ′ . If ( g , h ) ∈ P ′ \{ ( f , h ) } s.t. ⊲ ∃ λ > 1 and lcm ( lt ( f ) , lt ( h )) = λ lcm ( lt ( g ) , lt ( h )) ⇒ Remove ( g , h ) from P ′ . = 11 / 57
Gebauer-M¨ oller installation [32] We add a new element h to G and generate new pairs P ′ := { ( f , h ) | f ∈ G } . We update the pairs in 4 steps: 1. If ( f , g ) ∈ P s.t. ⊲ lt ( h ) | lcm ( lt ( f ) , lt ( g )) , ⊲ lcm ( lt ( f ) , lt ( h )) � = lcm ( lt ( f ) , lt ( g )) , ⊲ lcm ( lt ( g ) , lt ( h )) � = lcm ( lt ( f ) , lt ( g )) = ⇒ Remove ( f , g ) from P . [ P done] 2. Fix ( f , h ) ∈ P ′ . If ( g , h ) ∈ P ′ \{ ( f , h ) } s.t. ⊲ ∃ λ > 1 and lcm ( lt ( f ) , lt ( h )) = λ lcm ( lt ( g ) , lt ( h )) ⇒ Remove ( g , h ) from P ′ . = 3. Fix ( f , h ) ∈ P ′ . If ( g , h ) ∈ P ′ \{ ( f , h ) } s.t. ⊲ lcm ( lt ( f ) , lt ( h )) = lcm ( lt ( g ) , lt ( h )) ⇒ Remove ( g , h ) from P ′ . [Chain criterion done] = 11 / 57
Gebauer-M¨ oller installation [32] We add a new element h to G and generate new pairs P ′ := { ( f , h ) | f ∈ G } . We update the pairs in 4 steps: 1. If ( f , g ) ∈ P s.t. ⊲ lt ( h ) | lcm ( lt ( f ) , lt ( g )) , ⊲ lcm ( lt ( f ) , lt ( h )) � = lcm ( lt ( f ) , lt ( g )) , ⊲ lcm ( lt ( g ) , lt ( h )) � = lcm ( lt ( f ) , lt ( g )) = ⇒ Remove ( f , g ) from P . [ P done] 2. Fix ( f , h ) ∈ P ′ . If ( g , h ) ∈ P ′ \{ ( f , h ) } s.t. ⊲ ∃ λ > 1 and lcm ( lt ( f ) , lt ( h )) = λ lcm ( lt ( g ) , lt ( h )) ⇒ Remove ( g , h ) from P ′ . = 3. Fix ( f , h ) ∈ P ′ . If ( g , h ) ∈ P ′ \{ ( f , h ) } s.t. ⊲ lcm ( lt ( f ) , lt ( h )) = lcm ( lt ( g ) , lt ( h )) ⇒ Remove ( g , h ) from P ′ . [Chain criterion done] = 4. If ( f , h ) ∈ P ′ s.t. lcm ( lt ( f ) , lt ( h )) = lt ( f ) lt ( h ) ⇒ Remove ( f , h ) from P ′ . [Product criterion done] = 11 / 57
Can we do even better? In our example we still need to consider G spol ( g 3 , g 1 ) − → 0 . 12 / 57
Can we do even better? In our example we still need to consider G spol ( g 3 , g 1 ) − → 0 . How to get rid of this useless computation? 12 / 57
Can we do even better? In our example we still need to consider G spol ( g 3 , g 1 ) − → 0 . How to get rid of this useless computation? Use more structure of I = ⇒ Signatures 12 / 57
Signatures Let I = � f 1 ,..., f m � ⊂ R . Idea : Give each f ∈ I a bit more structure: 13 / 57
Signatures Let I = � f 1 ,..., f m � ⊂ R . Idea : Give each f ∈ I a bit more structure: 1. Let R m be generated by e 1 ,..., e m and let ≺ be a compatible monomial order on the monomials of R m . 13 / 57
Signatures Let I = � f 1 ,..., f m � ⊂ R . Idea : Give each f ∈ I a bit more structure: 1. Let R m be generated by e 1 ,..., e m and let ≺ be a compatible monomial order on the monomials of R m . 2. Let α �→ α : R m → R such that e i = f i for all i . 13 / 57
Signatures Let I = � f 1 ,..., f m � ⊂ R . Idea : Give each f ∈ I a bit more structure: 1. Let R m be generated by e 1 ,..., e m and let ≺ be a compatible monomial order on the monomials of R m . 2. Let α �→ α : R m → R such that e i = f i for all i . 3. Each f ∈ I can be represented via some α ∈ R m : f = α 13 / 57
Signatures Let I = � f 1 ,..., f m � ⊂ R . Idea : Give each f ∈ I a bit more structure: 1. Let R m be generated by e 1 ,..., e m and let ≺ be a compatible monomial order on the monomials of R m . 2. Let α �→ α : R m → R such that e i = f i for all i . 3. Each f ∈ I can be represented via some α ∈ R m : f = α 4. A signature of f is given by s ( f ) = lt ≺ ( α ) where f = α . 13 / 57
Signatures Let I = � f 1 ,..., f m � ⊂ R . Idea : Give each f ∈ I a bit more structure: 1. Let R m be generated by e 1 ,..., e m and let ≺ be a compatible monomial order on the monomials of R m . 2. Let α �→ α : R m → R such that e i = f i for all i . 3. Each f ∈ I can be represented via some α ∈ R m : f = α 4. A signature of f is given by s ( f ) = lt ≺ ( α ) where f = α . 5. An element α ∈ R m such that α = 0 is called a syzygy . 13 / 57
Our example again – with signatures and ≺ pot g 1 = xy − z 2 , s ( g 1 ) = e 1 , g 2 = y 2 − z 2 , s ( g 2 ) = e 2 . 14 / 57
Our example again – with signatures and ≺ pot g 1 = xy − z 2 , s ( g 1 ) = e 1 , g 2 = y 2 − z 2 , s ( g 2 ) = e 2 . g 3 = spol ( g 2 , g 1 ) = xg 2 − yg 1 ⇒ s ( g 3 ) = x s ( g 2 ) = xe 2 . 14 / 57
Our example again – with signatures and ≺ pot g 1 = xy − z 2 , s ( g 1 ) = e 1 , g 2 = y 2 − z 2 , s ( g 2 ) = e 2 . g 3 = spol ( g 2 , g 1 ) = xg 2 − yg 1 ⇒ s ( g 3 ) = x s ( g 2 ) = xe 2 . spol ( g 3 , g 1 ) = yg 3 − z 2 g 1 ⇒ s ( spol ( g 3 , g 1 )) = y s ( g 3 ) = xye 2 . 14 / 57
Our example again – with signatures and ≺ pot g 1 = xy − z 2 , s ( g 1 ) = e 1 , g 2 = y 2 − z 2 , s ( g 2 ) = e 2 . g 3 = spol ( g 2 , g 1 ) = xg 2 − yg 1 ⇒ s ( g 3 ) = x s ( g 2 ) = xe 2 . spol ( g 3 , g 1 ) = yg 3 − z 2 g 1 ⇒ s ( spol ( g 3 , g 1 )) = y s ( g 3 ) = xye 2 . Note that s ( spol ( g 3 , g 1 )) = xye 2 and lm ( g 1 ) = xy . 14 / 57
Think in the module α ∈ R m = ⇒ polynomial α with lt ( α ) , signature s ( α ) = lt ( α ) 15 / 57
Think in the module α ∈ R m = ⇒ polynomial α with lt ( α ) , signature s ( α ) = lt ( α ) S-pairs/S-polynomials: � � α , β = a α − b β = ⇒ spair ( α , β ) = a α − b β spol 15 / 57
Think in the module α ∈ R m = ⇒ polynomial α with lt ( α ) , signature s ( α ) = lt ( α ) S-pairs/S-polynomials: � � α , β = a α − b β = ⇒ spair ( α , β ) = a α − b β spol s -reductions: γ − d δ = ⇒ γ − d δ 15 / 57
Think in the module α ∈ R m = ⇒ polynomial α with lt ( α ) , signature s ( α ) = lt ( α ) S-pairs/S-polynomials: � � α , β = a α − b β = ⇒ spair ( α , β ) = a α − b β spol s -reductions: γ − d δ = ⇒ γ − d δ Remark In the following we need one detail from signature-based Gr¨ obner Ba- sis computations: We pick from P by increasing signature. 15 / 57
Signature-based criteria s ( α ) = s ( β ) = ⇒ Compute 1, remove 1. 16 / 57
Signature-based criteria s ( α ) = s ( β ) = ⇒ Compute 1, remove 1. Sketch of proof 1. s ( α − β ) ≺ s ( α ) , s ( β ) . 2. All S-pairs are handled by increasing signature. ⇒ All relatons ≺ s ( α ) are known: α = β + elements of smaller signature 16 / 57
Signature-based criteria S-pairs in signature T 17 / 57
Signature-based criteria S-pairs in signature T What are all possible configurations to reach signature T ? 17 / 57
Signature-based criteria S-pairs in signature T � � R T = a α | α handled by the algorithm and s ( a α ) = T What are all possible configurations to reach signature T ? 17 / 57
Signature-based criteria S-pairs in signature T � � R T = a α | α handled by the algorithm and s ( a α ) = T What are all possible Define an order on R T configurations to reach and choose the maximal signature T ? element. 17 / 57
Special cases � � R T = a α | α handled by the algorithm and s ( a α ) = T 18 / 57
Special cases � � R T = a α | α handled by the algorithm and s ( a α ) = T Choose b β to be an element of R T maximal w.r.t. an order � . 18 / 57
Special cases � � R T = a α | α handled by the algorithm and s ( a α ) = T Choose b β to be an element of R T maximal w.r.t. an order � . 1 . If b β is a syzygy = ⇒ Go on to next signature. 18 / 57
Special cases � � R T = a α | α handled by the algorithm and s ( a α ) = T Choose b β to be an element of R T maximal w.r.t. an order � . 1 . If b β is a syzygy = ⇒ Go on to next signature. 2 . If b β is not part of an S-pair = ⇒ Go on to next signature. 18 / 57
Special cases � � R T = a α | α handled by the algorithm and s ( a α ) = T Choose b β to be an element of R T maximal w.r.t. an order � . 1 . If b β is a syzygy = ⇒ Go on to next signature. 2 . If b β is not part of an S-pair = ⇒ Go on to next signature. Revisiting our example with ≺ pot s ( spol ( g 3 , g 1 )) = xye 2 � g 1 = xy − z 2 ⇒ psyz ( g 2 , g 1 ) = g 1 e 2 − g 2 e 1 = xye 2 + ... g 2 = y 2 − z 2 18 / 57
Modifications not specific to signature-based Gr¨ obner ba- involutive bases sis algorithms [33, 34] TRB (2013) [35] F5GEN (2010) [37, 38] quasi- (2013) homogeneous case Extended GBGC [20] F5 Criteria [41] [4] (2013) (2011) (2010) SSG bihomogeneous F5” [25] case [17] (2012) SBA [19] (2002) (2010) [16] (2013) AP SB [2] [39] MatrixF5 (2009) (2012) [18] (2003) GVW(v1) GVW(HS) F4/5 F5 [27] [28, 43] [1] (2010) (2011) [17] (2010) on (2002) solvable alge- SAGBI Gr¨ obner bras bases [42] iG2V globally [24] G2V (2012) [10] invariant (2009) [26] (group (2012) (2010) action) [22] (2012) iF5A F5t F5A iF5C F5’ [10] [30, 31] [15] [10] F5B (2012) [17] (2009) (2011) (2012) [3] (2002) F5/2 (2005) [18] invariant (2003) (group F5R F5C action) [40] [23] [14] F5+ (2009) (2013) (2005) [13] (2011) Variants covered by the survey 19 / 57
# zero reductions (Singular-4-0-0, F 32003 ) SBA ≺ pot SBA ≺ d-pot SBA ≺ lt Benchmark STD cyclic-8 4,284 243 243 671 cyclic-8-h 5,843 243 243 671 eco-11 3,476 0 749 749 eco-11-h 5,429 502 502 749 katsura-11 3,933 0 0 348 katsura-11-h 3,933 0 0 348 noon-9 25,508 0 0 682 noon-9-h 25,508 0 0 682 Random ( 11 , 2 , 2 ) 6,292 0 0 590 HRandom ( 11 , 2 , 2 ) 6,292 0 0 590 Random ( 12 , 2 , 2 ) 13,576 0 0 1,083 HRandom ( 12 , 2 , 2 ) 13,576 0 0 1,083 20 / 57
Time in seconds (Singular-4-0-0, F 32003 ) SBA ≺ pot SBA ≺ d-pot SBA ≺ lt Benchmark STD cyclic-8 32.480 44.310 100.780 38.120 cyclic-8-h 38.300 35.770 98.440 32.640 eco-11 28.450 3.450 27.360 13.270 eco-11-h 20.630 11.600 14.840 7.960 katsura-11 54.780 35.720 31.010 11.790 katsura-11-h 51.260 34.080 32.590 17.230 noon-9 29.730 12.940 14.620 15.220 noon-9-h 34.410 17.850 20.090 20.510 Random ( 11 , 2 , 2 ) 267.810 77.430 130.400 28.640 HRandom ( 11 , 2 , 2 ) 22.970 14.060 39.320 3.540 Random ( 12 , 2 , 2 ) 2,069.890 537.340 1,062.390 176.920 HRandom ( 12 , 2 , 2 ) 172.910 112.420 331.680 22.060 21 / 57
Can we combine both attempts? Buchberger’s Product and Chain criterion can be combined with the Rewrite criterion [29, 33, 11]: 22 / 57
Can we combine both attempts? Buchberger’s Product and Chain criterion can be combined with the Rewrite criterion [29, 33, 11]: Chain criterion is a special case of the Rewrite criterion ⇒ already included. 22 / 57
Can we combine both attempts? Buchberger’s Product and Chain criterion can be combined with the Rewrite criterion [29, 33, 11]: Chain criterion is a special case of the Rewrite criterion ⇒ already included. Product criterion is not always (but mostly) included. 22 / 57
Can we combine both attempts? Buchberger’s Product and Chain criterion can be combined with the Rewrite criterion [29, 33, 11]: Chain criterion is a special case of the Rewrite criterion ⇒ already included. Product criterion is not always (but mostly) included. α added to G � Generate all possible principal syzygies with α . (e.g. GVW ) 22 / 57
Can we combine both attempts? Buchberger’s Product and Chain criterion can be combined with the Rewrite criterion [29, 33, 11]: Chain criterion is a special case of the Rewrite criterion ⇒ already included. Product criterion is not always (but mostly) included. α added to G S-pair fulfilling Product criterion � not detected by Rewrite criterion Generate all possible � principal syzygies with α . Add one corresponding syzygy. (e.g. SBA in Singular ) (e.g. GVW ) 22 / 57
Experimental results Implementation done in Singular [9] SBA ≺ pot SBA ≺ lt STD Benchmark ZR ZR ZR ZR / PC cyclic-8 4284 243 671 671 / 0 cyclic-8-h 5843 243 671 671 / 0 eco-11 3476 0 749 749 / 0 eco-11-h 5429 502 749 718 / 0 katsura-11 3933 0 348 304 / 0 katsura-11-h 3933 0 348 304 / 0 noon-9 25508 0 682 646 / 0 noon-9-h 25508 0 682 646 / 0 binomial-6-2 21 6 15 8 / 7 binomial-6-3 20 13 15 9 / 6 binomial-7-3 27 24 21 21 / 0 binomial-7-4 41 16 19 16 / 3 binomial-8-3 53 23 27 27 / 0 binomial-8-4 40 31 26 26 / 0 23 / 57
And what’s about SBA using ≺ pot ? Conjecture [11] Every S-polynomial fulfilling the Product criterion is also detected by the Rewrite criterion in SBA using ≺ pot . 24 / 57
And what’s about SBA using ≺ pot ? Conjecture [11] Every S-polynomial fulfilling the Product criterion is also detected by the Rewrite criterion in SBA using ≺ pot . ◮ We checked several million examples, all fulfilling the conjecture. ◮ Until now we cannot prove this. 24 / 57
And what’s about SBA using ≺ pot ? Conjecture [11] Every S-polynomial fulfilling the Product criterion is also detected by the Rewrite criterion in SBA using ≺ pot . ◮ We checked several million examples, all fulfilling the conjecture. ◮ Until now we cannot prove this. Ongoing work: 1. Describe in detail the connection between our conjecture and Moreno-Soc´ ıas conjecture [36]. 2. Try to exploit even more algebraic structures for predicting zero reductions. 24 / 57
Predicting zero reductions 1 2 Fast linear algebra for computing Gr¨ obner bases 25 / 57
Buchberger’s algorithm - revisited Input: Ideal I = � f 1 ,..., f m � Output: Gr¨ obner basis G for I 1. G ← / 0 2. G ← G ∪{ f i } for all i ∈ { 1 ,..., m } 3. Set P ← { spol ( f i , f j ) | f i , f j ∈ G , i > j } 4. Choose p ∈ P , P ← P \{ p } G (a) If p − → 0 ◮ ◮ no new information Go on with the next element in P . G − → q � = 0 ◮ (b) If p ◮ new information Build new S-pair with q and add them to P . Add q to G . Go on with the next element in P . 5. When P = / 0 we are done and G is a Gr¨ obner basis for I . 26 / 57
Faug` ere’s F4 algorithm Input: Ideal I = � f 1 ,..., f m � Output: Gr¨ obner basis G for I 1. G ← / 0 2. G ← G ∪{ f i } for all i ∈ { 1 ,..., m } 3. Set P ← { ( af , bg ) | f , g ∈ G } 4. d ← 0 5. while P � = / 0 : 27 / 57
Faug` ere’s F4 algorithm Input: Ideal I = � f 1 ,..., f m � Output: Gr¨ obner basis G for I 1. G ← / 0 2. G ← G ∪{ f i } for all i ∈ { 1 ,..., m } 3. Set P ← { ( af , bg ) | f , g ∈ G } 4. d ← 0 5. while P � = / 0 : (a) d ← d + 1 (b) P d ← Select ( P ) , P ← P \ P d (c) L d ← { af , bg | ( af , bg ) ∈ P d } (d) L d ← Symbolic Preprocessing ( L d , G ) (e) F d ← Reduction ( L d , G ) (f) for h ∈ F d : ◮ If lt ( h ) / ∈ L ( G ) (all other h are “useless”): ⊲ P ← P ∪{ new pairs with h } ⊲ G ← G ∪{ h } 6. Return G 27 / 57
Differences to Buchberger 1. Select a subset P d of P , not only one element. 2. Do a symbolic preprocessing: Search and store reducers, but do not reduce. 3. Do a full reduction of P d at once: Reduce a subset of R by a subset of R 28 / 57
Differences to Buchberger 1. Select a subset P d of P , not only one element. 2. Do a symbolic preprocessing: Search and store reducers, but do not reduce. 3. Do a full reduction of P d at once: Reduce a subset of R by a subset of R If Select ( P ) selects only 1 pair F4 is just Buchberger’s algorithm. Usually one chooses the normal selection strategy, i.e. all pairs of lowest degree. 28 / 57
Symbolic preprocessing Input: L , G finite subsets of R Output: a finite subset of R 1. F ← L 2. D ← L ( F ) (S-pairs already reduce lead terms) 3. while T ( F ) � = D : (a) Choose m ∈ T ( F ) \ D , D ← D ∪{ m } . (b) If m ∈ L ( G ) ⇒ ∃ g ∈ G and λ ∈ R such that λ lt ( g ) = m ⊲ F ← F ∪{ λ g } 4. Return F 29 / 57
Symbolic preprocessing Input: L , G finite subsets of R Output: a finite subset of R 1. F ← L 2. D ← L ( F ) (S-pairs already reduce lead terms) 3. while T ( F ) � = D : (a) Choose m ∈ T ( F ) \ D , D ← D ∪{ m } . (b) If m ∈ L ( G ) ⇒ ∃ g ∈ G and λ ∈ R such that λ lt ( g ) = m ⊲ F ← F ∪{ λ g } 4. Return F We optimize this soon! 29 / 57
Reduction Input: L , G finite subsets of R Output: a finite subset of R 1. M ← Macaulay matrix of L 2. M ← Gaussian Elimination of M (Linear algebra) 3. F ← polynomials from rows of M 4. Return F 30 / 57
Reduction Input: L , G finite subsets of R Output: a finite subset of R 1. M ← Macaulay matrix of L 2. M ← Gaussian Elimination of M (Linear algebra) 3. F ← polynomials from rows of M 4. Return F Macaulay matrix columns = ˆ monomials (sorted by monomial order < ) = ˆ rows coeffs of polynomials in L 30 / 57
Example: Cyclic-4 R = Q [ a , b , c , d ] , < denotes DRL and we use the normal selection strategy for Select ( P ) . I = � f 1 ,..., f 4 � , where f 1 = abcd − 1 , f 2 = abc + abd + acd + bcd , f 3 = ab + bc + ad + cd , f 4 = a + b + c + d . 31 / 57
Example: Cyclic-4 R = Q [ a , b , c , d ] , < denotes DRL and we use the normal selection strategy for Select ( P ) . I = � f 1 ,..., f 4 � , where f 1 = abcd − 1 , f 2 = abc + abd + acd + bcd , f 3 = ab + bc + ad + cd , f 4 = a + b + c + d . We start with G = { f 4 } and P 1 = { ( f 3 , bf 4 ) } , thus L 1 = { f 3 , bf 4 } . 31 / 57
Example: Cyclic-4 R = Q [ a , b , c , d ] , < denotes DRL and we use the normal selection strategy for Select ( P ) . I = � f 1 ,..., f 4 � , where f 1 = abcd − 1 , f 2 = abc + abd + acd + bcd , f 3 = ab + bc + ad + cd , f 4 = a + b + c + d . We start with G = { f 4 } and P 1 = { ( f 3 , bf 4 ) } , thus L 1 = { f 3 , bf 4 } . Let us do symbolic preprocessing: { ab , b 2 , bc , ad , bd , cd T ( L 1 ) = } = { f 3 , bf 4 } L 1 31 / 57
Example: Cyclic-4 R = Q [ a , b , c , d ] , < denotes DRL and we use the normal selection strategy for Select ( P ) . I = � f 1 ,..., f 4 � , where f 1 = abcd − 1 , f 2 = abc + abd + acd + bcd , f 3 = ab + bc + ad + cd , f 4 = a + b + c + d . We start with G = { f 4 } and P 1 = { ( f 3 , bf 4 ) } , thus L 1 = { f 3 , bf 4 } . Let us do symbolic preprocessing: { ab , b 2 , bc , ad , bd , cd T ( L 1 ) = } = { f 3 , bf 4 } L 1 b 2 / ∈ L ( G ) , 31 / 57
Example: Cyclic-4 R = Q [ a , b , c , d ] , < denotes DRL and we use the normal selection strategy for Select ( P ) . I = � f 1 ,..., f 4 � , where f 1 = abcd − 1 , f 2 = abc + abd + acd + bcd , f 3 = ab + bc + ad + cd , f 4 = a + b + c + d . We start with G = { f 4 } and P 1 = { ( f 3 , bf 4 ) } , thus L 1 = { f 3 , bf 4 } . Let us do symbolic preprocessing: { ab , b 2 , bc , ad , bd , cd T ( L 1 ) = } = { f 3 , bf 4 } L 1 b 2 / ∈ L ( G ) , bc / ∈ L ( G ) , 31 / 57
Example: Cyclic-4 R = Q [ a , b , c , d ] , < denotes DRL and we use the normal selection strategy for Select ( P ) . I = � f 1 ,..., f 4 � , where f 1 = abcd − 1 , f 2 = abc + abd + acd + bcd , f 3 = ab + bc + ad + cd , f 4 = a + b + c + d . We start with G = { f 4 } and P 1 = { ( f 3 , bf 4 ) } , thus L 1 = { f 3 , bf 4 } . Let us do symbolic preprocessing: { ab , b 2 , bc , ad , bd , cd , d 2 } T ( L 1 ) = = { f 3 , bf 4 , df 4 } L 1 b 2 / ∈ L ( G ) , bc / ∈ L ( G ) , d lt ( f 4 ) = ad , 31 / 57
Example: Cyclic-4 R = Q [ a , b , c , d ] , < denotes DRL and we use the normal selection strategy for Select ( P ) . I = � f 1 ,..., f 4 � , where f 1 = abcd − 1 , f 2 = abc + abd + acd + bcd , f 3 = ab + bc + ad + cd , f 4 = a + b + c + d . We start with G = { f 4 } and P 1 = { ( f 3 , bf 4 ) } , thus L 1 = { f 3 , bf 4 } . Let us do symbolic preprocessing: { ab , b 2 , bc , ad , bd , cd , d 2 } T ( L 1 ) = = { f 3 , bf 4 , df 4 } L 1 b 2 / ∈ L ( G ) , bc / ∈ L ( G ) , d lt ( f 4 ) = ad , all others also / ∈ L ( G ) , 31 / 57
Example: Cyclic-4 Now reduction: Convert polynomial data L 1 to Macaulay Matrix M 1 b 2 d 2 ab bc ad bd cd 0 0 0 1 1 1 1 df 4 f 3 1 0 1 1 0 1 0 bf 4 1 1 1 0 1 0 0 32 / 57
Example: Cyclic-4 Now reduction: Convert polynomial data L 1 to Macaulay Matrix M 1 b 2 d 2 ab bc ad bd cd 0 0 0 1 1 1 1 df 4 f 3 1 0 1 1 0 1 0 bf 4 1 1 1 0 1 0 0 Gaussian Elimination of M 1 : b 2 d 2 ab bc ad bd cd df 4 0 0 0 1 1 1 1 − 1 − 1 f 3 1 0 1 0 0 bf 4 0 1 0 0 2 0 1 32 / 57
Example: Cyclic-4 Convert matrix data back to polynomial structure F 1 : b 2 d 2 ab bc ad bd cd 0 0 0 1 1 1 1 df 4 f 3 1 0 1 0 − 1 0 − 1 bf 4 0 1 0 0 2 0 1 , b 2 + 2 bd + d 2 ad + bd + cd + d 2 , ab + bc − bd − d 2 F 1 = � �� � � �� � � �� � f 5 f 6 f 7 33 / 57
Example: Cyclic-4 Convert matrix data back to polynomial structure F 1 : b 2 d 2 ab bc ad bd cd 0 0 0 1 1 1 1 df 4 f 3 1 0 1 0 − 1 0 − 1 bf 4 0 1 0 0 2 0 1 , b 2 + 2 bd + d 2 ad + bd + cd + d 2 , ab + bc − bd − d 2 F 1 = � �� � � �� � � �� � f 5 f 6 f 7 lt ( f 5 ) , lt ( f 6 ) ∈ L ( G ) , so G ← G ∪{ f 7 } . 33 / 57
Example: Cyclic-4 Next round: G = { f 4 , f 7 } , P 2 = { ( f 2 , bcf 4 ) } , L 2 = { f 2 , bcf 4 } . 34 / 57
Example: Cyclic-4 Next round: G = { f 4 , f 7 } , P 2 = { ( f 2 , bcf 4 ) } , L 2 = { f 2 , bcf 4 } . We can simplify the computations: lt ( bcf 4 ) = abc = lt ( cf 6 ) . f 6 possibly better reduced than f 4 .( f 6 is not in G !) = ⇒ L 2 = { f 2 , cf 6 } 34 / 57
Example: Cyclic-4 Next round: G = { f 4 , f 7 } , P 2 = { ( f 2 , bcf 4 ) } , L 2 = { f 2 , bcf 4 } . We can simplify the computations: lt ( bcf 4 ) = abc = lt ( cf 6 ) . f 6 possibly better reduced than f 4 .( f 6 is not in G !) = ⇒ L 2 = { f 2 , cf 6 } Symbolic preprocessing: { abc , bc 2 , abd , acd , bcd , cd 2 } T ( L 2 ) = = { f 2 , cf 6 , } L 2 34 / 57
Example: Cyclic-4 Next round: G = { f 4 , f 7 } , P 2 = { ( f 2 , bcf 4 ) } , L 2 = { f 2 , bcf 4 } . We can simplify the computations: lt ( bcf 4 ) = abc = lt ( cf 6 ) . f 6 possibly better reduced than f 4 .( f 6 is not in G !) = ⇒ L 2 = { f 2 , cf 6 } Symbolic preprocessing: { abc , bc 2 , abd , acd , bcd , cd 2 } T ( L 2 ) = = { f 2 , cf 6 , } L 2 bc 2 / ∈ L ( G ) , 34 / 57
Example: Cyclic-4 Next round: G = { f 4 , f 7 } , P 2 = { ( f 2 , bcf 4 ) } , L 2 = { f 2 , bcf 4 } . We can simplify the computations: lt ( bcf 4 ) = abc = lt ( cf 6 ) . f 6 possibly better reduced than f 4 .( f 6 is not in G !) = ⇒ L 2 = { f 2 , cf 6 } Symbolic preprocessing: { abc , bc 2 , abd , acd , bcd , cd 2 } T ( L 2 ) = = { f 2 , cf 6 , } L 2 bc 2 / ∈ L ( G ) , abd = lt ( bdf 4 ) , but also abd = lt ( bf 5 ) ! 34 / 57
Example: Cyclic-4 Next round: G = { f 4 , f 7 } , P 2 = { ( f 2 , bcf 4 ) } , L 2 = { f 2 , bcf 4 } . We can simplify the computations: lt ( bcf 4 ) = abc = lt ( cf 6 ) . f 6 possibly better reduced than f 4 .( f 6 is not in G !) = ⇒ L 2 = { f 2 , cf 6 } Symbolic preprocessing: { abc , bc 2 , abd , acd , bcd , cd 2 } T ( L 2 ) = = { f 2 , cf 6 , } L 2 bc 2 / ∈ L ( G ) , abd = lt ( bdf 4 ) , but also abd = lt ( bf 5 ) ! Let us investigate this in more detail. 34 / 57
Interlude – Simplify Idea Try to replace u · f by a product ( wv ) · g where vg corresponds to an already computed row in the Gauss. Elim. of a previous matrix M i . ⇒ Reuse rows that are reduced but not “in” G . 35 / 57
Recommend
More recommend