The Project-And-Lift Algorithm for the Computation of Toric Gr - - PowerPoint PPT Presentation

the project and lift algorithm for the computation of
SMART_READER_LITE
LIVE PREVIEW

The Project-And-Lift Algorithm for the Computation of Toric Gr - - PowerPoint PPT Presentation

The Project-And-Lift Algorithm for the Computation of Toric Gr obner Bases An Implementation in Mathematica Stephan Ritscher Department of Computer Science TU M unchen 13th of April 2010 Stephan Ritscher: Computation of Toric Gr


slide-1
SLIDE 1

The Project-And-Lift Algorithm for the Computation

  • f Toric Gr¨
  • bner Bases

An Implementation in Mathematica Stephan Ritscher

Department of Computer Science TU M¨ unchen

13th of April 2010

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

1/ 29

slide-2
SLIDE 2

Outline

1 Motivation 2 Prerequisites 3 Problem Statement 4 Overview of Algorithms

Common Parts Saturation Algorithm Shadow Algorithm Project-and-Lift Algorithm Geometric Buchberger Algorithm

5 Experimental Results 6 Conclusion

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

2/ 29

slide-3
SLIDE 3

Motivation

Integer Linear Programming

Standard Form

min{cy : Ay = b, y ∈ Nn}

Selected Applications

  • Travelling Salesman
  • Knapsack, Bin Packing
  • Schedule Optimization
  • Frequency Planning for Mobile Phone Networks
  • Capacity Planning for Telecommunication Networks

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

3/ 29

slide-4
SLIDE 4

Motivation

Applying Gr¨

  • bner-Bases

Definition (Test Set)

T is a test set for min{cy : Ay = b, y ∈ Nn} if

1 all y ∈ T have negative cost (cy < 0), 2 all y ∈ T solve Ay = 0 and 3 for each non-optimal solution ys ∈ Nn of Ays = b there is a y ∈ T

s.t. ys + y ∈ Nn.

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

4/ 29

slide-5
SLIDE 5

Motivation

Applying Gr¨

  • bner-Bases

Definition (Test Set)

T is a test set for min{cy : Ay = b, y ∈ Nn} if

1 all y ∈ T have negative cost (cy < 0), 2 all y ∈ T solve Ay = 0 and 3 for each non-optimal solution ys ∈ Nn of Ays = b there is a y ∈ T

s.t. ys + y ∈ Nn.

Optimization Algorithm

1 Find any solution ys ∈ Nn of Ays = b. 2 While ∃y ∈ T : ys + y ∈ Nn, let ys ← ys + y. 3 Return ys.

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

4/ 29

slide-6
SLIDE 6

Motivation

Applying Gr¨

  • bner-Bases

Definition (Test Set)

T is a test set for min{cy : Ay = b, y ∈ Nn} if

1 all y ∈ T have negative cost (cy < 0), 2 all y ∈ T solve Ay = 0 and 3 for each non-optimal solution ys ∈ Nn of Ays = b there is a y ∈ T

s.t. ys + y ∈ Nn.

Optimization Algorithm

1 Find any solution ys ∈ Nn of Ays = b. 2 While ∃y ∈ T : ys + y ∈ Nn, let ys ← ys + y. 3 Return ys.

How can we find a finite (small) test set???

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

4/ 29

slide-7
SLIDE 7

Prerequisites

Polynomial Ideals

Notation

  • K[X] = ring of polynomials over K in variables X = {x1, . . . , xn}
  • I ⊂ K[X] is an ideal iff for all a, b ∈ I, r ∈ K[X]

1 a + b ∈ I and 2 ar ∈ I.

  • f1, . . . , fs = ideal generated by f1, . . . , fs ∈ K[X]

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

5/ 29

slide-8
SLIDE 8

Prerequisites

Polynomial Ideals

Notation

  • K[X] = ring of polynomials over K in variables X = {x1, . . . , xn}
  • I ⊂ K[X] is an ideal iff for all a, b ∈ I, r ∈ K[X]

1 a + b ∈ I and 2 ar ∈ I.

  • f1, . . . , fs = ideal generated by f1, . . . , fs ∈ K[X]

Example

  • Q[x1, x2, x3] ∋ x2

1 − x2x3, x1x2 2x3 − 1, x5 2x3 3 − 1

x2

1 − x2x3, x1x2 2x3 − 1, x5 2x3 3 − 1

  • ∋ x1 − x3

2x2 3 =

x2

2x3(x2 1 − x2x3) − x1(x1x2 2x3 − 1)

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

5/ 29

slide-9
SLIDE 9

Prerequisites

Monomial Orderings

Definition

A total ordering ≺ of the monomials xα = xα1

1 · · · xαn n

is admissible iff for all α, β, γ ∈ Nn (0 ∈ N)

1 xα ≺ xβ ⇒ xαxγ ≺ xβxγ and 2 1 ≺ xα for xα = 1.

LM(f ) = largest monomial of f ∈ K[X] wrt. ≺

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

6/ 29

slide-10
SLIDE 10

Prerequisites

Monomial Orderings (2)

Example

  • Lexicographic Ordering:

xα ≺ xβ iff first nonzero entry of α − β is negative. x1 ≻ x3

2x2 3 ≻ x2 2x3 3

  • Graded Reverse Lexicographic Ordering:

xα ≺ xβ iff deg(xα) < deg(xβ) or deg(xα) = deg(xβ) and last nonzero entry of α − β is positive. x3

2x2 3 ≻ x2 2x3 3 ≻ x1

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

7/ 29

slide-11
SLIDE 11

Prerequisites

Monomial Orderings (3)

Definition (Matrix Orderings)

Given a matrix C ∈ Ks,n, let xα ≺ xβ iff the first nonzero entry of Cα − Cβ is positive.

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

8/ 29

slide-12
SLIDE 12

Prerequisites

Monomial Orderings (3)

Definition (Matrix Orderings)

Given a matrix C ∈ Ks,n, let xα ≺ xβ iff the first nonzero entry of Cα − Cβ is positive.

Notes

Any admissible monomial ordering can be

  • represented by a matrix C ∈ Rn,n.
  • approximated up to an arbitrary, fixed degree by a matrix C ∈ Zn,n.

Common monomial orderings can be represented by a matrix C ∈ Zn,n

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

8/ 29

slide-13
SLIDE 13

Prerequisites

Monomial Orderings (3)

Definition (Matrix Orderings)

Given a matrix C ∈ Ks,n, let xα ≺ xβ iff the first nonzero entry of Cα − Cβ is positive.

Notes

Any admissible monomial ordering can be

  • represented by a matrix C ∈ Rn,n.
  • approximated up to an arbitrary, fixed degree by a matrix C ∈ Zn,n.

Common monomial orderings can be represented by a matrix C ∈ Zn,n

Example (n = 3)

Lexicographic Ordering:   1 1 1   Graded Reverse- lexicographic Ordering:   1 1 1 −1 −1  

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

8/ 29

slide-14
SLIDE 14

Prerequisites

Gr¨

  • bner Bases

Definition

G is a Gr¨

  • bner basis of I wrt. a monomial ordering ≺ iff

1 I = G and 2 LM(I) = LM(G).

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

9/ 29

slide-15
SLIDE 15

Prerequisites

Gr¨

  • bner Bases

Definition

G is a Gr¨

  • bner basis of I wrt. a monomial ordering ≺ iff

1 I = G and 2 LM(I) = LM(G).

Example

Consider I =

  • x2

1 − x2x3, x1x2 2x3 − 1, x5 2x3 3 − 1

  • and the lexicographic

monomial ordering.

  • G1 =
  • x2

1 − x2x3, x1x2 2x3 − 1, x5 2x3 3 − 1

  • is no Gr¨
  • bner basis of I since

x1 ∈ LM(I) but x1 / ∈ LM(G1)

  • G2 =
  • x2

1 − x2x3, x1x2 2x3 − 1, x5 2x3 3 − 1, x1 − x3 2x2 3

  • is a Gr¨
  • bner basis
  • f I.

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

9/ 29

slide-16
SLIDE 16

Problem Statement

Problem Statement

Definition (Toric Ideals)

Given a matrix A ∈ Zk,n, the associated toric ideal is defined as I(A) =

  • xα − xβ : α, β ∈ Nn : α − β ∈ ker(A)
  • Stephan Ritscher: Computation of Toric Gr¨
  • bner Bases

10/ 29

slide-17
SLIDE 17

Problem Statement

Problem Statement

Definition (Toric Ideals)

Given a matrix A ∈ Zk,n, the associated toric ideal is defined as I(A) =

  • xα − xβ : α, β ∈ Nn : α − β ∈ ker(A)
  • Example

A =

  • 1

−3 5

  • ⇒ I(A) =
  • x5

2x3 3 − 1, x1 − x3 2x2 3

  • Stephan Ritscher: Computation of Toric Gr¨
  • bner Bases

10/ 29

slide-18
SLIDE 18

Problem Statement

Problem Statement

Definition (Toric Ideals)

Given a matrix A ∈ Zk,n, the associated toric ideal is defined as I(A) =

  • xα − xβ : α, β ∈ Nn : α − β ∈ ker(A)
  • Example

A =

  • 1

−3 5

  • ⇒ I(A) =
  • x5

2x3 3 − 1, x1 − x3 2x2 3

  • Task

Given

  • matrix A ∈ Zk,n and
  • monomial ordering ≺ (as matrix)

compute a Gr¨

  • bner basis of I(A) wrt. ≺.

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

10/ 29

slide-19
SLIDE 19

Overview of Algorithms Common Parts

”Blue Print” of an Toric Ideal Algorithm

Input: Matrix A, monomial ordering ≺ defined by matrix C Output: Gr¨

  • bner basis of I(A)

Calculate lattice basis B of kerZ(A) Compute Markov basis M of kerZ(A) resp. ideal basis F of I(A) Compute Gr¨

  • bner basis of I(A)

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

11/ 29

slide-20
SLIDE 20

Overview of Algorithms Common Parts

Lattice Basis

Definition

A lattice L is a set of the form L = Zv1 + Zv2 + . . . + Zvs ⊂ Zn. The set {v1, . . . , vs} is a lattice basis of L.

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

12/ 29

slide-21
SLIDE 21

Overview of Algorithms Common Parts

Lattice Basis

Definition

A lattice L is a set of the form L = Zv1 + Zv2 + . . . + Zvs ⊂ Zn. The set {v1, . . . , vs} is a lattice basis of L.

Example

A =

  • 1

−3 5

  • ⇒ kerZ(A) = Z
  • 2

−1 −1 T + Z

  • 1

2 1 T

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

12/ 29

slide-22
SLIDE 22

Overview of Algorithms Common Parts

Lattice Basis

Definition

A lattice L is a set of the form L = Zv1 + Zv2 + . . . + Zvs ⊂ Zn. The set {v1, . . . , vs} is a lattice basis of L.

Example

A =

  • 1

−3 5

  • ⇒ kerZ(A) = Z
  • 2

−1 −1 T + Z

  • 1

2 1 T

Computation

  • Since A ∈ Zk,n, L = kerZ(A) is a lattice.
  • 1. Triangulate A with unimodular operations (Hermite decomposition).
  • 2. Lattice basis B of L = kerZ(A) can be read off the triangular form.

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

12/ 29

slide-23
SLIDE 23

Overview of Algorithms Common Parts

Markov Basis

Let α+ be defined by α+

i = max{αi, 0} and α− = (−α)+.

Definition

Given a lattice L = kerZ(A), B is a Markov basis of L iff J(B) = {xα+ − xα− : α ∈ B} is an ideal basis of I(A).

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

13/ 29

slide-24
SLIDE 24

Overview of Algorithms Common Parts

Markov Basis

Let α+ be defined by α+

i = max{αi, 0} and α− = (−α)+.

Definition

Given a lattice L = kerZ(A), B is a Markov basis of L iff J(B) = {xα+ − xα− : α ∈ B} is an ideal basis of I(A).

Example

J(

  • 2

−1 −1 T ,

  • 1

2 1 T) = {x2

1 − x2x3, x1x2 2x3 − 1}

is a Markov basis of A =

  • 1

−3 5

  • Stephan Ritscher: Computation of Toric Gr¨
  • bner Bases

13/ 29

slide-25
SLIDE 25

Overview of Algorithms Common Parts

Markov Basis

Let α+ be defined by α+

i = max{αi, 0} and α− = (−α)+.

Definition

Given a lattice L = kerZ(A), B is a Markov basis of L iff J(B) = {xα+ − xα− : α ∈ B} is an ideal basis of I(A).

Example

J(

  • 2

−1 −1 T ,

  • 1

2 1 T) = {x2

1 − x2x3, x1x2 2x3 − 1}

is a Markov basis of A =

  • 1

−3 5

  • Computation

1 Saturation algorithm (Sturmfels, Bigatti et. al) 2 Shadow algorithm (Kesh, Metha) 3 Project-and-Lift algorithm (Hemmecke, Malkin)

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

13/ 29

slide-26
SLIDE 26

Overview of Algorithms Saturation Algorithm

Saturation Algorithm

Definition

I : f ∞ =

  • h ∈ K[X] : f kh ∈ I for some k ∈ N
  • saturation of I wrt. f .

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

14/ 29

slide-27
SLIDE 27

Overview of Algorithms Saturation Algorithm

Saturation Algorithm

Definition

I : f ∞ =

  • h ∈ K[X] : f kh ∈ I for some k ∈ N
  • saturation of I wrt. f .

Fact

Given a basis B of the lattice L = kerZ(A), J(B) : (x1 · · · xn)∞ = I(A).

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

14/ 29

slide-28
SLIDE 28

Overview of Algorithms Saturation Algorithm

Saturation Algorithm

Definition

I : f ∞ =

  • h ∈ K[X] : f kh ∈ I for some k ∈ N
  • saturation of I wrt. f .

Fact

Given a basis B of the lattice L = kerZ(A), J(B) : (x1 · · · xn)∞ = I(A).

Computation

  • g1, . . . , gs : f ∞ = g1, . . . , gs, tf − 1 ∩ K[X]

⇒ Compute Gr¨

  • bner basis of g1, . . . , gs, tx1 · · · xn − 1 wrt. elimination
  • rdering (e.g. lexicographic).

Extra variable necessary.

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

14/ 29

slide-29
SLIDE 29

Overview of Algorithms Saturation Algorithm

Saturation Algorithm (2)

Optimization

I ω-graded iff for all xα − xβ ∈ I : ω · α = ω · β, ωi > 0

  • If I is ω-graded, then I : x∞

k

= GB(I, ≺ω,k) : x∞

k .

  • I : (x1 · · · xn)∞ = (· · · ((I : x∞

1 ) : x∞ 2 ) · · · ) : x∞ n )

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

15/ 29

slide-30
SLIDE 30

Overview of Algorithms Saturation Algorithm

Saturation Algorithm (2)

Optimization

I ω-graded iff for all xα − xβ ∈ I : ω · α = ω · β, ωi > 0

  • If I is ω-graded, then I : x∞

k

= GB(I, ≺ω,k) : x∞

k .

  • I : (x1 · · · xn)∞ = (· · · ((I : x∞

1 ) : x∞ 2 ) · · · ) : x∞ n )

Input: F = J(B) for basis B of lattice L Output: G = ideal basis of I(L) G ← F for k ← 1 to n do G ← GB(G, ≺ω,k) : x∞

k

end

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

15/ 29

slide-31
SLIDE 31

Overview of Algorithms Saturation Algorithm

Saturation Algorithm (2)

Optimization

I ω-graded iff for all xα − xβ ∈ I : ω · α = ω · β, ωi > 0

  • If I is ω-graded, then I : x∞

k

= GB(I, ≺ω,k) : x∞

k .

  • I : (x1 · · · xn)∞ = (· · · ((I : x∞

1 ) : x∞ 2 ) · · · ) : x∞ n )

Input: F = J(B) for basis B of lattice L Output: G = ideal basis of I(L) G ← F for k ← 1 to n do G ← GB(G, ≺ω,k) : x∞

k

end

  • Can be optimized to maximal n

2 saturation steps.

  • n

2 Gr¨

  • bner basis computations in n variables.

Only for graded ideals, otherwise extra variable.

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

15/ 29

slide-32
SLIDE 32

Overview of Algorithms Shadow Algorithm

Shadow Algorithm

Projections

Let πk be the projection on the first k variables (xk+1, . . . , xn ← 1).

  • Further optimizes Saturation Algorithm
  • G = GBk(I, ≺ω,k) ⊂ I such that πk(G) = GB(πk(I), ≺ω,k)

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

16/ 29

slide-33
SLIDE 33

Overview of Algorithms Shadow Algorithm

Shadow Algorithm

Projections

Let πk be the projection on the first k variables (xk+1, . . . , xn ← 1).

  • Further optimizes Saturation Algorithm
  • G = GBk(I, ≺ω,k) ⊂ I such that πk(G) = GB(πk(I), ≺ω,k)

Input: F = J(B) for basis B of lattice L Output: G = ideal basis of I(L) G ← F for k ← 1 to n do G ← GBk(G, ≺ω,k) : x∞

k

end

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

16/ 29

slide-34
SLIDE 34

Overview of Algorithms Shadow Algorithm

Shadow Algorithm

Projections

Let πk be the projection on the first k variables (xk+1, . . . , xn ← 1).

  • Further optimizes Saturation Algorithm
  • G = GBk(I, ≺ω,k) ⊂ I such that πk(G) = GB(πk(I), ≺ω,k)

Input: F = J(B) for basis B of lattice L Output: G = ideal basis of I(L) G ← F for k ← 1 to n do G ← GBk(G, ≺ω,k) : x∞

k

end Only for graded ideals, otherwise extra variable.

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

16/ 29

slide-35
SLIDE 35

Overview of Algorithms Project-and-Lift Algorithm

Project-and-Lift Algorithm

Markov Bases

  • Also uses projections: πσ projects onto K[xi : i ∈ σ].
  • Instead of computing Gr¨
  • bner bases, compute Markov bases.
  • Sometimes we can simply add a polynomial to lift to larger projection.
  • In remaining cases ideal is graded, so no extra variable.

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

17/ 29

slide-36
SLIDE 36

Overview of Algorithms Project-and-Lift Algorithm

Project-and-Lift Algorithm (2)

Input: Basis B of lattice L Output: M = Markov basis of L Find (maximal) σ ⊂ {1, . . . , n} s.t. ker(πσ(L)) = {0}. Find M ⊂ L s.t. πσ(M) is Markov basis of πσ(L). while ∃k ∈ σ = {1, . . . , n} \ σ do if ∃u ∈ L : πσ(u) ≥ 0, uk > 0 then M ← M ∪ {u} else Find c ∈ Qn

+ s.t. πσ(c) = 0 and ∀u ∈ L : c · u = −uk.

M ← GBσ(M, ≺c) end σ ← σ ∪ {k} end

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

18/ 29

slide-37
SLIDE 37

Overview of Algorithms Project-and-Lift Algorithm

Project-and-Lift Algorithm (3)

Optimizations

  • Preprocess lattice L with LatticeReduce ⇒ short vectors.
  • Use Minimize or extreme ray algorithm in order to find

u ∈ L : πσ(u) ≥ 0, uk > 0 ⇒ short vectors.

  • Lift variables xk last for which no Gr¨
  • bner basis computation is

necessary.

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

19/ 29

slide-38
SLIDE 38

Overview of Algorithms Geometric Buchberger Algorithm

S-Polynomial

Definition

S(f , g, ≺) = LM(g) gcd(LM(f ), LM(g)) · f − LM(f ) gcd(LM(f ), LM(g)) · g

Example

S(x2

1 −x2x3, x1x2 2x3−1) = x2 2x3(x2 1 −x2x3)−x1(x1x2 2x3−1) = x1−x3 2x2 3

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

20/ 29

slide-39
SLIDE 39

Overview of Algorithms Geometric Buchberger Algorithm

Reduction

Reduce(f , F, ≺)

Input: Polynomial f , F = {f1, . . . , fs}, monomial ordering ≺ Output: h ≡ f mod f1, . . . , fs s.t. no monomial of h is in LM(F) h → 0 while f = 0 do if ∃fi : LM(fi) | LM(f ) then f → f − LM(f )

LM(fi)fi

else h → h + LM(f ) f → f − LM(f ) end end

Example

Reduce(x1x2

2x3, {x1 − x3 2x2 3, x5 2x3 3 − 1}, ≺lex): x1x2 2x3 x1−x3

2 x2 3

− → x5

2x3 3 x5

2 x3 3 −1

− → 1

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

21/ 29

slide-40
SLIDE 40

Overview of Algorithms Geometric Buchberger Algorithm

Buchberger Algorithm

Input: Basis F of ideal I, monomial ordering ≺ Output: G = Gr¨

  • bner basis of I

G ← F Pairs ← {(i, j) : 1 ≤ i < j ≤ #G} while ∃(i, j) ∈ Pairs do Pairs ← Pairs \ {(i, j)} h ← S(gi, gj, ≺) h ← Reduce(h, G, ≺) if h = 0 then G ← G ∪ {h} Pairs ← Pairs ∪ {(i, #G) : 1 ≤ i < #G} end end

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

22/ 29

slide-41
SLIDE 41

Overview of Algorithms Geometric Buchberger Algorithm

Geometric Buchberger Algorithm

Criteria

  • Buchberger: Discard (i, j) if LM(gi), LM(gj) relatively prime.
  • Gebauer-M¨
  • ller: Basis of syzygies is sufficient. ⇒ Discard superfluous

pairs (only approximation, still expensive).

  • Bigatti,Hemmecke-Malkin: Criterion-Tail (only for toric ideals)

Discard (i, j) if S(gi, gj) reduces to polynomial with smaller grading.

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

23/ 29

slide-42
SLIDE 42

Overview of Algorithms Geometric Buchberger Algorithm

Geometric Buchberger Algorithm

Criteria

  • Buchberger: Discard (i, j) if LM(gi), LM(gj) relatively prime.
  • Gebauer-M¨
  • ller: Basis of syzygies is sufficient. ⇒ Discard superfluous

pairs (only approximation, still expensive).

  • Bigatti,Hemmecke-Malkin: Criterion-Tail (only for toric ideals)

Discard (i, j) if S(gi, gj) reduces to polynomial with smaller grading.

Vector Arithmetic

  • Use vectors α − β instead of binomials xα − xβ.
  • Automatically cancels common factors (i.e. partly saturates).
  • Only works for toric ideals.

Example

x3

1x2 2x3 − x1x5 2x3 3 −

  • 2

−3 −2 T − → x2

1 − x3 2x2 3

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

23/ 29

slide-43
SLIDE 43

Overview of Algorithms Geometric Buchberger Algorithm

Geometric Buchberger Algorithm (2)

Data Structures

  • Originally, G is a vector.
  • Many searches in G for LM(gi)|m for given monomial m.
  • Vector notation: search g+

i

≤ m. ⇒ Use multidimensional search data structure.

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

24/ 29

slide-44
SLIDE 44

Overview of Algorithms Geometric Buchberger Algorithm

Geometric Buchberger Algorithm (2)

Data Structures

  • Originally, G is a vector.
  • Many searches in G for LM(gi)|m for given monomial m.
  • Vector notation: search g+

i

≤ m. ⇒ Use multidimensional search data structure.

Suggestions

  • kd-Lists
  • kd-Trees

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

24/ 29

slide-45
SLIDE 45

Overview of Algorithms Geometric Buchberger Algorithm

Geometric Buchberger Algorithm (3)

kd-Lists

  • First level: sorted array of first

coordinates

  • Each entry points to

substructure representing all elements with this value.

  • i-th level: sorted arrays of i-th

coordinates of resp. substructure 1 2 3 1 2 5

  • 3

2

  • 1

3

  • 2

1

  • 1

Figure: kd-List for

  • 2

−1 −1

  • ,

1 2 1 , 5 3 , 1 −3 −2

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

25/ 29

slide-46
SLIDE 46

Overview of Algorithms Geometric Buchberger Algorithm

Geometric Buchberger Algorithm (4)

kd-Trees

  • Each level: two subtrees
  • Vectors stored at leaves
  • Equally balances if possible

x1 <1 x1 ≥1 ` 5 3 ´ x2 <−1 x2 ≥−1 x3 <1 x3 ≥1 ` 1 −3 −2 ´ ` 2 −1 −1 ´ ` 1 2 1 ´

Figure: kd-Tree for 2 −1 −1 , 1 2 1 , 5 3 , 1 −3 −2

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

26/ 29

slide-47
SLIDE 47

Experimental Results

Experimental Results

Input P&L (uses LR) ToricGB ToricGB List KDL KDT + LR Random 1x5 0.06 0.12 0.11 0.00 0.00 Random 2x5 0.25 0.48 0.42 0.01 0.01 Random 3x5 2.45 3.42 3.54 0.35 0.31 Random 4x5 0.74 1.00 1.00 2.90 0.01 Random 5x5 0.11 0.22 0.22 0.00 0.00 Frobenius 6x 10 dig. 7.56 26.86 14.33 429.76 0.49 Frobenius 7x 10 dig. 168.33 714.25 293.49 383.29 56.80 Frobenius 8x 5 dig. 22.87 64.75 44.31 5.55 1.25 Frobenius 10x 4 dig. 24.98 50.32 43.51 3.38 1.56 Attention:

  • ToricGB is implemented natively, P&L not.
  • Statistic biased by memory leaks.

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

27/ 29

slide-48
SLIDE 48

Conclusion

Conclusion

Data Structures

  • Performance gain possible if implemented natively.
  • kd-Lists can degenerate, thus kd-trees more promising

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

28/ 29

slide-49
SLIDE 49

Conclusion

Conclusion

Data Structures

  • Performance gain possible if implemented natively.
  • kd-Lists can degenerate, thus kd-trees more promising

Mathematica Implementation

  • Add Criterion Tail to GroebnerBasis‘ToricGroebnerBasis.
  • Add capability of projections to

GroebnerBasis‘ToricGroebnerBasis.

  • Use Project-and-Lift algorithm for saturation.

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

28/ 29

slide-50
SLIDE 50

Conclusion

Thank you!

Stephan Ritscher: Computation of Toric Gr¨

  • bner Bases

29/ 29