Computing Gr obner Bases a short overview Christian Eder, - - PowerPoint PPT Presentation

computing gr obner bases a short overview
SMART_READER_LITE
LIVE PREVIEW

Computing Gr obner Bases a short overview Christian Eder, - - PowerPoint PPT Presentation

Computing Gr obner Bases a short overview Christian Eder, Jean-Charles Faug` ere, Fayssal Martani, John Perry and Bjarke Hammersholt Roune Seminar of the CARAMEL Team in Nancy, France September 11, 2014 1 / 57 Preliminaries


slide-1
SLIDE 1

Computing Gr¨

  • bner Bases – a short overview

Christian Eder, Jean-Charles Faug` ere, Fayssal Martani, John Perry and Bjarke Hammersholt Roune

Seminar of the CARAMEL Team in Nancy, France

September 11, 2014

1 / 57

slide-2
SLIDE 2

Preliminaries

Conventions

◮ R = K [x1,...,xn], K field, < well-ordering on Mon(x1,...,xn) ◮ f ∈ R can be represented in a unique way by <. ⇒ Definitions as lc(f), lm(f), and lt(f) make sense. ◮ An ideal I in R is an additive subgroup of R such that for f ∈ I,

g ∈ R it holds that fg ∈ I.

◮ G = {g1,...,gs} ⊂ R is a Gr¨

  • bner basis for I = f1,...,fm

w.r.t. <

:⇐ ⇒

G ⊂ I and L<(G) = L<(I)

2 / 57

slide-3
SLIDE 3

Buchberger’s criterion

S-polynomials Let f = 0,g = 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) .

.=

λ

lt(f)f −

λ

lt(g)g.

3 / 57

slide-4
SLIDE 4

Buchberger’s criterion

S-polynomials Let f = 0,g = 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) .

.=

λ

lt(f)f −

λ

lt(g)g. Buchberger’s criterion [5] Let I = f1,...,fm be an ideal in R. A finite subset G ⊂ R is a Gr¨

  • bner basis for I if G ⊂ I and for all f,g ∈ G : spol(f,g)

G

− → 0.

3 / 57

slide-5
SLIDE 5

Buchberger’s algorithm

Input: Ideal I = f1,...,fm Output: Gr¨

  • bner basis G for I
  • 1. G ← /
  • 2. G ← G ∪{fi} for all i ∈ {1,...,m}
  • 3. Set P ← {spol(fi,fj) | fi,fj ∈ G,i > j}

4 / 57

slide-6
SLIDE 6

Buchberger’s algorithm

Input: Ideal I = f1,...,fm Output: Gr¨

  • bner basis G for I
  • 1. G ← /
  • 2. G ← G ∪{fi} for all i ∈ {1,...,m}
  • 3. Set P ← {spol(fi,fj) | fi,fj ∈ G,i > j}
  • 4. Choose p ∈ P, P ← P \{p}

4 / 57

slide-7
SLIDE 7

Buchberger’s algorithm

Input: Ideal I = f1,...,fm Output: Gr¨

  • bner basis G for I
  • 1. G ← /
  • 2. G ← G ∪{fi} for all i ∈ {1,...,m}
  • 3. Set P ← {spol(fi,fj) | fi,fj ∈ G,i > j}
  • 4. Choose p ∈ P, P ← P \{p}

(a) If p

G

− → 0 ◮ ◮ no new information

Go on with the next element in P. (b) If p

G

− → q = 0 ◮ ◮ 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¨

  • bner basis for I.

4 / 57

slide-8
SLIDE 8

How to improve computations?

◮ Modular computations (modStd et al.) ◮ Predict zero reductions (Buchberger, Gebauer-M¨

  • ller,

  • ller-Mora-Traverso, Faug`

ere.)

◮ Sort pair set (Buchberger, Giovini et al., M¨

  • ller et al.)

◮ Homogenize: d-Gr¨

  • bner bases

◮ Change of ordering (FGLM, Gr¨

  • bner Walk)

◮ Linear Algebra: Gaussian Elimination (Lazard, Faug`

ere)

◮ Sparse Gr¨

  • bner Bases: Use sparsity and exploit Newton polygons

(Faug` ere, Spaenlehauer, Svartz)

◮ ...

5 / 57

slide-9
SLIDE 9

How to improve computations?

◮ Predict zero reductions (Buchberger, Gebauer-M¨

  • ller,

  • ller-Mora-Traverso, Faug`

ere.)

◮ Linear Algebra: Gaussian Elimination (Lazard, Faug`

ere)

5 / 57

slide-10
SLIDE 10

1

Predicting zero reductions

2

Fast linear algebra for computing Gr¨

  • bner bases

6 / 57

slide-11
SLIDE 11

How to detect zero reductions in advance?

Let I = g1,g2 ∈ Q[x,y,z] and let < denote the reverse lexicographical

  • rdering. Let

g1 = xy− z2, g2 = y2 − z2

7 / 57

slide-12
SLIDE 12

How to detect zero reductions in advance?

Let I = g1,g2 ∈ Q[x,y,z] and let < denote the reverse lexicographical

  • rdering. Let

g1 = xy− z2, g2 = y2 − z2 spol(g2,g1) = xg2 − yg1 = xy2 − xz2 − xy2 + yz2

= −xz2 + yz2. = ⇒ g3 = xz2 − yz2.

7 / 57

slide-13
SLIDE 13

How to detect zero reductions in advance?

Let I = g1,g2 ∈ Q[x,y,z] and let < denote the reverse lexicographical

  • rdering. Let

g1 = xy− z2, g2 = y2 − z2 spol(g2,g1) = xg2 − yg1 = xy2 − xz2 − xy2 + yz2

= −xz2 + yz2. = ⇒ g3 = xz2 − yz2.

spol(g3,g1) = xyz2 − y2z2 − xyz2 + z4 = −y2z2 + z4.

7 / 57

slide-14
SLIDE 14

How to detect zero reductions in advance?

Let I = g1,g2 ∈ Q[x,y,z] and let < denote the reverse lexicographical

  • rdering. Let

g1 = xy− z2, g2 = y2 − z2 spol(g2,g1) = xg2 − yg1 = xy2 − xz2 − xy2 + yz2

= −xz2 + yz2. = ⇒ g3 = xz2 − yz2.

spol(g3,g1) = xyz2 − y2z2 − xyz2 + z4 = −y2z2 + z4. We can reduce further using z2g2:

−y2z2 + z4 + y2z2 − z4 = 0.

7 / 57

slide-15
SLIDE 15

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

slide-16
SLIDE 16

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 xz2 − yz2

− xz2

y2 − z2

= lt(g2)g3 − lt(g3)g2 = lt(g2)lot(g3)− lt(g3)lot(g2)

8 / 57

slide-17
SLIDE 17

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 xz2 − yz2

− xz2

y2 − z2

= lt(g2)g3 − lt(g3)g2 = lt(g2)lot(g3)− lt(g3)lot(g2)

For all u ∈ support(lot(g3)) we can reduce with ug2:

= ⇒lt(g2)lot(g3)− g2lot(g3)− lt(g3)lot(g2) =− lot(g2)lot(g3)− lt(g3)lot(g2) =− g3lot(g2).

8 / 57

slide-18
SLIDE 18

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 xz2 − yz2

− xz2

y2 − z2

= lt(g2)g3 − lt(g3)g2 = lt(g2)lot(g3)− lt(g3)lot(g2)

For all u ∈ support(lot(g3)) we can reduce with ug2:

= ⇒lt(g2)lot(g3)− g2lot(g3)− lt(g3)lot(g2) =− lot(g2)lot(g3)− lt(g3)lot(g2) =− g3lot(g2).

So we can reduce this to zero by vg3 for all v ∈ support(lot(g2)).

8 / 57

slide-19
SLIDE 19

Buchberger’s criteria

Product criterion [6, 7] If lcm(lt(f),lt(g)) = lt(f)lt(g) then spol(f,g)

{f,g}

− − − → 0.

9 / 57

slide-20
SLIDE 20

Buchberger’s criteria

Product criterion [6, 7] If lcm(lt(f),lt(g)) = lt(f)lt(g) then spol(f,g)

{f,g}

− − − → 0.

Couldn’t we remove spol(g3,g2) in a different way?

9 / 57

slide-21
SLIDE 21

Buchberger’s criteria

Product criterion [6, 7] If lcm(lt(f),lt(g)) = lt(f)lt(g) then spol(f,g)

{f,g}

− − − → 0.

Couldn’t we remove spol(g3,g2) in a different way? lt(g1) = xy |xy2z2 = lcm(lt(g3),lt(g2))

9 / 57

slide-22
SLIDE 22

Buchberger’s criteria

Product criterion [6, 7] If lcm(lt(f),lt(g)) = lt(f)lt(g) then spol(f,g)

{f,g}

− − − → 0.

Couldn’t we remove spol(g3,g2) in a different way? lt(g1) = xy |xy2z2 = lcm(lt(g3),lt(g2))

= ⇒ We can rewrite spol(g3,g2):

spol(g3,g2) = y spol(g3,g1)

  • G

− →0 −z2 spol(g2,g1)

  • G

− →−g3 = y

  • yg3 − z2g1
  • −z2 (xg2 − yg1)

9 / 57

slide-23
SLIDE 23

Buchberger’s criteria

Product criterion [6, 7] If lcm(lt(f),lt(g)) = lt(f)lt(g) then spol(f,g)

{f,g}

− − − → 0.

Couldn’t we remove spol(g3,g2) in a different way? lt(g1) = xy |xy2z2 = lcm(lt(g3),lt(g2))

= ⇒ We can rewrite spol(g3,g2):

spol(g3,g2) = y spol(g3,g1)

  • G

− →0 −z2 spol(g2,g1)

  • G

− →−g3 = y

  • yg3 − z2g1
  • −z2 (xg2 − yg1)

Standard representations of spol(g2,g1) and spol(g3,g1)

= ⇒ Standard representation of spol(g3,g2).

9 / 57

slide-24
SLIDE 24

Buchberger’s criteria

Chain criterion [8] Let f,g,h ∈ R, G ⊂ R finite. If

  • 1. lt(h) | lcm(lt(f),lt(g)), and
  • 2. spol(f,h) and spol(h,g) have a standard representation w.r.t. G

respectively, then spol(f,g) has a standard representation w.r.t. G.

10 / 57

slide-25
SLIDE 25

Buchberger’s criteria

Chain criterion [8] Let f,g,h ∈ R, G ⊂ R finite. If

  • 1. lt(h) | lcm(lt(f),lt(g)), and
  • 2. spol(f,h) and spol(h,g) have a standard representation w.r.t. G

respectively, then spol(f,g) has a standard representation w.r.t. G. Note Do not remove too much information! If λ = 1 and spol(f,g) = λspol(f,h)+σspol(h,g), then we can remove spol(f,g) or spol(f,h) but not both!

10 / 57

slide-26
SLIDE 26

Buchberger’s criteria

Chain criterion [8] Let f,g,h ∈ R, G ⊂ R finite. If

  • 1. lt(h) | lcm(lt(f),lt(g)), and
  • 2. spol(f,h) and spol(h,g) have a standard representation w.r.t. G

respectively, then spol(f,g) has a standard representation w.r.t. G. Note Do not remove too much information! If λ = 1 and spol(f,g) = λspol(f,h)+σspol(h,g), then we can remove spol(f,g) or spol(f,h) but not both! How to combine Product and Chain criterion?

10 / 57

slide-27
SLIDE 27

Gebauer-M¨

  • ller installation [32]

We add a new element h to G and generate new pairs P′ := {(f,h) | f ∈ G}.

11 / 57

slide-28
SLIDE 28

Gebauer-M¨

  • ller 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

slide-29
SLIDE 29

Gebauer-M¨

  • ller 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

slide-30
SLIDE 30

Gebauer-M¨

  • ller 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

slide-31
SLIDE 31

Gebauer-M¨

  • ller 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

slide-32
SLIDE 32

Gebauer-M¨

  • ller 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

slide-33
SLIDE 33

Can we do even better?

In our example we still need to consider spol(g3,g1)

G

− → 0.

12 / 57

slide-34
SLIDE 34

Can we do even better?

In our example we still need to consider spol(g3,g1)

G

− → 0.

How to get rid of this useless computation?

12 / 57

slide-35
SLIDE 35

Can we do even better?

In our example we still need to consider spol(g3,g1)

G

− → 0.

How to get rid of this useless computation? Use more structure of I =

⇒ Signatures

12 / 57

slide-36
SLIDE 36

Signatures

Let I = f1,...,fm ⊂ R. Idea: Give each f ∈ I a bit more structure:

13 / 57

slide-37
SLIDE 37

Signatures

Let I = f1,...,fm ⊂ R. Idea: Give each f ∈ I a bit more structure:

  • 1. Let Rm be generated by e1,...,em and let ≺ be a compatible monomial
  • rder on the monomials of Rm.

13 / 57

slide-38
SLIDE 38

Signatures

Let I = f1,...,fm ⊂ R. Idea: Give each f ∈ I a bit more structure:

  • 1. Let Rm be generated by e1,...,em and let ≺ be a compatible monomial
  • rder on the monomials of Rm.
  • 2. Let α → α : Rm → R such that ei = fi for all i.

13 / 57

slide-39
SLIDE 39

Signatures

Let I = f1,...,fm ⊂ R. Idea: Give each f ∈ I a bit more structure:

  • 1. Let Rm be generated by e1,...,em and let ≺ be a compatible monomial
  • rder on the monomials of Rm.
  • 2. Let α → α : Rm → R such that ei = fi for all i.
  • 3. Each f ∈ I can be represented via some α ∈ Rm: f = α

13 / 57

slide-40
SLIDE 40

Signatures

Let I = f1,...,fm ⊂ R. Idea: Give each f ∈ I a bit more structure:

  • 1. Let Rm be generated by e1,...,em and let ≺ be a compatible monomial
  • rder on the monomials of Rm.
  • 2. Let α → α : Rm → R such that ei = fi for all i.
  • 3. Each f ∈ I can be represented via some α ∈ Rm: f = α
  • 4. A signature of f is given by s(f) = lt≺(α) where f = α.

13 / 57

slide-41
SLIDE 41

Signatures

Let I = f1,...,fm ⊂ R. Idea: Give each f ∈ I a bit more structure:

  • 1. Let Rm be generated by e1,...,em and let ≺ be a compatible monomial
  • rder on the monomials of Rm.
  • 2. Let α → α : Rm → R such that ei = fi for all i.
  • 3. Each f ∈ I can be represented via some α ∈ Rm: f = α
  • 4. A signature of f is given by s(f) = lt≺(α) where f = α.
  • 5. An element α ∈ Rm such that α = 0 is called a syzygy.

13 / 57

slide-42
SLIDE 42

Our example again – with signatures and ≺pot

g1 = xy − z2, s(g1) = e1, g2 = y2 − z2, s(g2) = e2.

14 / 57

slide-43
SLIDE 43

Our example again – with signatures and ≺pot

g1 = xy − z2, s(g1) = e1, g2 = y2 − z2, s(g2) = e2. g3 = spol(g2,g1) = xg2 − yg1

⇒ s(g3) = x s(g2) = xe2.

14 / 57

slide-44
SLIDE 44

Our example again – with signatures and ≺pot

g1 = xy − z2, s(g1) = e1, g2 = y2 − z2, s(g2) = e2. g3 = spol(g2,g1) = xg2 − yg1

⇒ s(g3) = x s(g2) = xe2.

spol(g3,g1) = yg3 − z2g1

⇒ s(spol(g3,g1)) = y s(g3) = xye2.

14 / 57

slide-45
SLIDE 45

Our example again – with signatures and ≺pot

g1 = xy − z2, s(g1) = e1, g2 = y2 − z2, s(g2) = e2. g3 = spol(g2,g1) = xg2 − yg1

⇒ s(g3) = x s(g2) = xe2.

spol(g3,g1) = yg3 − z2g1

⇒ s(spol(g3,g1)) = y s(g3) = xye2.

Note that s(spol(g3,g1)) = xye2 and lm(g1) = xy.

14 / 57

slide-46
SLIDE 46

Think in the module

α ∈ Rm = ⇒ polynomial α with lt(α), signature s(α) = lt(α)

15 / 57

slide-47
SLIDE 47

Think in the module

α ∈ Rm = ⇒ polynomial α with lt(α), signature s(α) = lt(α)

S-pairs/S-polynomials: spol

  • α,β
  • = aα − bβ =

⇒ spair(α,β) = aα − bβ

15 / 57

slide-48
SLIDE 48

Think in the module

α ∈ Rm = ⇒ polynomial α with lt(α), signature s(α) = lt(α)

S-pairs/S-polynomials: spol

  • α,β
  • = aα − bβ =

⇒ spair(α,β) = aα − bβ s-reductions: γ − dδ = ⇒ γ − dδ

15 / 57

slide-49
SLIDE 49

Think in the module

α ∈ Rm = ⇒ polynomial α with lt(α), signature s(α) = lt(α)

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

slide-50
SLIDE 50

Signature-based criteria

s(α) = s(β) = ⇒ Compute 1, remove 1.

16 / 57

slide-51
SLIDE 51

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

slide-52
SLIDE 52

Signature-based criteria

S-pairs in signature T

17 / 57

slide-53
SLIDE 53

Signature-based criteria

S-pairs in signature T

What are all possible configurations to reach signature T?

17 / 57

slide-54
SLIDE 54

Signature-based criteria

S-pairs in signature T

What are all possible configurations to reach signature T?

RT =

  • aα | α handled by the algorithm and s(aα) = T
  • 17 / 57
slide-55
SLIDE 55

Signature-based criteria

S-pairs in signature T

What are all possible configurations to reach signature T?

RT =

  • aα | α handled by the algorithm and s(aα) = T
  • Define an order on RT

and choose the maximal element.

17 / 57

slide-56
SLIDE 56

Special cases

RT =

  • aα | α handled by the algorithm and s(aα) = T
  • 18 / 57
slide-57
SLIDE 57

Special cases

RT =

  • aα | α handled by the algorithm and s(aα) = T
  • Choose bβ to be an element of RT maximal w.r.t. an order .

18 / 57

slide-58
SLIDE 58

Special cases

RT =

  • aα | α handled by the algorithm and s(aα) = T
  • Choose bβ to be an element of RT maximal w.r.t. an order .

1. If bβ is a syzygy

= ⇒

Go on to next signature.

18 / 57

slide-59
SLIDE 59

Special cases

RT =

  • aα | α handled by the algorithm and s(aα) = T
  • Choose bβ to be an element of RT 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

slide-60
SLIDE 60

Special cases

RT =

  • aα | α handled by the algorithm and s(aα) = T
  • Choose bβ to be an element of RT 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(g3,g1)) = xye2

g1 = xy − z2 g2 = y2 − z2

  • ⇒ psyz(g2,g1) = g1e2 − g2e1 = xye2 +...

18 / 57

slide-61
SLIDE 61

TRB [35] (2010) GBGC [41] (2011) SBA [16] (2013)

F5 [17] (2002)

F5” [17] (2002) Extended F5 Criteria [4] (2010) F5GEN [37, 38] (2013) F5/2 [18] (2003) F5B [3] (2005) F5t [30, 31] (2009) F5+ [13] (2011) SAGBI Gr¨

  • bner

bases [24] (2009) globally invariant (group action) [22] (2012) invariant (group action) [23] (2013) MatrixF5 [18] (2003) F4/5 [1] (2010) bihomogeneous case [19] (2010) quasi- homogeneous case [20] (2013) involutive bases [33, 34] (2013) AP [2] (2009) GVW(HS) [28, 43] (2011)

  • n

solvable alge- bras [42] (2012) SB [39] (2012) SSG [25] (2012) G2V [26] (2010) GVW(v1) [27] (2010) iG2V [10] (2012) F5’ [17] (2002) F5R [40] (2005) F5C [14] (2009) F5A [15] (2011) iF5A [10] (2012) iF5C [10] (2012)

Modifications not specific to signature-based Gr¨

  • bner ba-

sis algorithms Variants covered by the survey

19 / 57

slide-62
SLIDE 62

# zero reductions (Singular-4-0-0, F32003)

Benchmark STD SBA ≺pot SBA ≺d-pot SBA ≺lt cyclic-8 4,284 243 243 671 cyclic-8-h 5,843 243 243 671 eco-11 3,476 749 749 eco-11-h 5,429 502 502 749 katsura-11 3,933 348 katsura-11-h 3,933 348 noon-9 25,508 682 noon-9-h 25,508 682 Random(11,2,2) 6,292 590 HRandom(11,2,2) 6,292 590 Random(12,2,2) 13,576 1,083 HRandom(12,2,2) 13,576 1,083

20 / 57

slide-63
SLIDE 63

Time in seconds (Singular-4-0-0, F32003)

Benchmark STD SBA ≺pot SBA ≺d-pot SBA ≺lt 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

slide-64
SLIDE 64

Can we combine both attempts?

Buchberger’s Product and Chain criterion can be combined with the Rewrite criterion [29, 33, 11]:

22 / 57

slide-65
SLIDE 65

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

slide-66
SLIDE 66

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

slide-67
SLIDE 67

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

slide-68
SLIDE 68

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) S-pair fulfilling Product criterion not detected by Rewrite criterion

  • Add one corresponding syzygy.

(e.g. SBA in Singular)

22 / 57

slide-69
SLIDE 69

Experimental results

Implementation done in Singular [9]

Benchmark STD SBA ≺pot SBA ≺lt ZR ZR ZR ZR / PC cyclic-8 4284 243 671 671 / 0 cyclic-8-h 5843 243 671 671 / 0 eco-11 3476 749 749 / 0 eco-11-h 5429 502 749 718 / 0 katsura-11 3933 348 304 / 0 katsura-11-h 3933 348 304 / 0 noon-9 25508 682 646 / 0 noon-9-h 25508 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

slide-70
SLIDE 70

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

slide-71
SLIDE 71

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

slide-72
SLIDE 72

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

slide-73
SLIDE 73

1

Predicting zero reductions

2

Fast linear algebra for computing Gr¨

  • bner bases

25 / 57

slide-74
SLIDE 74

Buchberger’s algorithm - revisited

Input: Ideal I = f1,...,fm Output: Gr¨

  • bner basis G for I
  • 1. G ← /
  • 2. G ← G ∪{fi} for all i ∈ {1,...,m}
  • 3. Set P ← {spol(fi,fj) | fi,fj ∈ G,i > j}
  • 4. Choose p ∈ P, P ← P \{p}

(a) If p

G

− → 0 ◮ ◮ no new information

Go on with the next element in P. (b) If p

G

− → q = 0 ◮ ◮ 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¨

  • bner basis for I.

26 / 57

slide-75
SLIDE 75

Faug` ere’s F4 algorithm

Input: Ideal I = f1,...,fm Output: Gr¨

  • bner basis G for I
  • 1. G ← /
  • 2. G ← G ∪{fi} for all i ∈ {1,...,m}
  • 3. Set P ← {(af,bg) | f,g ∈ G}
  • 4. d ← 0
  • 5. while P = /

0:

27 / 57

slide-76
SLIDE 76

Faug` ere’s F4 algorithm

Input: Ideal I = f1,...,fm Output: Gr¨

  • bner basis G for I
  • 1. G ← /
  • 2. G ← G ∪{fi} 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) 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:

◮ If lt(h) / ∈ L(G) (all other h are “useless”): ⊲ P ← P ∪{new pairs with h} ⊲ G ← G ∪{h}

  • 6. Return G

27 / 57

slide-77
SLIDE 77

Differences to Buchberger

  • 1. Select a subset Pd 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 Pd at once:

Reduce a subset of R by a subset of R

28 / 57

slide-78
SLIDE 78

Differences to Buchberger

  • 1. Select a subset Pd 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 Pd 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

slide-79
SLIDE 79

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

slide-80
SLIDE 80

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

slide-81
SLIDE 81

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

slide-82
SLIDE 82

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

slide-83
SLIDE 83

Example: Cyclic-4

R = Q[a,b,c,d], < denotes DRL and we use the normal selection strategy

for Select(P). I = f1,...,f4, where f1 = abcd − 1, f2 = abc + abd + acd + bcd, f3 = ab + bc + ad + cd, f4 = a+ b + c + d.

31 / 57

slide-84
SLIDE 84

Example: Cyclic-4

R = Q[a,b,c,d], < denotes DRL and we use the normal selection strategy

for Select(P). I = f1,...,f4, 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

slide-85
SLIDE 85

Example: Cyclic-4

R = Q[a,b,c,d], < denotes DRL and we use the normal selection strategy

for Select(P). I = f1,...,f4, 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

slide-86
SLIDE 86

Example: Cyclic-4

R = Q[a,b,c,d], < denotes DRL and we use the normal selection strategy

for Select(P). I = f1,...,f4, 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

slide-87
SLIDE 87

Example: Cyclic-4

R = Q[a,b,c,d], < denotes DRL and we use the normal selection strategy

for Select(P). I = f1,...,f4, 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

slide-88
SLIDE 88

Example: Cyclic-4

R = Q[a,b,c,d], < denotes DRL and we use the normal selection strategy

for Select(P). I = f1,...,f4, 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,d2}

L1

= {f3,bf4,df4}

b2 /

∈ L(G), bc / ∈ L(G), d lt(f4) = ad,

31 / 57

slide-89
SLIDE 89

Example: Cyclic-4

R = Q[a,b,c,d], < denotes DRL and we use the normal selection strategy

for Select(P). I = f1,...,f4, 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,d2}

L1

= {f3,bf4,df4}

b2 /

∈ L(G), bc / ∈ L(G), d lt(f4) = ad, all others also / ∈ L(G),

31 / 57

slide-90
SLIDE 90

Example: Cyclic-4

Now reduction: Convert polynomial data L1 to Macaulay Matrix M1 1 1 1 1 1 1 1 1 1 1 1 1

       

ab b2 bc ad bd cd d2 df4 f3 bf4

32 / 57

slide-91
SLIDE 91

Example: Cyclic-4

Now reduction: Convert polynomial data L1 to Macaulay Matrix M1 1 1 1 1 1 1 1 1 1 1 1 1

       

ab b2 bc ad bd cd d2 df4 f3 bf4 Gaussian Elimination of M1: 1 1 1 1 1 1

−1 −1

1 2 1

         

ab b2 bc ad bd cd d2 df4 f3 bf4

32 / 57

slide-92
SLIDE 92

Example: Cyclic-4

Convert matrix data back to polynomial structure F1: 1 1 1 1 1 1

−1 −1

1 2 1

         

ab b2 bc ad bd cd d2 df4 f3 bf4 F1 =

  ad + bd + cd + d2

  • f5

,ab + bc − bd − d2

  • f6

,b2 + 2bd + d2

  • f7

  

33 / 57

slide-93
SLIDE 93

Example: Cyclic-4

Convert matrix data back to polynomial structure F1: 1 1 1 1 1 1

−1 −1

1 2 1

         

ab b2 bc ad bd cd d2 df4 f3 bf4 F1 =

  ad + bd + cd + d2

  • f5

,ab + bc − bd − d2

  • f6

,b2 + 2bd + d2

  • f7

  

lt(f5),lt(f6) ∈ L(G), so G ← G∪{f7}.

33 / 57

slide-94
SLIDE 94

Example: Cyclic-4

Next round: G = {f4,f7}, P2 = {(f2,bcf4)}, L2 = {f2,bcf4}.

34 / 57

slide-95
SLIDE 95

Example: Cyclic-4

Next round: G = {f4,f7}, P2 = {(f2,bcf4)}, L2 = {f2,bcf4}. We can simplify the computations: lt(bcf4) = abc = lt(cf6). f6 possibly better reduced than f4.(f6 is not in G!)

= ⇒ L2 = {f2,cf6}

34 / 57

slide-96
SLIDE 96

Example: Cyclic-4

Next round: G = {f4,f7}, P2 = {(f2,bcf4)}, L2 = {f2,bcf4}. We can simplify the computations: lt(bcf4) = abc = lt(cf6). f6 possibly better reduced than f4.(f6 is not in G!)

= ⇒ L2 = {f2,cf6}

Symbolic preprocessing: T(L2)

= {abc,bc2,abd,acd,bcd,cd2}

L2

= {f2,cf6, }

34 / 57

slide-97
SLIDE 97

Example: Cyclic-4

Next round: G = {f4,f7}, P2 = {(f2,bcf4)}, L2 = {f2,bcf4}. We can simplify the computations: lt(bcf4) = abc = lt(cf6). f6 possibly better reduced than f4.(f6 is not in G!)

= ⇒ L2 = {f2,cf6}

Symbolic preprocessing: T(L2)

= {abc,bc2,abd,acd,bcd,cd2}

L2

= {f2,cf6, }

bc2 /

∈ L(G),

34 / 57

slide-98
SLIDE 98

Example: Cyclic-4

Next round: G = {f4,f7}, P2 = {(f2,bcf4)}, L2 = {f2,bcf4}. We can simplify the computations: lt(bcf4) = abc = lt(cf6). f6 possibly better reduced than f4.(f6 is not in G!)

= ⇒ L2 = {f2,cf6}

Symbolic preprocessing: T(L2)

= {abc,bc2,abd,acd,bcd,cd2}

L2

= {f2,cf6, }

bc2 /

∈ L(G), abd = lt(bdf4), but also abd = lt(bf5)!

34 / 57

slide-99
SLIDE 99

Example: Cyclic-4

Next round: G = {f4,f7}, P2 = {(f2,bcf4)}, L2 = {f2,bcf4}. We can simplify the computations: lt(bcf4) = abc = lt(cf6). f6 possibly better reduced than f4.(f6 is not in G!)

= ⇒ L2 = {f2,cf6}

Symbolic preprocessing: T(L2)

= {abc,bc2,abd,acd,bcd,cd2}

L2

= {f2,cf6, }

bc2 /

∈ L(G), abd = lt(bdf4), but also abd = lt(bf5)!

Let us investigate this in more detail.

34 / 57

slide-100
SLIDE 100

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

slide-101
SLIDE 101

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.

Input: monomial u, polynomial f, list F of old Fi (from Mi after Gauss. Elim.) Output: product v · g replacing u · f

35 / 57

slide-102
SLIDE 102

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.

Input: monomial u, polynomial f, list F of old Fi (from Mi after Gauss. Elim.) Output: product v · g replacing u · f

  • 1. d ← current index in the F4 algorithm
  • 2. D(u) ← {list of divisors of u}
  • 3. for w ∈ D(u)

(a) if ∃j ∈ {1,...,d − 1} such that w · f corresponds to row in Mj

⊲ ∃1 g ∈ Fj such that lt(g) = lt(w · f) ⊲ if w = u: Return Simplify u

w ,g,F

  • (recursive call)

⊲ else: Return 1· g

  • 4. else: Return u · f

35 / 57

slide-103
SLIDE 103

Interlude – Simplify

Note

◮ Tries to reuse all rows from old matrices. ⇒ We need to keep them in memory. ◮ We also simplify generators of S-pairs, as we have done

in our example: (f2,bcf4) =

⇒ (f2,cf6). ◮ One can also choose “better” reducers by other properties, not

  • nly “last reduced one”.

◮ Without Simplify the F4 algorithm is rather slow.

36 / 57

slide-104
SLIDE 104

Interlude – Simplify

Note

◮ Tries to reuse all rows from old matrices. ⇒ We need to keep them in memory. ◮ We also simplify generators of S-pairs, as we have done

in our example: (f2,bcf4) =

⇒ (f2,cf6). ◮ One can also choose “better” reducers by other properties, not

  • nly “last reduced one”.

◮ Without Simplify the F4 algorithm is rather slow.

In our example: Choose bf5 as reducer, not bdf4.

36 / 57

slide-105
SLIDE 105

Example: Cyclic-4

Symbolic preprocessing - now with simplify: T(L2)

= {abc,bc2,abd,acd,bcd,cd2 }

L2

= {f2,cf6 }

bc2 /

∈ L(G),

37 / 57

slide-106
SLIDE 106

Example: Cyclic-4

Symbolic preprocessing - now with simplify: T(L2)

= {abc,bc2,abd,acd,bcd,cd2 }

L2

= {f2,cf6 }

bc2 /

∈ L(G), abd = lt(bf5),

37 / 57

slide-107
SLIDE 107

Example: Cyclic-4

Symbolic preprocessing - now with simplify: T(L2)

= {abc,bc2,abd,acd,bcd,cd2,b2d,c2d }

L2

= {f2,cf6,bf5 }

bc2 /

∈ L(G), abd = lt(bf5),

37 / 57

slide-108
SLIDE 108

Example: Cyclic-4

Symbolic preprocessing - now with simplify: T(L2)

= {abc,bc2,abd,acd,bcd,cd2,b2d,c2d,...}

L2

= {f2,cf6,bf5,cf5,df7}

bc2 /

∈ L(G), abd = lt(bf5), and so on.

37 / 57

slide-109
SLIDE 109

Example: Cyclic-4

Symbolic preprocessing - now with simplify: T(L2)

= {abc,bc2,abd,acd,bcd,cd2,b2d,c2d,...}

L2

= {f2,cf6,bf5,cf5,df7}

bc2 /

∈ L(G), abd = lt(bf5), and so on.

Now try to exploit the special structure of the Macaulay matrices.

37 / 57

slide-110
SLIDE 110

Improve Gaussian Elimination

Use Linear Algebra for reduction steps in GB computations.

38 / 57

slide-111
SLIDE 111

Improve Gaussian Elimination

Use Linear Algebra for reduction steps in GB computations. 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

slide-112
SLIDE 112

Improve Gaussian Elimination

Use Linear Algebra for reduction steps in GB computations. 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

Knowledge of underlying GB structure

38 / 57

slide-113
SLIDE 113

Improve Gaussian Elimination

Use Linear Algebra for reduction steps in GB computations. 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

S-pair S-pair reducer Knowledge of underlying GB structure

38 / 57

slide-114
SLIDE 114

Improve Gaussian Elimination

Use Linear Algebra for reduction steps in GB computations. 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

S-pair S-pair reducer Knowledge of underlying GB structure

38 / 57

slide-115
SLIDE 115

Improve Gaussian Elimination

Use Linear Algebra for reduction steps in GB computations. 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

S-pair S-pair reducer Knowledge of underlying GB structure

Idea Do a static reordering before the Gaussian Elimination to achieve a better initial shape. Reorder afterwards.

38 / 57

slide-116
SLIDE 116

Faug` ere-Lachartre Idea

1st step: Sort pivot and non-pivot columns 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

slide-117
SLIDE 117

Faug` ere-Lachartre Idea

1st step: Sort pivot and non-pivot columns 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

slide-118
SLIDE 118

Faug` ere-Lachartre Idea

1st step: Sort pivot and non-pivot columns 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

slide-119
SLIDE 119

Faug` ere-Lachartre Idea

1st step: Sort pivot and non-pivot columns 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 Non-Pivot column

39 / 57

slide-120
SLIDE 120

Faug` ere-Lachartre Idea

1st step: Sort pivot and non-pivot columns 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 Non-Pivot column

39 / 57

slide-121
SLIDE 121

Faug` ere-Lachartre Idea

1st step: Sort pivot and non-pivot columns 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 Non-Pivot column

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

39 / 57

slide-122
SLIDE 122

Faug` ere-Lachartre Idea

2nd step: Sort pivot and non-pivot rows 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

slide-123
SLIDE 123

Faug` ere-Lachartre Idea

2nd step: Sort pivot and non-pivot rows 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

slide-124
SLIDE 124

Faug` ere-Lachartre Idea

2nd step: Sort pivot and non-pivot rows 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 Non-Pivot row

40 / 57

slide-125
SLIDE 125

Faug` ere-Lachartre Idea

2nd step: Sort pivot and non-pivot rows 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 Non-Pivot row

40 / 57

slide-126
SLIDE 126

Faug` ere-Lachartre Idea

2nd step: Sort pivot and non-pivot rows 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 Non-Pivot row

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

40 / 57

slide-127
SLIDE 127

Faug` ere-Lachartre Idea

3rd step: Reduce lower left part to zero 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

slide-128
SLIDE 128

Faug` ere-Lachartre Idea

3rd step: Reduce lower left part to zero 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 1 0 0 4 1 5 0 5 0 0 2 0 0 1 0 3 1 0 0 0 7 10 3 10 0 0 0 6 2 1

41 / 57

slide-129
SLIDE 129

Faug` ere-Lachartre Idea

4th step: Reduce lower right part 1 0 0 4 1 5 0 5 0 0 2 0 0 1 0 3 1 0 0 0 7 10 3 10 0 0 0 6 2 1

42 / 57

slide-130
SLIDE 130

Faug` ere-Lachartre Idea

4th step: Reduce lower right part 1 0 0 4 1 5 0 5 0 0 2 0 0 1 0 3 1 0 0 0 7 10 3 10 0 0 0 6 2 1 1 0 0 4 1 5 0 5 0 0 2 0 0 1 0 3 1 0 0 0 7 10 3 10 0 0 0 0 4 1 5

42 / 57

slide-131
SLIDE 131

Faug` ere-Lachartre Idea

4th step: Reduce lower right part 1 0 0 4 1 5 0 5 0 0 2 0 0 1 0 3 1 0 0 0 7 10 3 10 0 0 0 6 2 1 1 0 0 4 1 5 0 5 0 0 2 0 0 1 0 3 1 0 0 0 7 10 3 10 0 0 0 0 4 1 5 5th step: Remap columns of lower right part

42 / 57

slide-132
SLIDE 132

How our matrices look like

Some data about the matrix:

◮ F4 computation of homogeneous KATSURA-12, degree 6 matrix

43 / 57

slide-133
SLIDE 133

How our matrices look like

Some data about the matrix:

◮ F4 computation of homogeneous KATSURA-12, degree 6 matrix ◮ Size 137MB

43 / 57

slide-134
SLIDE 134

How our matrices look like

Some data about the matrix:

◮ F4 computation of homogeneous KATSURA-12, degree 6 matrix ◮ Size 137MB ◮ 24,006,869 nonzero elements (density: 5%)

43 / 57

slide-135
SLIDE 135

How our matrices look like

Some data about the matrix:

◮ F4 computation of homogeneous KATSURA-12, degree 6 matrix ◮ Size 137MB ◮ 24,006,869 nonzero elements (density: 5%) ◮ Dimensions:

full matrix: 21,182

×

22,207 upper-left: 17,915

×

17,915 lower-left: 3,267

×

17,915 upper-right: 17,915

×

4,292 lower-right: 3,267

×

4,292

43 / 57

slide-136
SLIDE 136

How our matrices look like (2)

44 / 57

slide-137
SLIDE 137

How our matrices look like (3)

44 / 57

slide-138
SLIDE 138

Hybrid Matrix Multiplication A−1B

45 / 57

slide-139
SLIDE 139

Hybrid Matrix Multiplication A−1B

46 / 57

slide-140
SLIDE 140

Reduce C to zero

47 / 57

slide-141
SLIDE 141

Gaussian Elimination on D

48 / 57

slide-142
SLIDE 142

New information

49 / 57

slide-143
SLIDE 143

First attempts

2010 – UPMC Paris 6, INRIA PolSys Team Jean-Charles Faug` ere & Sylvain Lachartre – FL 2011 – University of Kaiserslautern Bradford Hovinen – LELA

https://github.com/Singular/LELA

2012 – UPMC Paris 6, INRIA PolSys Team Fayssal Martani – new implementation in LELA

https://github.com/martani/LELA

2012-2013 – University of Kaiserslautern Bjarke Hammersholt Roune – MathicGB

https://github.com/broune/mathicgb

2012-2014 – University of Passau Severin Neumann – parallelGBC

https://github.com/svrnm/parallelGBC

50 / 57

slide-144
SLIDE 144

References I

[1] Albrecht, M. and Perry, J. F4/5. http://arxiv.org/abs/1006.4933, 2010. [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 `

a la cryptographie. PhD thesis, Universit´ e 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¨ ur die L¨

  • sbarkeit eines algebraischen
  • Gleichungssystems. Aequ. Math., 4(3):374–383, 1970.

[7] Buchberger, B. A criterion for detecting unnecessary reductions in the construction of Gr¨

  • bner bases. In EUROSAM ’79, An International Symposium on Symbolic and Algebraic

Manipulation, volume 72 of Lecture Notes in Computer Science, pages 3–21. Springer, 1979. [8] Buchberger, B. Gr¨

  • bner Bases: An Algorithmic Method in Polynomial Ideal Theory. pages

184–232, 1985.

51 / 57

slide-145
SLIDE 145

References II

[9] Decker, W., Greuel, G.-M., Pfister, G., and Sch¨

  • nemann, H. SINGULAR 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` ere, 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` ere’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` ere’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

slide-146
SLIDE 146

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` ere, 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` ere, J.-C. and Joux, A. Algebraic Cryptanalysis of Hidden Field Equation (HFE) Cryptosystems Using Gr¨

  • bner Bases. 2729:44–60, 2003.

[19] Faug` ere, 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` ere, 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` ere, 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

slide-147
SLIDE 147

References IV

[22] Faug` ere, J.-C. and Svartz, J. Solving polynomial systems globally invariant under an action

  • f 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` ere, 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` ere, 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. [25] Galkin, V. Simple signature-based Groebner basis algorithm.

http://arxiv.org/abs/1205.6050, 2012.

[26] Gao, S., Guan, Y., and Volny IV, F . A new incremental algorithm for computing Gr¨

  • bner
  • bases. In ISSAC ’10: Proceedings of the 2010 international symposium on Symbolic and

algebraic computation, pages 13–19. ACM, 2010. [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

slide-148
SLIDE 148

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. [31] Gash, J. M. A provably terminating and speed-competitive variant of F5 – F5t. submitted to the Journal of Symbolic Computation, 2009. [32] Gebauer, R. and M¨

  • ller, H. M. On an installation of Buchberger’s algorithm. Journal of

Symbolic Computation, 6(2-3):275–286, October/December 1988. [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

slide-149
SLIDE 149

References VI

[36] Moreno-Soc´ ıas, G. Degrevlex Gr¨

  • bner bases of generic complete intersections. Journal of

Pure and Applied Algebra, 180(3):263 – 283, 2003. [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` ere’s F5 Algorithm revisited. Master’s thesis, Technische Univerit¨ at 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

slide-150
SLIDE 150

References VII

[43] Volny, F . New algorithms for computing Gr¨

  • bner bases. PhD thesis, Clemson University,

2011.

57 / 57