Signature-based Gr bner basis algorithms in Singularederc/download/elagb.pdf · Signature-based...

Post on 16-Oct-2020

0 views 0 download

transcript

Signature-based Grobner basis algorithms inSingular

Christian Eder

University of Kaiserslautern

June 06, 2012

1 / 18

Preliminaries

Conventions

◮ R = K [x1, . . . , xn], K field, < well-ordering onMon(x1, . . . , xn)

2 / 18

Preliminaries

Conventions

◮ R = K [x1, . . . , xn], K field, < well-ordering onMon(x1, . . . , xn)

◮ f ∈ R can be represented in a unique way by <.⇒ Definitions as lc(f ), lm(f ), and lt(f ) make sense.

2 / 18

Preliminaries

Conventions

◮ R = K [x1, . . . , xn], K field, < well-ordering onMon(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 forf ∈ I , g ∈ R it holds that fg ∈ I .

2 / 18

Preliminaries

Conventions

◮ R = K [x1, . . . , xn], K field, < well-ordering onMon(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 forf ∈ I , g ∈ R it holds that fg ∈ I .

◮ G = {g1, . . . , gs} ⊂ R is a Grobner basis of I = 〈f1, . . . , fm〉w.r.t. <

:⇐⇒

L<(G ) = L<(I )

⇐⇒

For all f , g ∈ G spol(f , g) reduces to zero w.r.t. G .2 / 18

1 The basic problem

2 Generic signature-based algorithmsThe basic ideaGeneric signature-based Grobner basis algorithmSignature-based criteria

3 Implementations and recent workEfficient variantsTimingsRecent work

3 / 18

How to predict zero reductions?

Example

Let I = 〈g1, g2〉 ∈ Q[x , y , z ] be given where g1 = xy − z2,g2 = y2 − z2, and let < be the graded reverse lexicographicalordering.

4 / 18

How to predict zero reductions?

Example

Let I = 〈g1, g2〉 ∈ Q[x , y , z ] be given where g1 = xy − z2,g2 = y2 − z2, and let < be the graded reverse lexicographicalordering.

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

= −xz2 + yz2,

so it reduces w.r.t. G to g3 = xz2 − yz2.

4 / 18

How to predict zero reductions?

Example

Let I = 〈g1, g2〉 ∈ Q[x , y , z ] be given where g1 = xy − z2,g2 = y2 − z2, and let < be the graded reverse lexicographicalordering.

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

= −xz2 + yz2,

so it reduces w.r.t. G to g3 = xz2 − yz2.

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

4 / 18

How to predict zero reductions?

Example

Let I = 〈g1, g2〉 ∈ Q[x , y , z ] be given where g1 = xy − z2,g2 = y2 − z2, and let < be the graded reverse lexicographicalordering.

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

= −xz2 + yz2,

so it reduces w.r.t. G to g3 = xz2 − yz2.

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

We can reduce even further with z2g2:

−y2z2 + z4 + y2z2 − z4 = 0.

4 / 18

How to predict zero reductions?

Example

Let I = 〈g1, g2〉 ∈ Q[x , y , z ] be given where g1 = xy − z2,g2 = y2 − z2, and let < be the graded reverse lexicographicalordering.

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

= −xz2 + yz2,

so it reduces w.r.t. G to g3 = xz2 − yz2.

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

We can reduce even further with z2g2:

−y2z2 + z4 + y2z2 − z4 = 0.

⇒ How can we discard such zero reductions in advance?4 / 18

1 The basic problem

2 Generic signature-based algorithmsThe basic ideaGeneric signature-based Grobner basis algorithmSignature-based criteria

3 Implementations and recent workEfficient variantsTimingsRecent work

5 / 18

Signatures of polynomials

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

6 / 18

Signatures of polynomials

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

1. Let Rm be generated by e1, . . . , em, ≺ a well-ordering on themonomials of Rm, and let π : Rm → R such that

π(ei ) = fi for all i .

6 / 18

Signatures of polynomials

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

1. Let Rm be generated by e1, . . . , em, ≺ a well-ordering on themonomials of Rm, and let π : Rm → R such that

π(ei ) = fi for all i .

2. Each p ∈ I can be represented by an

s =m∑

i=1

hiei ∈ Rm such that p = π(s).

6 / 18

Signatures of polynomials

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

1. Let Rm be generated by e1, . . . , em, ≺ a well-ordering on themonomials of Rm, and let π : Rm → R such that

π(ei ) = fi for all i .

2. Each p ∈ I can be represented by an

s =m∑

i=1

hiei ∈ Rm such that p = π(s).

3. A signature of p is given by

sig(p) = lm≺(s) with p = π(s).

6 / 18

Signatures of polynomials

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

1. Let Rm be generated by e1, . . . , em, ≺ a well-ordering on themonomials of Rm, and let π : Rm → R such that

π(ei ) = fi for all i .

2. Each p ∈ I can be represented by an

s =m∑

i=1

hiei ∈ Rm such that p = π(s).

3. A signature of p is given by

sig(p) = lm≺(s) with p = π(s).

4. A minimal signature of p exists due to ≺.6 / 18

Our example – now with signatures and ≺pot

We have already computed the following data:

g1 = xy − z2, sig(g1) = e1,

g2 = y2 − z2, sig(g2) = e2,

g3 = spol(g2, g1) = xg2 − yg1

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

7 / 18

Our example – now with signatures and ≺pot

We have already computed the following data:

g1 = xy − z2, sig(g1) = e1,

g2 = y2 − z2, sig(g2) = e2,

g3 = spol(g2, g1) = xg2 − yg1

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

spol(g3, g1) = yg3 − z2g1:

sig (spol(g3, g1)) = y sig(g3) = xye2.

7 / 18

Our example – now with signatures and ≺pot

We have already computed the following data:

g1 = xy − z2, sig(g1) = e1,

g2 = y2 − z2, sig(g2) = e2,

g3 = spol(g2, g1) = xg2 − yg1

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

spol(g3, g1) = yg3 − z2g1:

sig (spol(g3, g1)) = y sig(g3) = xye2.

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

7 / 18

Our example – now with signatures and ≺pot

We have already computed the following data:

g1 = xy − z2, sig(g1) = e1,

g2 = y2 − z2, sig(g2) = e2,

g3 = spol(g2, g1) = xg2 − yg1

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

spol(g3, g1) = yg3 − z2g1:

sig (spol(g3, g1)) = y sig(g3) = xye2.

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

⇒ We know that spol(g3, g1) will reduce to zero w.r.t. G .

7 / 18

Why do we know this?

The general idea is to check the signatures of the generateds-polynomials.

8 / 18

Why do we know this?

The general idea is to check the signatures of the generateds-polynomials.

If sig(

spol(f , g))

is not minimal for spol(f , g) then⇒ spol(f , g) is discarded.

8 / 18

Why do we know this?

The general idea is to check the signatures of the generateds-polynomials.

If sig(

spol(f , g))

is not minimal for spol(f , g) then⇒ spol(f , g) is discarded.

Our goal

Find and discard as many s-polynomials as possible for which thealgorithm computes a non-minimal signature.

8 / 18

Why do we know this?

The general idea is to check the signatures of the generateds-polynomials.

If sig(

spol(f , g))

is not minimal for spol(f , g) then⇒ spol(f , g) is discarded.

Our goal

Find and discard as many s-polynomials as possible for which thealgorithm computes a non-minimal signature.

Our task

We need to take care of the correctness of the signaturesthroughout the computations.

8 / 18

Generic signature-based Grobner basis algorithm

Input: Ideal I = 〈f1, . . . , fm〉Output: Grobner Basis poly(G) for I

1. G ← ∅

2. G ← G ∪ {(ei , fi )} for all i ∈ {1, . . . ,m}

3. P ← {(gi , gj ) | gi , gj ∈ G , i > j}

9 / 18

Generic signature-based Grobner basis algorithm

Input: Ideal I = 〈f1, . . . , fm〉Output: Grobner Basis poly(G) for I

1. G ← ∅

2. G ← G ∪ {(ei , fi )} for all i ∈ {1, . . . ,m}

3. P ← {(gi , gj ) | gi , gj ∈ G , i > j}

4. While P 6= ∅

(a) Choose (f , g) ∈ P such that sig (spol(f , g)) minimal,P ← P \ {(f , g)}

(b) If sig (spol(f , g)) minimal for spol(f , g):

9 / 18

Generic signature-based Grobner basis algorithm

Input: Ideal I = 〈f1, . . . , fm〉Output: Grobner Basis poly(G) for I

1. G ← ∅

2. G ← G ∪ {(ei , fi )} for all i ∈ {1, . . . ,m}

3. P ← {(gi , gj ) | gi , gj ∈ G , i > j}

4. While P 6= ∅

(a) Choose (f , g) ∈ P such that sig (spol(f , g)) minimal,P ← P \ {(f , g)}

(b) If sig (spol(f , g)) minimal for spol(f , g):

(i) h← spol(f , g)

(ii) If poly(h)G−→ 0

9 / 18

Generic signature-based Grobner basis algorithm

Input: Ideal I = 〈f1, . . . , fm〉Output: Grobner Basis poly(G) for I

1. G ← ∅

2. G ← G ∪ {(ei , fi )} for all i ∈ {1, . . . ,m}

3. P ← {(gi , gj ) | gi , gj ∈ G , i > j}

4. While P 6= ∅

(a) Choose (f , g) ∈ P such that sig (spol(f , g)) minimal,P ← P \ {(f , g)}

(b) If sig (spol(f , g)) minimal for spol(f , g):

(i) h← spol(f , g)

(ii) If poly(h)G−→ 0

(iii) If poly(h)G−→ poly(r) 6= 0

P ← P ∪ {(r , g) | g ∈ G}G ← G ∪ {r}

5. Return poly(G).

9 / 18

Generic signature-based Grobner basis algorithm

Input: Ideal I = 〈f1, . . . , fm〉Output: Grobner Basis poly(G) for I

1. G ← ∅

2. G ← G ∪ {(ei , fi )} for all i ∈ {1, . . . ,m}

3. P ← {(gi , gj ) | gi , gj ∈ G , i > j}

4. While P 6= ∅

(a) Choose (f , g) ∈ P such that sig (spol(f , g)) minimal,P ← P \ {(f , g)}

(b) If sig (spol(f , g)) minimal for spol(f , g):

(i) h← spol(f , g)

(ii) If poly(h)G−→ 0 ⇐ signature-safe

(iii) If poly(h)G−→ poly(r) 6= 0 ⇐ signature-safe

& ∄g ∈ G such that m sig(g) = sig(r) andm lm(poly(g)) = lm(poly(r))P ← P ∪ {(r , g) | g ∈ G}G ← G ∪ {r}

5. Return poly(G).

9 / 18

Signature-safe reductions

Let p and q in R be given such that m lm(q) = lm(p), c = lc(p)lc(q) .

Assumep − cmq.

10 / 18

Signature-safe reductions

Let p and q in R be given such that m lm(q) = lm(p), c = lc(p)lc(q) .

Assumep − cmq.

signature-safe: sig(p − cmq) = sig(p)

10 / 18

Signature-safe reductions

Let p and q in R be given such that m lm(q) = lm(p), c = lc(p)lc(q) .

Assumep − cmq.

signature-safe: sig(p − cmq) = sig(p)signature-safe:

signature-increasing: sig(p − cmq) = m sig(q)

10 / 18

Signature-safe reductions

Let p and q in R be given such that m lm(q) = lm(p), c = lc(p)lc(q) .

Assumep − cmq.

signature-safe: sig(p − cmq) = sig(p)signature-safe:

signature-increasing: sig(p − cmq) = m sig(q)signature-decreasing: sig(p − cmq) ≺ sig(p),m sig(q)

10 / 18

How does this work?

Termination

◮ If sig(r) = m sig(g) and lm (poly(r)) = m lm (poly(g)) is notadded to G .

◮ Each new element in G enlarges 〈(sig(r), lm(poly(r)))〉.

11 / 18

How does this work?

Termination

◮ If sig(r) = m sig(g) and lm (poly(r)) = m lm (poly(g)) is notadded to G .

◮ Each new element in G enlarges 〈(sig(r), lm(poly(r)))〉.

Correctness

◮ All possible s-polynomials are taken care of:signature-increasing reduction ⇒ new pair in the next step.

◮ All elements r with poly(r) 6= 0 are added to G besides thosefulfilling sig(r) = m sig(g) and lm (poly(r)) = m lm (poly(g)).

11 / 18

Signature-based criteria

Non-minimal signature ( NM )

sig(h) not minimal for h? ⇒ Remove h.

12 / 18

Signature-based criteria

Non-minimal signature ( NM )

sig(h) not minimal for h? ⇒ Remove h.

Sketch of proof

1. There exists a syzygy s ∈ Rm such that lm(s) = sig(h).⇒ We can represent h with a lower signature.

2. Pairs are handled by increasing signatures.⇒ All relations of lower signature are already taken care of.

12 / 18

Signature-based criteria

Non-minimal signature ( NM )

sig(h) not minimal for h? ⇒ Remove h.

Sketch of proof

1. There exists a syzygy s ∈ Rm such that lm(s) = sig(h).⇒ We can represent h with a lower signature.

2. Pairs are handled by increasing signatures.⇒ All relations of lower signature are already taken care of.

Our example with ≺pot revisited

sig (spol(g3, g1)) = xye2g1 = xy − z2

g2 = y2 − z2

}

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

12 / 18

Signature-based criteria

Rewritable signature ( RW )

sig(g) = sig(h)? ⇒ Remove either g or h.

13 / 18

Signature-based criteria

Rewritable signature ( RW )

sig(g) = sig(h)? ⇒ Remove either g or h.

Sketch of proof

1. sig(g − h) ≺ sig(g), sig(h).

2. Pairs are handled by increasing signatures.⇒ All necessary computations of lower signature have alreadytaken place.⇒ We can represent h by

h = g + elements of lower signature.

13 / 18

1 The basic problem

2 Generic signature-based algorithmsThe basic ideaGeneric signature-based Grobner basis algorithmSignature-based criteria

3 Implementations and recent workEfficient variantsTimingsRecent work

14 / 18

Efficient variants

F5Faugere(2002)

G2VGao,Guan,Volny

(2010)

GVWGao,Volny,Wang

(2011)iG2VE.

(2012)

F5CPerry,E.(2009) F5A

Perry,E.(2011)

iF5AE.

(2012)

iF5CE.

(2012)

nF5E.

(2012)

APArri,Perry(2009)

AP1Arri,Perry,E.

(2011) AP2Arri,Perry,E.

(2012)

SBRoune,

Stillmann

(2012)

15 / 18

Efficient variants

F5Faugere(2002)

G2VGao,Guan,Volny

(2010)

GVWGao,Volny,Wang

(2011)iG2VE.

(2012)

F5CPerry,E.(2009) F5A

Perry,E.(2011)

iF5AE.

(2012)

iF5CE.

(2012)

nF5E.

(2012)

APArri,Perry(2009)

AP1Arri,Perry,E.

(2011) AP2Arri,Perry,E.

(2012)

SBRoune,

Stillmann

(2012)

15 / 18

Efficient variants

F5Faugere(2002)

G2VGao,Guan,Volny

(2010)

GVWGao,Volny,Wang

(2011)

F5CPerry,E.(2009) F5A

Perry,E.(2011)

iF5AE.

(2012)

iF5CE.

(2012)

nF5E.

(2012)

APArri,Perry(2009)

AP1Arri,Perry,E.

(2011) AP2Arri,Perry,E.

(2012)

SBRoune,

Stillmann

(2012)

15 / 18

Efficient variants

F5Faugere(2002)

G2VGao,Guan,Volny

(2010)

GVWGao,Volny,Wang

(2011)iG2VE.

(2012)

F5CPerry,E.(2009) F5A

Perry,E.(2011)

iF5AE.

(2012)

iF5CE.

(2012)

nF5E.

(2012)

APArri,Perry(2009)

AP1Arri,Perry,E.

(2011)

SBRoune,

Stillmann

(2012)

15 / 18

Efficient variants

F5Faugere(2002)

G2VGao,Guan,Volny

(2010)

GVWGao,Volny,Wang

(2011)iG2VE.

(2012)

F5CPerry,E.(2009) F5A

Perry,E.(2011)

iF5AE.

(2012)

iF5CE.

(2012)

nF5E.

(2012)

APArri,Perry(2009)

AP1Arri,Perry,E.

(2011) AP2Arri,Perry,E.

(2012)

SBRoune,

Stillmann

(2012)

15 / 18

Efficient variants

F5Faugere(2002)

G2VGao,Guan,Volny

(2010)

GVWGao,Volny,Wang

(2011)iG2VE.

(2012)

F5CPerry,E.(2009) F5A

Perry,E.(2011)

iF5AE.

(2012)

iF5CE.

(2012)

nF5E.

(2012)

APArri,Perry(2009)

AP1Arri,Perry,E.

(2011) AP2Arri,Perry,E.

(2012)

SBRoune,

Stillmann

(2012)

15 / 18

Timings

20%

60%

100%

Virasoro-8 Red-Cyc-7 Fabrice-24 Noon-9 Rose Red-Eco-11 Sendra Wang-16

16 / 18

Timings

20%

60%

100%

Virasoro-8 Red-Cyc-7 Fabrice-24 Noon-9 Rose Red-Eco-11 Sendra Wang-16

20%

60%

100%

Cyclic-8 Ext-Cyc-6 Katsura-13 Berth Eco-11 F-855 Schrans-Troost RPBL

16 / 18

Recent work

◮ Heuristics:orderings on signatures; orderings for critical pairs (sugardegree), reducers

◮ F4:linear algebra for reduction purposes

◮ Parallelisation:modular methods, parallel criteria checks

◮ Computation of syzygies:implementation

◮ Generalization of signature-based criteria:more terms per signature, relaxing criteria for combinationwith Buchberger’s criteria

17 / 18

Bibliography

[AH09] G. Ars und A. Hashemi. Extended F5 Criteria

[AP11] A. Arri und J. Perry. The F5 Criterion revised

[E12a] C. Eder. Improving incremental signature-based Grobner bases algorithms

[E12b] C. Eder. Sweetening the sour taste of inhomogeneous signature-based Grobner basis computations

[EGP11] C. Eder, J. Gash and J. Perry. Modifying Faugere’s F5 Algorithm to ensure termination

[EP10] C. Eder and J. Perry. F5C: A variant of Faugere’s F5 Algorithm with reduced Grobner bases

[EP11] C. Eder and J. Perry. Signature-based algorithms to compute Grobner bases

[Fa02] J.-C. Faugere. A new efficient algorithm for computing Grobner bases without reduction to zero F5

[Ga12a] V. Galkin. Termination of original F5

[Ga12b] V. Galkin. Simple signature-based Groebner basis algorithm

[GGV10] S. Gao, Y. Guan and F. Volny IV. A New Incremental Algorithm for Computing Grobner Bases

[GVW11] S. Gao, F. Volny IV and M. Wang. A New Algorithm For Computing Grobner Bases

[HS12] B. H. Roune and M. Stillman. Practical Grobner Basis Computation

[SIN11] W. Decker, G.-M. Greuel, G. Pfister and H. Schonemann. Singular 3-1-4. A computer algebra system

for polynomial computations, University of Kaiserslautern, 2012, http://www.singular.uni-kl.de.

[SW10] Y. Sun und D. Wang. A new proof of the F5 Algorithm

[SW11] Y. Sun and D. Wang. A Generalized Criterion for Signature Related Grobner Basis Algorithms

18 / 18