Computing GR Obner Bases - A Short Overview
Computing GR Obner Bases - A Short Overview
Computing GR Obner Bases - A Short Overview
1 / 57
Preliminaries
Conventions
2 / 57
Buchberger’s criterion
S-polynomials
Let f 6= 0, g 6= 0 ∈ R and let λ = lcm (lt (f ) , lt (g )) be the least common
multiple of lt (f ) and lt (g ). The S-polynomial between f and g is given
by
λ λ
spol (f , g ) ..= f− g.
lt (f ) lt (g )
3 / 57
Buchberger’s criterion
S-polynomials
Let f 6= 0, g 6= 0 ∈ R and let λ = lcm (lt (f ) , lt (g )) be the least common
multiple of lt (f ) and lt (g ). The S-polynomial between f and g is given
by
λ λ
spol (f , g ) ..= f− g.
lt (f ) lt (g )
3 / 57
Buchberger’s algorithm
4 / 57
Buchberger’s algorithm
4 / 57
Buchberger’s algorithm
4 / 57
How to improve computations?
I ...
5 / 57
How to improve computations?
5 / 57
1 Predicting zero reductions
6 / 57
How to detect zero reductions in advance?
Let I = hg1 , g2 i ∈ Q[x , y , z ] and let < denote the reverse lexicographical
ordering. Let
g1 = xy − z2 , g2 = y2 − z2
7 / 57
How to detect zero reductions in advance?
Let I = hg1 , g2 i ∈ Q[x , y , z ] and let < denote the reverse lexicographical
ordering. Let
g1 = xy − z2 , g2 = y2 − z2
=⇒ g3 = xz2 − yz2 .
7 / 57
How to detect zero reductions in advance?
Let I = hg1 , g2 i ∈ Q[x , y , z ] and let < denote the reverse lexicographical
ordering. Let
g1 = xy − z2 , g2 = y2 − z2
=⇒ g3 = xz2 − yz2 .
7 / 57
How to detect zero reductions in advance?
Let I = hg1 , g2 i ∈ Q[x , y , z ] and let < denote the reverse lexicographical
ordering. Let
g1 = xy − z2 , g2 = y2 − z2
=⇒ g3 = xz2 − yz2 .
−y 2 z 2 + z 4 + y 2 z 2 − z 4 = 0.
7 / 57
How to detect zero reductions in advance?
Can we see something? How are the generators of the S-polynomials related
to each other?
8 / 57
How to detect zero reductions in advance?
Can we see something? How are the generators of the S-polynomials related
to each other?
spol(g3 , g2 ) = y2 xz 2 − yz 2 − xz2 y 2 − z 2
8 / 57
How to detect zero reductions in advance?
Can we see something? How are the generators of the S-polynomials related
to each other?
spol(g3 , g2 ) = y2 xz 2 − yz 2 − xz2 y 2 − z 2
8 / 57
How to detect zero reductions in advance?
Can we see something? How are the generators of the S-polynomials related
to each other?
spol(g3 , g2 ) = y2 xz 2 − yz 2 − xz2 y 2 − z 2
So we can reduce this to zero by vg3 for all v ∈ support (lot (g2 )).
8 / 57
Buchberger’s criteria
9 / 57
Buchberger’s criteria
9 / 57
Buchberger’s criteria
9 / 57
Buchberger’s criteria
9 / 57
Buchberger’s criteria
9 / 57
Buchberger’s criteria
10 / 57
Buchberger’s criteria
Note
Do not remove too much information! If λ = 1 and
10 / 57
Buchberger’s criteria
Note
Do not remove too much information! If λ = 1 and
10 / 57
Gebauer-Möller installation [32]
We add a new element h to G and generate new pairs P 0 := {(f , h) | f ∈ G}.
11 / 57
Gebauer-Möller installation [32]
We add a new element h to G and generate new pairs P 0 := {(f , h) | f ∈ G}.
We update the pairs in 4 steps:
11 / 57
Gebauer-Möller installation [32]
We add a new element h to G and generate new pairs P 0 := {(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)) 6= lcm (lt (f ) , lt (g )),
. lcm (lt (g ) , lt (h)) 6= lcm (lt (f ) , lt (g ))
=⇒ Remove (f , g ) from P. [P done]
11 / 57
Gebauer-Möller installation [32]
We add a new element h to G and generate new pairs P 0 := {(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)) 6= lcm (lt (f ) , lt (g )),
. lcm (lt (g ) , lt (h)) 6= lcm (lt (f ) , lt (g ))
=⇒ Remove (f , g ) from P. [P done]
2. Fix (f , h) ∈ P 0 . If (g , h) ∈ P 0 \ {(f , h)} s.t.
. ∃ λ > 1 and lcm (lt (f ) , lt (h)) = λ lcm (lt (g ) , lt (h))
=⇒ Remove (g , h) from P 0 .
11 / 57
Gebauer-Möller installation [32]
We add a new element h to G and generate new pairs P 0 := {(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)) 6= lcm (lt (f ) , lt (g )),
. lcm (lt (g ) , lt (h)) 6= lcm (lt (f ) , lt (g ))
=⇒ Remove (f , g ) from P. [P done]
2. Fix (f , h) ∈ P 0 . If (g , h) ∈ P 0 \ {(f , h)} s.t.
. ∃ λ > 1 and lcm (lt (f ) , lt (h)) = λ lcm (lt (g ) , lt (h))
=⇒ Remove (g , h) from P 0 .
3. Fix (f , h) ∈ P 0 . If (g , h) ∈ P 0 \ {(f , h)} s.t.
. lcm (lt (f ) , lt (h)) = lcm (lt (g ) , lt (h))
=⇒ Remove (g , h) from P 0 . [Chain criterion done]
11 / 57
Gebauer-Möller installation [32]
We add a new element h to G and generate new pairs P 0 := {(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)) 6= lcm (lt (f ) , lt (g )),
. lcm (lt (g ) , lt (h)) 6= lcm (lt (f ) , lt (g ))
=⇒ Remove (f , g ) from P. [P done]
2. Fix (f , h) ∈ P 0 . If (g , h) ∈ P 0 \ {(f , h)} s.t.
. ∃ λ > 1 and lcm (lt (f ) , lt (h)) = λ lcm (lt (g ) , lt (h))
=⇒ Remove (g , h) from P 0 .
3. Fix (f , h) ∈ P 0 . If (g , h) ∈ P 0 \ {(f , h)} s.t.
. lcm (lt (f ) , lt (h)) = lcm (lt (g ) , lt (h))
=⇒ Remove (g , h) from P 0 . [Chain criterion done]
G
spol (g3 , g1 ) −
→ 0.
12 / 57
Can we do even better?
G
spol (g3 , g1 ) −
→ 0.
12 / 57
Can we do even better?
G
spol (g3 , g1 ) −
→ 0.
12 / 57
Signatures
Let I = hf1 , . . . , fm i ⊂ R .
Idea: Give each f ∈ I a bit more structure:
13 / 57
Signatures
Let I = hf1 , . . . , fm i ⊂ R .
Idea: Give each f ∈ I a bit more structure:
1. Let R m be generated by e1 , . . . , em and let ≺ be a compatible monomial
order on the monomials of R m .
13 / 57
Signatures
Let I = hf1 , . . . , fm i ⊂ R .
Idea: Give each f ∈ I a bit more structure:
1. Let R m be generated by e1 , . . . , em and let ≺ be a compatible monomial
order on the monomials of R m .
13 / 57
Signatures
Let I = hf1 , . . . , fm i ⊂ R .
Idea: Give each f ∈ I a bit more structure:
1. Let R m be generated by e1 , . . . , em and let ≺ be a compatible monomial
order on the monomials of R m .
13 / 57
Signatures
Let I = hf1 , . . . , fm i ⊂ R .
Idea: Give each f ∈ I a bit more structure:
1. Let R m be generated by e1 , . . . , em and let ≺ be a compatible monomial
order on the monomials of R m .
13 / 57
Signatures
Let I = hf1 , . . . , fm i ⊂ R .
Idea: Give each f ∈ I a bit more structure:
1. Let R m be generated by e1 , . . . , em and let ≺ be a compatible monomial
order on the monomials of R m .
13 / 57
Our example again – with signatures and ≺pot
g1 = xy − z 2 , s(g1 ) = e1 ,
g2 = y 2 − z 2 , s(g2 ) = e2 .
14 / 57
Our example again – with signatures and ≺pot
g1 = xy − z 2 , s(g1 ) = e1 ,
g2 = y 2 − z 2 , s(g2 ) = e2 .
14 / 57
Our example again – with signatures and ≺pot
g1 = xy − z 2 , s(g1 ) = e1 ,
g2 = y 2 − z 2 , s(g2 ) = e2 .
spol(g3 , g1 ) = yg3 − z 2 g1
⇒ s (spol(g3 , g1 )) = y s(g3 ) = xye2 .
14 / 57
Our example again – with signatures and ≺pot
g1 = xy − z 2 , s(g1 ) = e1 ,
g2 = y 2 − z 2 , s(g2 ) = e2 .
spol(g3 , g1 ) = yg3 − z 2 g1
⇒ s (spol(g3 , g1 )) = y s(g3 ) = xye2 .
14 / 57
Think in the module
15 / 57
Think in the module
S-pairs/S-polynomials:
spol α, β = aα − bβ =⇒ spair (α, β ) = aα − bβ
15 / 57
Think in the module
S-pairs/S-polynomials:
spol α, β = aα − bβ =⇒ spair (α, β ) = aα − bβ
s-reductions:
γ − d δ =⇒ γ − d δ
15 / 57
Think in the module
S-pairs/S-polynomials:
spol α, β = aα − bβ =⇒ spair (α, β ) = aα − bβ
s-reductions:
γ − d δ =⇒ γ − d δ
Remark
In the following we need one detail from signature-based Gröbner Ba-
sis computations:
We pick from P by increasing signature.
15 / 57
Signature-based criteria
16 / 57
Signature-based criteria
Sketch of proof
16 / 57
Signature-based criteria
S-pairs in signature T
17 / 57
Signature-based criteria
S-pairs in signature T
17 / 57
Signature-based criteria
S-pairs in signature T
n o
RT = aα | α handled by the algorithm and s(aα) = T
17 / 57
Signature-based criteria
S-pairs in signature T
n o
RT = aα | α handled by the algorithm and s(aα) = T
17 / 57
Special cases
n o
RT = aα | α handled by the algorithm and s(aα) = T
18 / 57
Special cases
n o
RT = aα | α handled by the algorithm and s(aα) = T
18 / 57
Special cases
n o
RT = aα | α handled by the algorithm and s(aα) = T
18 / 57
Special cases
n o
RT = aα | α handled by the algorithm and s(aα) = T
18 / 57
Special cases
n o
RT = aα | α handled by the algorithm and s(aα) = T
) s (spol(g3 , g1 )) = xye2
g1 = xy − z 2
⇒ psyz(g2 , g1 ) = g1 e2 − g2 e1 = xye2 + . . .
g2 = y 2 − z 2
18 / 57
Modifications not specific to
signature-based Gröbner ba- involutive bases
sis algorithms [33, 34] TRB
(2013)
F5GEN [35]
[37, 38] (2010)
quasi- (2013)
homogeneous
case Extended GBGC
[20] F5 Criteria
(2013) [4] [41]
(2010) (2011)
SSG
bihomogeneous
F5” [25]
case
[17] (2012)
[19] SBA
(2002)
(2010) [16]
AP SB
(2013)
[2] [39]
MatrixF5
(2009) (2012)
[18]
(2003)
GVW(v1) GVW(HS)
F4/5
[1]
F5 [27] [28, 43]
(2010) (2011)
(2010) [17] on
solvable
(2002) alge-
SAGBI Gröbner
bras
bases
globally iG2V [42]
[24] G2V (2012)
invariant [10]
(2009) [26] (2012)
(group
(2010)
action)
[22]
(2012)
F5t iF5A
F5’ F5A iF5C
[30, 31] [10]
F5B [17] [15] (2012) [10]
(2009) (2011) (2012)
[3] (2002)
(2005) F5/2
[18]
invariant
(2003)
(group
action) F5R F5C
[23] F5+ [40] [14]
(2013) (2005) (2009)
[13]
(2011)
Variants covered by
the survey
19 / 57
# zero reductions (Singular-4-0-0, F32003 )
20 / 57
Time in seconds (Singular-4-0-0, F32003 )
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]:
22 / 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]:
α added to G
H
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]:
22 / 57
Experimental results
Implementation done in Singular [9]
STD SBA ≺pot SBA ≺lt
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 .
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 .
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
1 Predicting zero reductions
25 / 57
Buchberger’s algorithm - revisited
26 / 57
Faugère’s F4 algorithm
Input: Ideal I = hf1 , . . . , fm i
Output: Gröbner basis G for I
1. G ← 0/
2. G ← G ∪ {fi } for all i ∈ {1, . . . , m}
3. Set P ← {(af , bg ) | f , g ∈ G}
4. d ← 0
5. while P 6= 0/ :
27 / 57
Faugère’s F4 algorithm
Input: Ideal I = hf1 , . . . , fm i
Output: Gröbner basis G for I
1. G ← 0/
2. G ← G ∪ {fi } for all i ∈ {1, . . . , m}
3. Set P ← {(af , bg ) | f , g ∈ G}
4. d ← 0
5. while P 6= 0/ :
(a) d ← d + 1
(b) Pd ← Select (P ), P ← P \ Pd
(c) Ld ← {af , bg | (af , bg ) ∈ Pd }
(d) Ld ← Symbolic Preprocessing(Ld , G)
(e) Fd ← Reduction(Ld , G)
(f) for h ∈ Fd :
I 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
28 / 57
Differences to Buchberger
28 / 57
Symbolic preprocessing
29 / 57
Symbolic preprocessing
29 / 57
Reduction
30 / 57
Reduction
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 = hf1 , . . . , f4 i, where
f1 = abcd − 1,
f2 = abc + abd + acd + bcd ,
f3 = ab + bc + ad + cd ,
f4 = 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 = hf1 , . . . , f4 i, where
f1 = abcd − 1,
f2 = abc + abd + acd + bcd ,
f3 = ab + bc + ad + cd ,
f4 = a + b + c + d .
We start with G = {f4 } and P1 = {(f3 , bf4 )}, thus L1 = {f3 , bf4 }.
31 / 57
Example: Cyclic-4
R = Q[a, b, c , d ], < denotes DRL and we use the normal selection strategy
for Select (P ). I = hf1 , . . . , f4 i, where
f1 = abcd − 1,
f2 = abc + abd + acd + bcd ,
f3 = ab + bc + ad + cd ,
f4 = a + b + c + d .
We start with G = {f4 } and P1 = {(f3 , bf4 )}, thus L1 = {f3 , bf4 }.
Let us do symbolic preprocessing:
T (L1 ) = {ab, b2 , bc , ad , bd , cd }
L1 = {f3 , bf4 }
31 / 57
Example: Cyclic-4
R = Q[a, b, c , d ], < denotes DRL and we use the normal selection strategy
for Select (P ). I = hf1 , . . . , f4 i, where
f1 = abcd − 1,
f2 = abc + abd + acd + bcd ,
f3 = ab + bc + ad + cd ,
f4 = a + b + c + d .
We start with G = {f4 } and P1 = {(f3 , bf4 )}, thus L1 = {f3 , bf4 }.
Let us do symbolic preprocessing:
T (L1 ) = {ab, b2 , bc , ad , bd , cd }
L1 = {f3 , bf4 }
b2 ∈
/ 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 = hf1 , . . . , f4 i, where
f1 = abcd − 1,
f2 = abc + abd + acd + bcd ,
f3 = ab + bc + ad + cd ,
f4 = a + b + c + d .
We start with G = {f4 } and P1 = {(f3 , bf4 )}, thus L1 = {f3 , bf4 }.
Let us do symbolic preprocessing:
T (L1 ) = {ab, b2 , bc , ad , bd , cd }
L1 = {f3 , bf4 }
b2 ∈
/ 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 = hf1 , . . . , f4 i, where
f1 = abcd − 1,
f2 = abc + abd + acd + bcd ,
f3 = ab + bc + ad + cd ,
f4 = a + b + c + d .
We start with G = {f4 } and P1 = {(f3 , bf4 )}, thus L1 = {f3 , bf4 }.
Let us do symbolic preprocessing:
T (L1 ) = {ab, b2 , bc , ad , bd , cd , d 2 }
L1 = {f3 , bf4 , df4 }
b2 ∈
/ L(G), bc ∈
/ L(G), d lt (f4 ) = 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 = hf1 , . . . , f4 i, where
f1 = abcd − 1,
f2 = abc + abd + acd + bcd ,
f3 = ab + bc + ad + cd ,
f4 = a + b + c + d .
We start with G = {f4 } and P1 = {(f3 , bf4 )}, thus L1 = {f3 , bf4 }.
Let us do symbolic preprocessing:
T (L1 ) = {ab, b2 , bc , ad , bd , cd , d 2 }
L1 = {f3 , bf4 , df4 }
b2 ∈
/ L(G), bc ∈
/ L(G), d lt (f4 ) = ad, all others also ∈
/ L(G),
31 / 57
Example: Cyclic-4
Now reduction:
Convert polynomial data L1 to Macaulay Matrix M1
ab b2 bc ad bd cd d 2
df4 0 0 0 1 1 1 1
1
f3 0 1 1 0 1 0
bf4 1 1 1 0 1 0 0
32 / 57
Example: Cyclic-4
Now reduction:
Convert polynomial data L1 to Macaulay Matrix M1
ab b2 bc ad bd cd d 2
df4 0 0 0 1 1 1 1
1
f3 0 1 1 0 1 0
bf4 1 1 1 0 1 0 0
Gaussian Elimination of M1 :
2
ab b bc ad bd cd d2
df4 0 0 0 1 1 1 1
f3 1 0 1 0 −1 0 −1
bf4 0 1 0 0 2 0 1
32 / 57
Example: Cyclic-4
Convert matrix data back to polynomial structure F1 :
2
ab b bc ad bd cd d2
df4 0 0 0 1 1 1 1
f3 1 0 1 0 −1 0 −1
bf4 0 1 0 0 2 0 1
F1 = ad + bd + cd + d 2 , ab + bc − bd − d 2 , b2 + 2bd + d 2
| {z }| {z }| {z }
f5 f6 f7
33 / 57
Example: Cyclic-4
Convert matrix data back to polynomial structure F1 :
2
ab b bc ad bd cd d2
df4 0 0 0 1 1 1 1
f3 1 0 1 0 −1 0 −1
bf4 0 1 0 0 2 0 1
F1 = ad + bd + cd + d 2 , ab + bc − bd − d 2 , b2 + 2bd + d 2
| {z }| {z }| {z }
f5 f6 f7
G ← G ∪ {f7 }.
33 / 57
Example: Cyclic-4
Next round:
34 / 57
Example: Cyclic-4
Next round:
=⇒ L2 = {f2 , cf6 }
34 / 57
Example: Cyclic-4
Next round:
=⇒ L2 = {f2 , cf6 }
Symbolic preprocessing:
34 / 57
Example: Cyclic-4
Next round:
=⇒ L2 = {f2 , cf6 }
Symbolic preprocessing:
bc 2 ∈
/ L(G),
34 / 57
Example: Cyclic-4
Next round:
=⇒ L2 = {f2 , cf6 }
Symbolic preprocessing:
bc 2 ∈
/ L(G), abd = lt (bdf4 ), but also abd = lt (bf5 )!
34 / 57
Example: Cyclic-4
Next round:
=⇒ L2 = {f2 , cf6 }
Symbolic preprocessing:
bc 2 ∈
/ L(G), abd = lt (bdf4 ), but also abd = lt (bf5 )!
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 Mi .
⇒ Reuse rows that are reduced but not “in” G.
35 / 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 Mi .
⇒ Reuse rows that are reduced but not “in” G.
35 / 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 Mi .
⇒ Reuse rows that are reduced but not “in” G.
35 / 57
Interlude – Simplify
Note
36 / 57
Interlude – Simplify
Note
In our example:
Choose bf5 as reducer, not bdf4 .
36 / 57
Example: Cyclic-4
bc 2 ∈
/ L(G),
37 / 57
Example: Cyclic-4
bc 2 ∈
/ L(G), abd = lt (bf5 ),
37 / 57
Example: Cyclic-4
bc 2 ∈
/ L(G), abd = lt (bf5 ),
37 / 57
Example: Cyclic-4
bc 2 ∈
/ L(G), abd = lt (bf5 ), and so on.
37 / 57
Example: Cyclic-4
bc 2 ∈
/ L(G), abd = lt (bf5 ), and so on.
37 / 57
Improve Gaussian Elimination
38 / 57
Improve Gaussian Elimination
1 3 0 0 7 1 0
1 0 4 1 0 0 5
0 1 6 0 8 0 1
0 5 0 0 0 2 0
0 0 0 0 1 3 1
38 / 57
Improve Gaussian Elimination
1 3 0 0 7 1 0
1 0 4 1 0 0 5
0 1 6 0 8 0 1
0 5 0 0 0 2 0
0 0 0 0 1 3 1
38 / 57
Improve Gaussian Elimination
1 3 0 0 7 1 0
S-pair
1 0 4 1 0 0 5
0 1 6 0 8 0 1
S-pair
0 5 0 0 0 2 0
reducer 0 0 0 0 1 3 1
38 / 57
Improve Gaussian Elimination
1 3 0 0 7 1 0
S-pair
1 0 4 1 0 0 5
0 1 6 0 8 0 1
S-pair
0 5 0 0 0 2 0
reducer 0 0 0 0 1 3 1
38 / 57
Improve Gaussian Elimination
1 3 0 0 7 1 0
S-pair
1 0 4 1 0 0 5
0 1 6 0 8 0 1
S-pair
0 5 0 0 0 2 0
reducer 0 0 0 0 1 3 1
Idea
Do a static reordering before the Gaussian Elimination to achieve a
better initial shape. Reorder afterwards.
38 / 57
Faugère-Lachartre Idea
1 3 0 0 7 1 0
1 0 4 1 0 0 5
0 1 6 0 8 0 1
0 5 0 0 0 2 0
0 0 0 0 1 3 1
39 / 57
Faugère-Lachartre Idea
1 3 0 0 7 1 0
1 0 4 1 0 0 5
0 1 6 0 8 0 1
0 5 0 0 0 2 0
0 0 0 0 1 3 1
Pivot column
39 / 57
Faugère-Lachartre Idea
1 3 0 0 7 1 0
1 0 4 1 0 0 5
0 1 6 0 8 0 1
0 5 0 0 0 2 0
0 0 0 0 1 3 1
Pivot column
39 / 57
Faugère-Lachartre Idea
1 3 0 0 7 1 0
1 0 4 1 0 0 5
0 1 6 0 8 0 1
0 5 0 0 0 2 0
0 0 0 0 1 3 1
39 / 57
Faugère-Lachartre Idea
1 3 0 0 7 1 0
1 0 4 1 0 0 5
0 1 6 0 8 0 1
0 5 0 0 0 2 0
0 0 0 0 1 3 1
39 / 57
Faugère-Lachartre Idea
1 3 0 0 7 1 0 1 3 7 0 0 1 0
1 0 4 1 0 0 5 1 0 0 4 1 0 5
0 1 6 0 8 0 1 0 1 8 6 0 0 9
0 5 0 0 0 2 0 0 5 0 0 0 2 0
0 0 0 0 1 3 1 0 0 1 0 0 3 1
39 / 57
Faugère-Lachartre Idea
1 3 7 0 0 1 0
1 0 0 4 1 0 5
0 1 8 6 0 0 9
0 5 0 0 0 2 0
0 0 1 0 0 3 1
40 / 57
Faugère-Lachartre Idea
1 3 7 0 0 1 0
1 0 0 4 1 0 5
0 1 8 6 0 0 9
0 5 0 0 0 2 0
0 0 1 0 0 3 1
Pivot row
40 / 57
Faugère-Lachartre Idea
1 3 7 0 0 1 0
1 0 0 4 1 0 5
0 1 8 6 0 0 9
0 5 0 0 0 2 0
0 0 1 0 0 3 1
40 / 57
Faugère-Lachartre Idea
1 3 7 0 0 1 0
1 0 0 4 1 0 5
0 1 8 6 0 0 9
0 5 0 0 0 2 0
0 0 1 0 0 3 1
40 / 57
Faugère-Lachartre Idea
1 3 7 0 0 1 0 1 0 0 4 1 0 5
1 0 0 4 1 0 5 0 5 0 0 0 2 0
0 1 8 6 0 0 9 0 0 1 0 0 3 1
0 5 0 0 0 2 0 1 3 7 0 0 1 0
0 0 1 0 0 3 1 0 1 8 6 0 0 9
40 / 57
Faugère-Lachartre Idea
1 0 0 4 1 0 5
0 5 0 0 0 2 0
0 0 1 0 0 3 1
1 3 7 0 0 1 0
0 1 8 6 0 0 9
41 / 57
Faugère-Lachartre Idea
1 0 0 4 1 0 5 1 0 0 4 1 0 5
0 5 0 0 0 2 0 0 5 0 0 0 2 0
0 0 1 0 0 3 1 0 0 1 0 0 3 1
1 3 7 0 0 1 0 0 0 0 7 10 3 10
0 1 8 6 0 0 9 0 0 0 6 0 2 1
41 / 57
Faugère-Lachartre Idea
1 0 0 4 1 0 5
0 5 0 0 0 2 0
0 0 1 0 0 3 1
0 0 0 7 10 3 10
0 0 0 6 0 2 1
42 / 57
Faugère-Lachartre Idea
1 0 0 4 1 0 5 1 0 0 4 1 0 5
0 5 0 0 0 2 0 0 5 0 0 0 2 0
0 0 1 0 0 3 1 0 0 1 0 0 3 1
0 0 0 7 10 3 10 0 0 0 7 10 3 10
0 0 0 6 0 2 1 0 0 0 0 4 1 5
42 / 57
Faugère-Lachartre Idea
1 0 0 4 1 0 5 1 0 0 4 1 0 5
0 5 0 0 0 2 0 0 5 0 0 0 2 0
0 0 1 0 0 3 1 0 0 1 0 0 3 1
0 0 0 7 10 3 10 0 0 0 7 10 3 10
0 0 0 6 0 2 1 0 0 0 0 4 1 5
42 / 57
How our matrices look like
43 / 57
How our matrices look like
43 / 57
How our matrices look like
43 / 57
How our matrices look like
43 / 57
How our matrices look like (2)
44 / 57
How our matrices look like (3)
44 / 57
Hybrid Matrix Multiplication A−1 B
45 / 57
Hybrid Matrix Multiplication A−1 B
46 / 57
Reduce C to zero
47 / 57
Gaussian Elimination on D
48 / 57
New information
49 / 57
First attempts
2010 – UPMC Paris 6, INRIA PolSys Team
Jean-Charles Faugère & Sylvain Lachartre – FL
[2] Arri, A. and Perry, J. The F5 Criterion revised. Journal of Symbolic Computation,
46(2):1017–1029, June 2011. Preprint online at arxiv.org/abs/1012.3664.
[3] Ars, G. Applications des bases de Gröbner à la cryptographie. PhD thesis, Université de
Rennes I, 2005.
[4] Ars, G. and Hashemi, A. Extended F5 Criteria. Journal of Symbolic Computation, MEGA
2009 special issue, 45(12):1330–1340, 2010.
[5] Buchberger, B. Ein Algorithmus zum Auffinden der Basiselemente des Restklassenringes
nach einem nulldimensionalen Polynomideal. PhD thesis, University of Innsbruck, 1965.
[6] Buchberger, B. Ein algorithmisches Kriterium für die Lösbarkeit eines algebraischen
Gleichungssystems. Aequ. Math., 4(3):374–383, 1970.
51 / 57
References II
[9] Decker, W., Greuel, G.-M., Pfister, G., and Schönemann, H. S INGULAR 4-0-0 — A
computer algebra system for polynomial computations, 2014.
http://www.singular.uni-kl.de.
[10] Eder, C. Improving incremental signature-based Groebner bases algorithms. ACM SIGSAM
Communications in Computer Algebra, 47(1):1–13, 2013.
http://arxiv.org/abs/1201.6472.
[11] Eder, C. Predicting zero reductions in Gröbner basis computations. submitted to Journal of
Symbolc Computation, preprint at http://arxiv.org/abs/1404.0161, 2014.
[12] Eder, C. and Faugère, J.-C. A survey on signature-based Groebner basis algorithms, 2014.
http://arxiv.org/abs/1404.1774
[13] Eder, C., Gash, J., and Perry, J. Modifying Faugère’s F5 Algorithm to ensure termination.
ACM SIGSAM Communications in Computer Algebra, 45(2):70–89, 2011.
http://arxiv.org/abs/1006.0318.
[14] Eder, C. and Perry, J. F5C: A Variant of Faugère’s F5 Algorithm with reduced Gröbner
bases. Journal of Symbolic Computation, MEGA 2009 special issue, 45(12):1442–1458,
2010. dx.doi.org/10.1016/j.jsc.2010.06.019.
[15] Eder, C. and Perry, J. Signature-based Algorithms to Compute Gröbner Bases. In ISSAC
2011: Proceedings of the 2011 international symposium on Symbolic and algebraic
computation, pages 99–106, 2011.
52 / 57
References III
[16] Eder, C. and Roune, B. H. Signature Rewriting in Gröbner Basis Computation. In ISSAC
2013: Proceedings of the 2013 international symposium on Symbolic and algebraic
computation, pages 331–338, 2013.
[17] Faugère, J.-C. A new efficient algorithm for computing Gröbner bases without reduction to
zero F5. In ISSAC’02, Villeneuve d’Ascq, France, pages 75–82, July 2002. Revised version
from http://fgbrs.lip6.fr/jcf/Publications/index.html.
[18] Faugère, J.-C. and Joux, A. Algebraic Cryptanalysis of Hidden Field Equation (HFE)
Cryptosystems Using Gröbner Bases. 2729:44–60, 2003.
[19] Faugère, J.-C., Safey El Din, M., and Spaenlehauer, P.-J. Gröbner Bases of
Bihomogeneous Ideals Generated by Polynomials of Bidegree (1,1): Algorithms and
Complexity. Journal of Symbolic Computation, 46(4):406–437, 2011. Available online 4
November 2010.
[20] Faugère, J.-C., Safey El Din, M., and Verron, T. On the complexity of Computing Gröbner
Bases for Quasi-homogeneous Systems. In Proceedings of the 38th international
symposium on International symposium on symbolic and algebraic computation, ISSAC
’13, pages 189–196, New York, NY, USA, 2013. ACM.
[21] Faugère, J.-C., Spaenlehauer, P.-J. and Svartz, J. Sparse Gröbner Bases: the unmixed
Case. In Proceedings of the 39th international symposium on International symposium on
symbolic and algebraic computation, ISSAC ’14, Kobe, Japan, 2014.
53 / 57
References IV
[22] Faugère, J.-C. and Svartz, J. Solving polynomial systems globally invariant under an action
of the symmetric group and application to the equilibria of n vertices in the plane. In
Proceedings of the 37th international symposium on International symposium on symbolic
and algebraic computation, ISSAC ’12, pages 170–178, New York, NY, USA, 2012. ACM.
[23] Faugère, J.-C. and Svartz, J. Gröbner Bases of ideals invariant under a Commutative group
: the Non-modular Case. In Proceedings of the 38th international symposium on
International symposium on symbolic and algebraic computation, ISSAC ’13, pages
347–354, New York, NY, USA, 2013. ACM.
[24] Faugère, J.-C. and Rahmany, S. Solving systems of polynomial equations with symmetries
using SAGBI-Gröbner bases. In ISSAC ’09: Proceedings of the 2009 international
symposium on Symbolic and algebraic computation, ISSAC ’09, pages 151–158, New York,
NY, USA, 2009. ACM.
[27] Gao, S., Volny IV, F., and Wang, D. A new algorithm for computing Groebner bases.
http://eprint.iacr.org/2010/641, 2010.
54 / 57
References V
[28] Gao, S., Volny IV, F., and Wang, D. A new algorithm for computing Groebner bases (rev.
2011). http://www.math.clemson.edu/˜sgao/papers/gvw.pdf, 2011.
[29] Gao, S., Volny IV, F., and Wang, D. A new algorithm for computing Groebner bases (rev.
2013).
http://www.math.clemson.edu/˜sgao/papers/gvw_R130704.pdf,
2013.
[30] Gash, J. M. On efficient computation of Gröbner bases. PhD thesis, University of Indiana,
Bloomington, IN, 2008.
[33] Gerdt, V. P. and Hashemi, A. On the use of Buchberger criteria in G2V algorithm for
calculating Gröbner bases. Program. Comput. Softw., 39(2):81–90, March 2013.
[34] Gerdt, V. P., Hashemi, A., and M.-Alizadeh, B. Involutive Bases Algorithm Incorporating F5
Criterion. J. Symb. Comput., 59:1–20, 2013.
[35] Huang, L. A new conception for computing Gröbner basis and its applications.
http://arxiv.org/abs/1012.5425, 2010.
55 / 57
References VI
[37] Pan, S., Hu, Y., and Wang, B. The Termination of Algorithms for Computing Gröbner Bases.
http://arxiv.org/abs/1202.3524, 2012.
[38] Pan, S., Hu, Y., and Wang, B. The Termination of the F5 Algorithm Revisited. In ISSAC
2013: Proceedings of the 2013 international symposium on Symbolic and algebraic
computation, pages 291–298, 2013.
[39] Roune, B. H. and Stillman, M. Practical Gröbner Basis Computation. In ISSAC 2012:
Proceedings of the 2012 international symposium on Symbolic and algebraic computation,
2012.
[40] Stegers, T. Faugère’s F5 Algorithm revisited. Master’s thesis, Technische Univerität
Darmstadt, revised version 2007.
[41] Sun, Y. and Wang, D. K. A generalized criterion for signature related Gröbner basis
algorithms. In ISSAC 2011: Proceedings of the 2011 international symposium on Symbolic
and algebraic computation, pages 337–344, 2011.
[42] Sun, Y., Wang, D. K., Ma, D. X., and Zhang, Y. A signature-based algorithm for computing
Gröbner bases in solvable polynomial algebras. In ISSAC 2012: Proceedings of the 2011
international symposium on Symbolic and algebraic computation, pages 351–358, 2012.
56 / 57
References VII
[43] Volny, F. New algorithms for computing Gröbner bases. PhD thesis, Clemson University,
2011.
57 / 57