the dynamic approach to gröbner basis computationimplementing f4 cone evolution? method of judging...

225
The dynamic approach to Gröbner basis computation John Perry Motivation, technical background First World problems McEliece Gröbner bases Dynamic algorithms Question #1 Question #2 Question #3 Experimental results Implementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner basis computation John Perry University of Southern Mississippi 2019

Upload: others

Post on 27-Mar-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

The dynamic approach to Gröbner basiscomputation

John Perry

University of Southern Mississippi

2019

Page 2: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Outline

1 Motivation, technical background

2 Dynamic algorithms

3 Experimental results

4 Conclusions, future directions

Page 3: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

§1

1 Motivation, technical background

2 Dynamic algorithms

3 Experimental results

4 Conclusions, future directions

Page 4: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

§1.1

First World problems

Page 5: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Nim in Action

I am a Consumer.

I find meaning in life by Consuming.Right now I want to Consume a book.

Page 6: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Nim in Action

I am a Consumer.I find meaning in life by Consuming.

Right now I want to Consume a book.

Page 7: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Nim in Action

I am a Consumer.I find meaning in life by Consuming.Right now I want to Consume a book.

Page 8: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

AWESOME: Amazon has it in stock!

Page 9: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Checkout

What’s this thing?

Page 10: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Checkout

For those who haven’t noticed it before:

Page 11: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

What’s a lock doing there?

You had best be glad it’s there.

Excellent, unaltered image downloaded from The Economist. Please don’t sue. Fair use principles at work.

Page 12: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

What’s a lock doing there?

You had best be glad it’s there.

Excellent, unaltered image downloaded from The Economist. Please don’t sue. Fair use principles at work.

Page 13: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

What’s a lock doing there?

You had best be glad it’s there.

Excellent, unaltered image downloaded from The Economist. Please don’t sue. Fair use principles at work.

Page 14: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Public-key cryptography

1 Amazon broadcasts• encryption protocol E• encryption key e (public)

2 Buyer broadcasts c= E (m, e)3 Only Amazon

• knows decryption key d4 Eavesdropper knows

• c• encryption key• encryption and decryption protocols

. . . but cannot decrypt

Page 15: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Public-key cryptography

1 Amazon broadcasts• encryption protocol E• encryption key e (public)

2 Buyer broadcasts c= E (m, e)

3 Only Amazon• knows decryption key d

4 Eavesdropper knows• c• encryption key• encryption and decryption protocols

. . . but cannot decrypt

Page 16: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Public-key cryptography

1 Amazon broadcasts• encryption protocol E• encryption key e (public)

2 Buyer broadcasts c= E (m, e)3 Only Amazon

• knows decryption key d

4 Eavesdropper knows• c• encryption key• encryption and decryption protocols

. . . but cannot decrypt

Page 17: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Public-key cryptography

1 Amazon broadcasts• encryption protocol E• encryption key e (public)

2 Buyer broadcasts c= E (m, e)3 Only Amazon

• knows decryption key d4 Eavesdropper knows

• c• encryption key• encryption and decryption protocols

. . . but cannot decrypt

Page 18: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

How is this secure?

• D, E inverse functions

• computing d “difficult” even knowing D, E, e

• factoring integers• discrete logarithm• elliptic curve arithmetic

Page 19: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

How is this secure?

• D, E inverse functions• computing d “difficult” even knowing D, E, e

• factoring integers• discrete logarithm• elliptic curve arithmetic

Page 20: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

How is this secure?

• D, E inverse functions• computing d “difficult” even knowing D, E, e

• factoring integers• discrete logarithm• elliptic curve arithmetic

Page 21: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Example

RSA Challenge: Want $200,000?

Factor this 617-digit number.

Page 22: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

RSA

Big-time fact!

Crucial link in cryptography is Rivest (1976)ShamirAdelman

Big-time fact!

Cracking RSA communication as “easy” as

6= 2× 3

Big-time fact!

If that doesn’t bother you, it should.

Page 23: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

RSA

Big-time fact!

Crucial link in cryptography is Rivest (1976)ShamirAdelman

Big-time fact!

Cracking RSA communication as “easy” as

6= 2× 3

Big-time fact!

If that doesn’t bother you, it should.

Page 24: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

RSA

Big-time fact!

Crucial link in cryptography is Rivest (1976)ShamirAdelman

Big-time fact!

Cracking RSA communication as “easy” as

6= 2× 3

Big-time fact!

If that doesn’t bother you, it should.

Page 25: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

RSA Challenge

Quantum challenge

1994 Shor: “quantum algorithm” to factor integers inpolynomial time

2001 IBM factors 15= 3× 52012 group factors 143= 11× 132014 oh, look, we also factored 56153= 233× 241

(“without the awareness of the authors”)2017 NIST: proposals for post-quantum cryptography

Page 26: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

RSA Challenge

Quantum challenge

1994 Shor: “quantum algorithm” to factor integers inpolynomial time

2001 IBM factors 15= 3× 5

2012 group factors 143= 11× 132014 oh, look, we also factored 56153= 233× 241

(“without the awareness of the authors”)2017 NIST: proposals for post-quantum cryptography

Page 27: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

RSA Challenge

Quantum challenge

1994 Shor: “quantum algorithm” to factor integers inpolynomial time

2001 IBM factors 15= 3× 52012 group factors 143= 11× 13

2014 oh, look, we also factored 56153= 233× 241(“without the awareness of the authors”)

2017 NIST: proposals for post-quantum cryptography

Page 28: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

RSA Challenge

Quantum challenge

1994 Shor: “quantum algorithm” to factor integers inpolynomial time

2001 IBM factors 15= 3× 52012 group factors 143= 11× 132014 oh, look, we also factored 56153= 233× 241

(“without the awareness of the authors”)

2017 NIST: proposals for post-quantum cryptography

Page 29: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

RSA Challenge

Quantum challenge

1994 Shor: “quantum algorithm” to factor integers inpolynomial time

2001 IBM factors 15= 3× 52012 group factors 143= 11× 132014 oh, look, we also factored 56153= 233× 241

(“without the awareness of the authors”)2017 NIST: proposals for post-quantum cryptography

Page 30: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

§1.2

McEliece

Page 31: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

McEliece

• Alice chooses• G (linear code correcting t errors)• S, P (nonsingular, permutation)

• Alice broadcasts t, bG= SGP• Bob broadcasts c=mbG+ z (message + t errors)• Only Alice knows

• G (can identify, remove z)• S,P (hence S−1, P−1)

• Eve knows• c, t, bG• encryption and decryption methods

. . .but cannot decrypt

Page 32: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

McEliece

• Alice chooses• G (linear code correcting t errors)• S, P (nonsingular, permutation)

• Alice broadcasts t, bG= SGP

• Bob broadcasts c=mbG+ z (message + t errors)• Only Alice knows

• G (can identify, remove z)• S,P (hence S−1, P−1)

• Eve knows• c, t, bG• encryption and decryption methods

. . .but cannot decrypt

Page 33: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

McEliece

• Alice chooses• G (linear code correcting t errors)• S, P (nonsingular, permutation)

• Alice broadcasts t, bG= SGP• Bob broadcasts c=mbG+ z (message + t errors)

• Only Alice knows• G (can identify, remove z)• S,P (hence S−1, P−1)

• Eve knows• c, t, bG• encryption and decryption methods

. . .but cannot decrypt

Page 34: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

McEliece

• Alice chooses• G (linear code correcting t errors)• S, P (nonsingular, permutation)

• Alice broadcasts t, bG= SGP• Bob broadcasts c=mbG+ z (message + t errors)• Only Alice knows

• G (can identify, remove z)• S,P (hence S−1, P−1)

• Eve knows• c, t, bG• encryption and decryption methods

. . .but cannot decrypt

Page 35: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

McEliece

• Alice chooses• G (linear code correcting t errors)• S, P (nonsingular, permutation)

• Alice broadcasts t, bG= SGP• Bob broadcasts c=mbG+ z (message + t errors)• Only Alice knows

• G (can identify, remove z)• S,P (hence S−1, P−1)

• Eve knows• c, t, bG• encryption and decryption methods

. . .but cannot decrypt

Page 36: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Good idea?

Big-time fact!

“Classic McEliece” susceptible to attacks? Unknown, but NISTaccepted it for post-Quantum standard (2019).

Big-time fact!

Why do you never hear about it?

• encryption, decryption faster than RSA, but. . .

• key very large (bG)

Proposal: “McEliece Variants”

(2009) Choose G w/particular form

Page 37: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Good idea?

Big-time fact!

“Classic McEliece” susceptible to attacks? Unknown, but NISTaccepted it for post-Quantum standard (2019).

Big-time fact!

Why do you never hear about it?

• encryption, decryption faster than RSA, but. . .

• key very large (bG)

Proposal: “McEliece Variants”

(2009) Choose G w/particular form

Page 38: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Good idea?

Big-time fact!

“Classic McEliece” susceptible to attacks? Unknown, but NISTaccepted it for post-Quantum standard (2019).

Big-time fact!

Why do you never hear about it?

• encryption, decryption faster than RSA, but. . .

• key very large (bG)

Proposal: “McEliece Variants”

(2009) Choose G w/particular form

Page 39: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Good idea?

Big-time fact!

“Classic McEliece” susceptible to attacks? Unknown, but NISTaccepted it for post-Quantum standard (2019).

Big-time fact!

Why do you never hear about it?

• encryption, decryption faster than RSA, but. . .

• key very large (bG)

Proposal: “McEliece Variants”

(2009) Choose G w/particular form

Page 40: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Bad idea!

Big-time fact!

McEliece Variants cracked in < 1s! (Faugère et al., 2010)

How?1 System   polynomial equations2 Structure  simplify, rewrite3 Gröbner basis4 Keep “smallest” polys

Question

Gröbner basis?

Page 41: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Bad idea!

Big-time fact!

McEliece Variants cracked in < 1s! (Faugère et al., 2010)

How?1 System   polynomial equations2 Structure  simplify, rewrite3 Gröbner basis4 Keep “smallest” polys

Question

Gröbner basis?

Page 42: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Bad idea!

Big-time fact!

McEliece Variants cracked in < 1s! (Faugère et al., 2010)

How?1 System   polynomial equations2 Structure  simplify, rewrite3 Gröbner basis4 Keep “smallest” polys

Question

Gröbner basis?

Page 43: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

§1.3

Gröbner bases

Page 44: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Analogies

linear

non-linear

structure vector space

polynomial ring

multipliers field elements

monomials

workspace subspace

ideal

presentation spanning set

basis

goodbasis

Gröbner basis

presentation

transformation Gauss-Jordan

Buchberger

Page 45: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Analogies

linear non-linear

structure vector space polynomial ring

multipliers field elements monomials

workspace subspace ideal

presentation spanning set basis

goodbasis Gröbner basis

presentation

transformation Gauss-Jordan Buchberger

Page 46: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Analogies

linear non-linear

structure vector space polynomial ring

multipliers field elements monomials

workspace subspace ideal

presentation spanning set basis

goodbasis Gröbner basis

presentation

transformation Gauss-Jordan Buchberger

Page 47: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Example: linear

2x+ 3y= 4x+ 2y= 3

=⇒2x+ 3y= 4

− 2x+ 4y= 6−y=−2

row reduction

Page 48: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Example: linear

2x+ 3y= 4x+ 2y= 3 =⇒

2x+ 3y= 4− 2x+ 4y= 6

−y=−2row reduction

Page 49: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Example: non-linear

x2+ y2 = 4xy= 1

=⇒x2y+ y3 = 4y

− x2y = xy3 = 4y− x

S-poly reduction

Page 50: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Example: non-linear

x2+ y2 = 4xy= 1 =⇒

x2y+ y3 = 4y− x2y = x

y3 = 4y− xS-poly reduction

Page 51: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Analogy goes deeper

vector space bases, Gröbner bases both answer. . .• existence of solutions• dimension of solutions• explicit description of solutions• which vectors are in subspace

. . . in similar ways!

Page 52: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Analogy goes deeper

vector space bases, Gröbner bases both answer. . .• existence of solutions• dimension of solutions• explicit description of solutions• which vectors are in subspace

. . . in similar ways!

Page 53: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

F4/F5 [Lazard, 1983], [Faugère, 1999]

Gaussian reduction¡ Buchberger’s algorithm

x3 x2y xy2 y3 x2 xy y2 x y 1... . . . . . .

...

1 1 − 4 xg

1 − 4 yg

1 1 −4 g. . . . . .

...

1 − 1 xf

1 − 1 yf

1 −1 f

xy− 1 , x2+ y2− 4 , y3+ x− 4

Page 54: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

F4/F5 [Lazard, 1983], [Faugère, 1999]

Gaussian reduction¡ Buchberger’s algorithm

x3 x2y xy2 y3 x2 xy y2 x y 1... . . . . . .

...

1 1 − 4 xg

1 − 4 yg

1 1 −4 g. . . . . .

...

1 − 1 xf

1 − 1 yf

1 −1 f

xy− 1 , x2+ y2− 4 , y3+ x− 4

Page 55: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

F4/F5 [Lazard, 1983], [Faugère, 1999]

Gaussian reduction¡ Buchberger’s algorithm

x3 x2y xy2 y3 x2 xy y2 x y 1... . . . . . .

...

1 1 − 4 xg

1 − 4 yg

1 1 −4 g. . . . . .

...1 − 1 xf

1 − 1 yf

1 −1 f

xy− 1 , x2+ y2− 4 , y3+ x− 4

Page 56: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

F4/F5 [Lazard, 1983], [Faugère, 1999]

Gaussian reduction¡ Buchberger’s algorithm

x3 x2y xy2 y3 x2 xy y2 x y 1... . . . . . .

...

1 1 − 4 xg

1 1 − 4 yg

1 1 −4 g. . . . . .

...1 − 1 xf

1 − 1 yf

1 −1 f

xy− 1 , x2+ y2− 4 , y3+ x− 4

Page 57: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

F4/F5 [Lazard, 1983], [Faugère, 1999]

Gaussian reduction¡ Buchberger’s algorithm

x3 x2y xy2 y3 x2 xy y2 x y 1... . . . . . .

...1 1 − 4 xg

1 1 − 4 yg

1 1 −4 g. . . . . .

...1 − 1 xf

1 − 1 yf

1 −1 f

xy− 1 , x2+ y2− 4 , y3+ x− 4

Page 58: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

F4/F5 [Lazard, 1983], [Faugère, 1999]

Gaussian reduction¡ Buchberger’s algorithm

x3 x2y xy2 y3 x2 xy y2 x y 1... . . . . . .

...1 1 − 4 xg

1 1 − 4 yg

1 1 −4 g. . . . . .

...1 − 1 xf

1 − 1 yf

1 −1 f

xy− 1 , x2+ y2− 4 , y3+ x− 4

Page 59: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

F4/F5 [Lazard, 1983], [Faugère, 1999]

Gaussian reduction¡ Buchberger’s algorithm

x3 x2y xy2 y3 x2 xy y2 x y 1... . . . . . .

...1 1 − 4 xg

0 1 1 − 4 yg

1 1 −4 g. . . . . .

...1 − 1 xf

1 − 1 yf

1 −1 f

xy− 1 , x2+ y2− 4 , y3+ x− 4

Page 60: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

F4/F5 [Lazard, 1983], [Faugère, 1999]

Gaussian reduction¡ Buchberger’s algorithm

x3 x2y xy2 y3 x2 xy y2 x y 1... . . . . . .

...1 1 − 4 xg

1 − 4 yg

1 1 −4 g. . . . . .

...1 − 1 xf

1 − 1 yf

1 −1 f

xy− 1 , x2+ y2− 4 , y3+ x− 4

Page 61: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Wait. What about Buchberger?

Typically the first one taught• first algorithm (1965)• easier to implement

Page 62: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Wait. What about Buchberger?

Typically the first one taught• first algorithm (1965)• easier to implement

Page 63: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Why F4/F5, then?

1 Have a mystique

2 Matrix view: easier exposition (IMHO)3 Buchberger ( F4

• e.g., select 1 pair of rows of matrix4 I’ll use it later in the talk

Page 64: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Why F4/F5, then?

1 Have a mystique2 Matrix view: easier exposition (IMHO)

3 Buchberger ( F4• e.g., select 1 pair of rows of matrix

4 I’ll use it later in the talk

Page 65: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Why F4/F5, then?

1 Have a mystique2 Matrix view: easier exposition (IMHO)3 Buchberger ( F4

• e.g., select 1 pair of rows of matrix

4 I’ll use it later in the talk

Page 66: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Why F4/F5, then?

1 Have a mystique2 Matrix view: easier exposition (IMHO)3 Buchberger ( F4

• e.g., select 1 pair of rows of matrix4 I’ll use it later in the talk

Page 67: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

F4? F5? What’s the difference?

F4 GB algorithm using matrix arithmetic

F5

GB algorithm w/matrix arithmetic and row labels

x3 x2y xy2 y3 x2 xy y2 x y 1... . . . . . .

...1 1 −4 xg

1 1 −4 yg

1 1 −4 g. . . . . .

...1 −1 xf

1 −1 yf

1 −1 f

Page 68: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

F4? F5? What’s the difference?

F4 GB algorithm using matrix arithmeticF5 GB algorithm w/matrix arithmetic and row labels

x3 x2y xy2 y3 x2 xy y2 x y 1... . . . . . .

...1 1 −4 xg

1 1 −4 yg

1 1 −4 g. . . . . .

...1 −1 xf

1 −1 yf

1 −1 f

Page 69: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

§2

1 Motivation, technical background

2 Dynamic algorithms

3 Experimental results

4 Conclusions, future directions

Page 70: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

§2.1

Question #1

Page 71: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Optimization in linear algebra

Triangularize?

1 1 1 1 11 1 1 11 1 11 11

−→

1 1 1 1 11 1 1 1

1 1 11 1

1

Exchange columns

Can we do this with Gröbner bases?

• change ordering during algorithm• dynamic variant of static algorithm• adapt, not abolish

Page 72: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Optimization in linear algebra

Triangularize?

1 1 1 1 11 1 1 11 1 11 11

−→

1 1 1 1 11 1 1 1

1 1 11 1

1

Exchange columns

Can we do this with Gröbner bases?

• change ordering during algorithm• dynamic variant of static algorithm• adapt, not abolish

Page 73: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Optimization in linear algebra

Triangularize?

1 1 1 1 11 1 1 11 1 11 11

−→

1 1 1 1 11 1 1 1

1 1 11 1

1

Exchange columns

Can we do this with Gröbner bases?

• change ordering during algorithm• dynamic variant of static algorithm• adapt, not abolish

Page 74: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Why?

1 Why not?2 Might be “practical”

• faster?

• maybe. . .• . . . but not if overhead is too large

[even if not faster:]

• fewer basis polys?

• apply Gröbner bases• smaller basis: faster application• tradeoff could be worth it!

Page 75: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Why?

1 Why not?

2 Might be “practical”

• faster?

• maybe. . .• . . . but not if overhead is too large

[even if not faster:]

• fewer basis polys?

• apply Gröbner bases• smaller basis: faster application• tradeoff could be worth it!

Page 76: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Why?

1 Why not?2 Might be “practical”

• faster?

• maybe. . .• . . . but not if overhead is too large

[even if not faster:]

• fewer basis polys?

• apply Gröbner bases• smaller basis: faster application• tradeoff could be worth it!

Page 77: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Why?

1 Why not?2 Might be “practical”

• faster?• maybe. . .• . . . but not if overhead is too large

[even if not faster:]

• fewer basis polys?

• apply Gröbner bases• smaller basis: faster application• tradeoff could be worth it!

Page 78: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Why?

1 Why not?2 Might be “practical”

• faster?• maybe. . .• . . . but not if overhead is too large

[even if not faster:]

• fewer basis polys?

• apply Gröbner bases• smaller basis: faster application• tradeoff could be worth it!

Page 79: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Why?

1 Why not?2 Might be “practical”

• faster?• maybe. . .• . . . but not if overhead is too large

[even if not faster:]

• fewer basis polys?• apply Gröbner bases• smaller basis: faster application• tradeoff could be worth it!

Page 80: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Practical?

User POV: no CAS does this.

Provider POV: Gröbner property depends on ordering.

• monomials¡ columns• swap columns?   out of order!• out of order?   not Gröbner!

Page 81: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Practical?

User POV: no CAS does this.

Provider POV: Gröbner property depends on ordering.

• monomials¡ columns• swap columns?   out of order!• out of order?   not Gröbner!

Page 82: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

For example

x3 x2y xy2 y3 x2 xy y2 x y 1... . . . . . .

...1 1 −4 xg

1 1 1 −4 yg

1 1 −4 g. . . . . .

...1 −1 xf

1 −1 yf

1 −1 f

Page 83: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

For example

x3 x2y xy2 y3 x2 xy y2 x y 1... . . . . . .

...1 1 −4 xg

1 1 −4 yg

1 1 −4 g. . . . . .

...1 −1 xf

1 −1 yf

1 −1 f

Page 84: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

For example

x3 x2y xy2 y3 x2 xy y2 x y 1... . . . . . .

...1 1 −4 xg

1 1 1 −4 yg

1 1 −4 g. . . . . .

...1 −1 xf

1 −1 yf

1 −1 f

Page 85: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

For example

x3 y2 xy2 y3 x2 xy x2y x y 1... . . . . . .

...1 1 −4 xg

1 1 1 −4 yg

1 1 −4 g. . . . . .

...1 −1 xf

1 −1 yf

1 −1 f

x2y+ x− 4y,y2+ x2− 4,x2y− 1

not GB under any order

Page 86: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

For example

x3 y2 xy2 y3 x2 xy x2y x y 1... . . . . . .

...1 1 −4 xg

1 1 1 −4 yg

1 1 −4 g. . . . . .

...1 −1 xf

1 −1 yf

1 −1 f

x2y+ x− 4y,y2+ x2− 4,x2y− 1

not GB under any order

Page 87: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

For example

x3 y2 xy2 y3 x2 xy x2y x y 1... . . . . . .

...1 1 −4 xg

1 1 1 −4 yg

1 1 −4 g. . . . . .

...1 −1 xf

1 −1 yf

1 −1 f

x2y+ x− 4y,y2+ x2− 4,x2y− 1

not GB under any order

Page 88: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Past work

Dynamic Buchberger implemented, improved, explored[Caboara, 1993] AlPI, CoCoA (lost)

[Golubitsky, unpublished] Maple[Caboara & Perry, 2014] Sage

[Hashemi & Talaashrafi, 2016] Sage[Perry, 2017] C++

*[Gritzmann & Sturmfels, 1993] on theory, not implementation

Page 89: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Question #1

Can we implement a Dynamic F4 algorithm?

(One person told me no)

Page 90: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Question #1

Can we implement a Dynamic F4 algorithm?(One person told me no)

Page 91: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Question #11/2

Can we implement a Dynamic F5 algorithm?

Page 92: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

§2.2

Question #2

Page 93: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Term orderings

Weighted degree ordering: ω = (ω1, . . . ,ωn)

Example

Dot product ofω, exponentsx3+ y4+ x2z

Break ties w/additional vectors:

Theorem ([Robbiano, 1986])Every admissible ordering a nonsingular matrix over R.

Page 94: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Term orderings

Weighted degree ordering: ω = (ω1, . . . ,ωn)

Example

Dot product ofω, exponentsx3+ y4+ x2z(1,0,0)

Break ties w/additional vectors:

Theorem ([Robbiano, 1986])Every admissible ordering a nonsingular matrix over R.

Page 95: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Term orderings

Weighted degree ordering: ω = (ω1, . . . ,ωn)

Example

Dot product ofω, exponentsx3+ y4+ x2z(1,1,1)

Break ties w/additional vectors:

Theorem ([Robbiano, 1986])Every admissible ordering a nonsingular matrix over R.

Page 96: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Term orderings

Weighted degree ordering: ω = (ω1, . . . ,ωn)

Example

Dot product ofω, exponentsx3+ y4+ x2z(1,1,3)

Break ties w/additional vectors:

Theorem ([Robbiano, 1986])Every admissible ordering a nonsingular matrix over R.

Page 97: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Term orderings

Weighted degree ordering: ω = (ω1, . . . ,ωn)

Example

Dot product ofω, exponentsx3+ y4+ x2z

Break ties w/additional vectors:

Theorem ([Robbiano, 1986])Every admissible ordering a nonsingular matrix over R.

Page 98: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Effect

x1+ x2+ · · ·+ x7,x1x2+ x2x3+ · · ·+ x7x1,

x1x2x3+ x2x3x4+ · · ·+ x7x1x2,...

x1x2x3x4x5x6x7− h7

11

...

!

� · · · 1 1 1· · · 1 1· · · 1

wdeg

#-spolys 5463 2199 404#polys 977 443 107

time† (sec) 14401 11.1 5.0

†wdeg uses (2526, 1461, 2625, 2639, 1, 2702, 2703, 1714)

Page 99: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Compute ordering, subject to constraints?

xα11 · · ·x

αnn > xβ1

1 · · ·xβnn

α ·ω > β ·ω

(αi−βi)ωi > 0

Page 100: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Compute ordering, subject to constraints?

xα11 · · ·x

αnn > xβ1

1 · · ·xβnn

α ·ω > β ·ω

(αi−βi)ωi > 0

Page 101: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Compute ordering, subject to constraints?

xα11 · · ·x

αnn > xβ1

1 · · ·xβnn

α ·ω > β ·ω

(αi−βi)ωi > 0

Page 102: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Compute ordering, subject to constraints?

n

�∑

(αi−βi)ωi > 0

xβ ∈ Supp{g}

o

g∈G

inexact: simplex (GLPK)exact: double description method (PPL, Skeleton)

• speed/size tradeoff?• geometry of solutions?

Page 103: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Compute ordering, subject to constraints?

n

�∑

(αi−βi)ωi > 0

xβ ∈ Supp{g}

o

g∈G

inexact: simplex (GLPK)exact: double description method (PPL, Skeleton)

• speed/size tradeoff?• geometry of solutions?

Page 104: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Complexity issues?

Question

With thousands, even millions of monomials being ordered,won’t this overwhelm the system?

x5+ x4y2+wz3+w3z+wx4+w2yz2+ x2

new poly −→ new monomialsmany monomials −→ many constraintsmany constraints −→ too much time

Question

How can we reduce the number of constraints?

Page 105: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Complexity issues?

Question

With thousands, even millions of monomials being ordered,won’t this overwhelm the system?

x5+ x4y2+wz3+w3z+wx4+w2yz2+ x2

new poly −→ new monomialsmany monomials −→ many constraintsmany constraints −→ too much time

Question

How can we reduce the number of constraints?

Page 106: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Complexity issues?

Question

With thousands, even millions of monomials being ordered,won’t this overwhelm the system?

x5+ x4y2+wz3+w3z+wx4+w2yz2+ x2

new poly −→ new monomialsmany monomials −→ many constraintsmany constraints −→ too much time

Question

How can we reduce the number of constraints?

Page 107: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Many elements “strung together”

· · · > x3 > x2 > x > 1

Divisibility criterion [Caboara, 1993]t | u? no need to consider t.

(limited, esp. in homogeneous systems)

Page 108: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Many elements “strung together”

· · · > x3 > x2 > x > 1

Divisibility criterion [Caboara, 1993]t | u? no need to consider t.

(limited, esp. in homogeneous systems)

Page 109: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Many elements “caught between”

xy 6= lm�

x2+ xy+ y2�

Question

Under what condition(s) is u 6= lm (t+ u+ v)?

New criterion

u2 | tv

(Necessary, but not sufficient)

Page 110: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Many elements “caught between”

xy 6= lm�

x2+ xy+ y2�

Question

Under what condition(s) is u 6= lm (t+ u+ v)?

New criterion

u2 | tv

(Necessary, but not sufficient)

Page 111: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Many elements “caught between”

xy 6= lm�

x2+ xy+ y2�

Question

Under what condition(s) is u 6= lm (t+ u+ v)?

New criterion

u2 | tv

(Necessary, but not sufficient)

Page 112: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Many elements “caught between”

xy 6= lm�

x2+ xy+ y2�

Question

Under what condition(s) is u 6= lm (t+ u+ v)?

New criterion

u2 | tv

(Necessary, but not sufficient)

Page 113: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Many elements “fenced outside”

f = x+ y

g= x2+ y2

x= lm (f ) ⇐⇒ y2 6= lm (g)

How can we detect this?

Page 114: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Many elements “fenced outside”

f = x+ y

g= x2+ y2

x= lm (f ) ⇐⇒ y2 6= lm (g)

How can we detect this?

Page 115: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Many elements “fenced outside”

f = x+ y

g= x2+ y2

x= lm (f ) ⇐⇒ y2 6= lm (g)

How can we detect this?

Page 116: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Geometric view

linear constraints −→ polyhedral cone

τ

σ

µ

2d 3d

DefinitionSkeleton: extreme vectors & adjacency relationship

Page 117: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Geometric view

linear constraints −→ polyhedral cone

τ

σ

µ

2d 3d

DefinitionSkeleton: extreme vectors & adjacency relationship

Page 118: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Usefulness

Big-time fact!

Skeleton identifies minimal set of potential lm’sconsistent with previous choices

(Proved from Corner Point Theorem)

Page 119: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Usefulness

Big-time fact!

Skeleton identifies minimal set of potential lm’sconsistent with previous choices

(Proved from Corner Point Theorem)

Page 120: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Example

f = x+ y

g= x2+ y2

1 Choose x= lm (x+ y)2 x> y? skeleton {(1,0) , (1,1)}3 x2 > y2 for both

∴ y2 6= lm�

x2+ y2�

Page 121: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Example

f = x+ y

g= x2+ y2

1 Choose x= lm (x+ y)

2 x> y? skeleton {(1,0) , (1,1)}3 x2 > y2 for both

∴ y2 6= lm�

x2+ y2�

Page 122: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Example

f = x+ y

g= x2+ y2

1 Choose x= lm (x+ y)2 x> y? skeleton {(1,0) , (1,1)}

3 x2 > y2 for both

∴ y2 6= lm�

x2+ y2�

Page 123: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Example

f = x+ y

g= x2+ y2

1 Choose x= lm (x+ y)2 x> y? skeleton {(1,0) , (1,1)}3 x2 > y2 for both

∴ y2 6= lm�

x2+ y2�

Page 124: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Example

f = x+ y

g= x2+ y2

1 Choose x= lm (x+ y)2 x> y? skeleton {(1,0) , (1,1)}3 x2 > y2 for both

∴ y2 6= lm�

x2+ y2�

Page 125: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Challenge

CAS’s require integer orderings• simplex w/float fast• simplex w/int slower than molasses in winter

• narrow cone? large integer entries(CAS also don’t like large integer products)

Page 126: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Tool

Double description method• Exact• Iterative: well-suited for refinement!

• add constraints as needed• detect, discard redundant constraints

• Well-studied• Motzkin et al., 1953• Fukuda and Prodon, 1996• [Zolotykh, 2012] (← implemented this)

• Worst case not great (exponential complexity)

Page 127: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Use the entire skeleton. . .

• Refinement adds constraints• Explosion in # of vectors?

Page 128: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Use the entire skeleton. . .

• Refinement adds constraints

• Explosion in # of vectors?

Page 129: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Use the entire skeleton. . .

• Refinement adds constraints• Explosion in # of vectors?

Page 130: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

. . . or an approximation?

compute only max, minωi

disallow some needed, allow only needed

• O (n) space• O (n) “easy” calls to simplex: change objective function

Page 131: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Practical results

#constraints size of basis (pols ×mons)div only app skel dyn grevlex

Caboara 1 29 20 35× 137 239× 478Caboara 2 17 26 21× 42 553× 1106Cyclic-5 61 31 11× 68 20× 85Cyclic-6 250 56 20× 129 45× 199Cyclic-7 >1000 63 63× 1049 209× 1134

Cyclic-5 hom 60 33 11× 98 38× 197Cyclic-6 hom 303 39 33× 476 99× 580Cyclic-7 hom >1000 105 222× 5181 443× 3395

• Able to compute dyn GB we could not do before!• Reduction consumes most time (usually)• Katsura-n: similar size basis as static, fewer constraints

[Caboara & Perry, 2014]

Page 132: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Question #2

What can we say about the tradeoffof an approximate skeleton v. an exact one?

Page 133: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

§2.3

Question #3

Page 134: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

How to judge orderings?

Definition (Heuristic on leading terms)

H : Tn× 2Tn−→ S

S: scores, linearly orderedTn: monomials

Aims• educated: rationale for mapping• efficient: minimal penalty

Page 135: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

How to judge orderings?

Definition (Heuristic on leading terms)

H : Tn× 2Tn−→ S

S: scores, linearly orderedTn: monomials

Aims• educated: rationale for mapping• efficient: minimal penalty

Page 136: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Degree heuristic

DefinitionChoose monomial of smallest “degree”

efficient? yeseducated?

Page 137: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Degree heuristic

DefinitionChoose monomial of smallest “degree”

efficient? yeseducated?

We often prefer lower-degree terms. . .

deg�

x3y2�

= 5 degy4 = 4

Page 138: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Degree heuristic

DefinitionChoose monomial of smallest “degree”

efficient? yeseducated?

. . . though not always. . . also, independent of ordering?

deg (x) = 1 degy3 = 3

Page 139: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Hilbert heuristic

Definition (HF (d))

minimize Hilbert data (dimension, number of residues)

Educated?

• invariant of homogeneous ideal

• approaching from above• proposed by smart people[Gritzmann & Sturmfels, 1993,Caboara, 1993]

Efficient?

• well-studied [Bigatti, 1997, Roune, 2010]

• HP coeffs can grow very large

Page 140: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Hilbert heuristic

Definition (HF (d))

minimize Hilbert data (dimension, number of residues)

Educated?• invariant of homogeneous ideal

• approaching from above• proposed by smart people[Gritzmann & Sturmfels, 1993,Caboara, 1993]

Efficient?

• well-studied [Bigatti, 1997, Roune, 2010]

• HP coeffs can grow very large

Page 141: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Hilbert heuristic

Definition (HF (d))

minimize Hilbert data (dimension, number of residues)

Educated?• invariant of homogeneous ideal

• approaching from above• proposed by smart people[Gritzmann & Sturmfels, 1993,Caboara, 1993]

Efficient?• well-studied [Bigatti, 1997, Roune, 2010]

• HP coeffs can grow very large

Page 142: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Critical pairs heuristic

Definition (β)

minimize number of critical pairs after adding monomial

Educated?

• want to minimize• related to invariant of homogeneous ideal

(Betti number)• proposed by smart person (Eder)

Efficient?

• well-studied [Gebauer & Möller, 1988]• minimal overhead

Page 143: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Critical pairs heuristic

Definition (β)

minimize number of critical pairs after adding monomial

Educated?• want to minimize• related to invariant of homogeneous ideal

(Betti number)• proposed by smart person (Eder)

Efficient?

• well-studied [Gebauer & Möller, 1988]• minimal overhead

Page 144: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Critical pairs heuristic

Definition (β)

minimize number of critical pairs after adding monomial

Educated?• want to minimize• related to invariant of homogeneous ideal

(Betti number)• proposed by smart person (Eder)

Efficient?• well-studied [Gebauer & Möller, 1988]• minimal overhead

Page 145: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Question #3

Which of these heuristics performs well in practice:Degree, Hilbert, Betti, or Random?

Page 146: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

§3

1 Motivation, technical background

2 Dynamic algorithms

3 Experimental results

4 Conclusions, future directions

Page 147: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Review our questions

• Can we implement a Dynamic F4 algorithm?• What can we say about the tradeoff of an approximate

skeleton v. an exact one?• Which of these heuristics performs well in practice: Degree,

Hilbert, Betti, or Random?

Yes Lots Hilbert (best) & Betti (maybe)

Page 148: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Review our questions

• Can we implement a Dynamic F4 algorithm?• What can we say about the tradeoff of an approximate

skeleton v. an exact one?• Which of these heuristics performs well in practice: Degree,

Hilbert, Betti, or Random?

Yes

Lots Hilbert (best) & Betti (maybe)

Page 149: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Review our questions

• Can we implement a Dynamic F4 algorithm?• What can we say about the tradeoff of an approximate

skeleton v. an exact one?• Which of these heuristics performs well in practice: Degree,

Hilbert, Betti, or Random?

Yes Lots

Hilbert (best) & Betti (maybe)

Page 150: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Review our questions

• Can we implement a Dynamic F4 algorithm?• What can we say about the tradeoff of an approximate

skeleton v. an exact one?• Which of these heuristics performs well in practice: Degree,

Hilbert, Betti, or Random?

Yes Lots Hilbert (best) & Betti (maybe)

Page 151: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

§3.1

Implementing F4

Page 152: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Question #1

Can we implement a Dynamic F4 algorithm?

(1) Can it be done?(2) Can it be done efficiently?(3) Can it be done in an existing computer algebra system?

(1) Yes (2) I’d say so (3) Yes, but not without a lot of work*

*Except Sage (I think)

Page 153: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Question #1

Can we implement a Dynamic F4 algorithm?

(1) Can it be done?

(2) Can it be done efficiently?(3) Can it be done in an existing computer algebra system?

(1) Yes (2) I’d say so (3) Yes, but not without a lot of work*

*Except Sage (I think)

Page 154: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Question #1

Can we implement a Dynamic F4 algorithm?

(1) Can it be done?(2) Can it be done efficiently?

(3) Can it be done in an existing computer algebra system?

(1) Yes (2) I’d say so (3) Yes, but not without a lot of work*

*Except Sage (I think)

Page 155: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Question #1

Can we implement a Dynamic F4 algorithm?

(1) Can it be done?(2) Can it be done efficiently?(3) Can it be done in an existing computer algebra system?

(1) Yes (2) I’d say so (3) Yes, but not without a lot of work*

*Except Sage (I think)

Page 156: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Question #1

Can we implement a Dynamic F4 algorithm?

(1) Can it be done?(2) Can it be done efficiently?(3) Can it be done in an existing computer algebra system?

(1) Yes

(2) I’d say so (3) Yes, but not without a lot of work*

*Except Sage (I think)

Page 157: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Question #1

Can we implement a Dynamic F4 algorithm?

(1) Can it be done?(2) Can it be done efficiently?(3) Can it be done in an existing computer algebra system?

(1) Yes (2) I’d say so

(3) Yes, but not without a lot of work*

*Except Sage (I think)

Page 158: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Question #1

Can we implement a Dynamic F4 algorithm?

(1) Can it be done?(2) Can it be done efficiently?(3) Can it be done in an existing computer algebra system?

(1) Yes (2) I’d say so (3) Yes, but not without a lot of work*

*Except Sage (I think)

Page 159: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Question #1

Can we implement a Dynamic F4 algorithm?

(1) Can it be done?(2) Can it be done efficiently?(3) Can it be done in an existing computer algebra system?

(1) Yes (2) I’d say so (3) Yes, but not without a lot of work*

*Except Sage (I think)

Page 160: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Dynamic

Buchberger Algorithm

choose initial ordering

repeat• choose 2 unconsidered polys• reduce s-poly

• non-zero poly?

• reconsider ordering• re-order polys

until all pairs reduce to zero

Page 161: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Dynamic Buchberger Algorithm

choose initial orderingrepeat• choose 2 unconsidered polys• reduce s-poly• non-zero poly?

• reconsider ordering• re-order polys

until all pairs reduce to zero

Page 162: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Dynamic

F4 Algorithm

choose initial ordering

repeat• choose m unconsidered rows• perform Gauss-Jordan

• non-zero rows?

• reconsider ordering• adjust matrix

until all remaining rows reduce to zero rows

Page 163: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Dynamic F4 Algorithm

choose initial orderingrepeat• choose m unconsidered rows• perform Gauss-Jordan• non-zero rows?

• reconsider ordering• adjust matrix

until all remaining rows reduce to zero rows

Page 164: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Implementation?

DynGB, software for exploring dynamic algorithms to computea Gröbner basis

Still in development

Work-in-progress (as of Spring 2019)• works, but still sort of slow

• Dynamic Buchberger is remarkably slow• Dynamic F4 is pretty good

• learned a lot of things along the way• half-tempted to junk it and start from scratch• eventual plan is to fold dynamic code into existing CAS

(e.g., Eder’s F4 code)

Page 165: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Implementation?

DynGB, software for exploring dynamic algorithms to computea Gröbner basis

Still in development

Work-in-progress (as of Spring 2019)• works, but still sort of slow

• Dynamic Buchberger is remarkably slow• Dynamic F4 is pretty good

• learned a lot of things along the way

• half-tempted to junk it and start from scratch• eventual plan is to fold dynamic code into existing CAS

(e.g., Eder’s F4 code)

Page 166: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Implementation?

DynGB, software for exploring dynamic algorithms to computea Gröbner basis

Still in development

Work-in-progress (as of Spring 2019)• works, but still sort of slow

• Dynamic Buchberger is remarkably slow• Dynamic F4 is pretty good

• learned a lot of things along the way• half-tempted to junk it and start from scratch

• eventual plan is to fold dynamic code into existing CAS(e.g., Eder’s F4 code)

Page 167: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Implementation?

DynGB, software for exploring dynamic algorithms to computea Gröbner basis

Still in development

Work-in-progress (as of Spring 2019)• works, but still sort of slow

• Dynamic Buchberger is remarkably slow• Dynamic F4 is pretty good

• learned a lot of things along the way• half-tempted to junk it and start from scratch• eventual plan is to fold dynamic code into existing CAS

(e.g., Eder’s F4 code)

Page 168: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Reinventing the wheel?

Why not modify a CAS?

It’s not easy.

Page 169: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Reinventing the wheel?

Why not modify a CAS? It’s not easy.

• decades-old code and/or non-existent documentation

• organized, optimized, tuned for static computation• 67% penalty for same work (sometimes more)[ i.e., grevlex v. wgrevlex(1,. . . ,1) ]• pulling one thread unravels the whole cloth

Page 170: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Reinventing the wheel?

Why not modify a CAS? It’s not easy.

• decades-old code and/or non-existent documentation• organized, optimized, tuned for static computation

• 67% penalty for same work (sometimes more)[ i.e., grevlex v. wgrevlex(1,. . . ,1) ]• pulling one thread unravels the whole cloth

Page 171: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Reinventing the wheel?

Why not modify a CAS? It’s not easy.

“Dive in and destroy; we’ll sort it out later.”

I spent 2 years trying to modify 2 existing CAS’s.I have not given up, but I needed a reference implementation.

Page 172: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Reinventing the wheel?

Why not modify a CAS? It’s not easy.

“Dive in and destroy; we’ll sort it out later.”

I spent 2 years trying to modify 2 existing CAS’s.I have not given up, but I needed a reference implementation.

Page 173: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Sample performance

Cyclic-7h

Buch DBuch F4 DF4

time (sec) 17.6 9.5 4.0 1.0s-polys 2199 396 2199 409

size of basis 443 106 443 108highest degree 20 14 20 15

Mid-2012 MacBook Pro, 2.5 GHz Intel Core i5,16 GB RAM, MacOS 10.13 High Sierra

Page 174: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Sample performance

Cyclic-8h

Buch DBuch F4 DF4

time 775 1519 148 28s-polys 7026 2048 7025 1991

size of basis 1182 415 1182 404highest degree 30 18 30 17

Mid-2012 MacBook Pro, 2.5 GHz Intel Core i5,16 GB RAM, MacOS 10.13 High Sierra

Page 175: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

§3.2

Cone evolution?

Page 176: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Question #2

What can we say about the tradeoffof an approximate skeleton v. an exact one?

Similar results in [Hashemi & Talaashrafi, 2016](independent work)

Page 177: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Question #2

What can we say about the tradeoffof an approximate skeleton v. an exact one?

Similar results in [Hashemi & Talaashrafi, 2016](independent work)

Page 178: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Cone evolution

Size of skeleton (vectors) v. number of refinements

not too frightening:

top-bot (from left): eco8, Es 1, Es 2, kotsireas

Page 179: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Cone evolution

Size of skeleton (vectors) v. number of refinements

downright pleasant:

top-bot (from left): Cyc7, Cyc6, Cyc5

Page 180: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Cone evolution

Size of skeleton (vectors) v. number of refinements

also reassuring:

Cyclic-5h Cyclic-6h Cyclic-7h

Page 181: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Cone evolution

Size of skeleton (vectors) v. number of refinements

not too disconcerting:

Cab Es1 (rand binom) Cab Es2 (int prog binom)

Page 182: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Exact or inexact?

Exact solver typically smaller & faster. . .

Cyc-7h, Z32003 |basis| #s time (sec)inexact 401 1373 25.2exact 107 404 4.99static 443 2199 10.8

Page 183: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Exact or inexact?

. . . but not always. . .

Cyc-6h, Z32003 |basis| #s time (sec)inexact 30 81 0.15exact 38 110 0.09static 99 389 0.15

Page 184: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Exact or inexact?

. . . and in some cases there’s no choice!

4× 4 |basis| #s time (sec)inexact 7 6 .418exact * * *static 44 202 .396

Page 185: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Not all the news is great

“4× 4” system [Yan, 1998]• ~500 −→~60,000 vectors in 2 refinements• exact approaches choke / terminate after 2 minutes• approximate approaches compute GB in half a second!

• GLPK (simplex)

Page 186: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

§3.3

Method of judging

Page 187: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Question #3

Which of these heuristics performs well in practice:Degree, Hilbert, Betti, or Random?

Page 188: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Benchmark systems

Caboara 1

| basis | #s time (sec)static 239 1188 .562betti 154 711 .281

degree 95 396 .183hilbert 34 137 .089

random (×3)63 266 .141346 1685 1.63138 625 .273

Page 189: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Benchmark systems

Caboara 2

| basis | #s time (sec)static 414 6781 42.96betti 6 681 .451

degree 6 33 .011hilbert 7 30 .113

random (×3)6 63 .0266 63 .0266 30 .018

Page 190: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Benchmark systems

4× 4

| basis | #s time (sec)static 44 202 .404betti 7 7 .208

degree 7 7 .401hilbert 7 7 .404

random (×3)47 233 8.6267 379 86.933 144 5.40

*GLPK only

Page 191: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Benchmark systems

Cyc-7

| basis | #s time (sec)static 209 2099 10.7betti 81 2634 43.0

degree 54 2099 50.5hilbert 54 2147 54.8

random (×3)35 2227 51.146 2721 43.752 2214 50.4

Page 192: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Benchmark systems

Cyc-7h

| basis | #s time (sec)static 443 2199 14.927betti 109 404 4.75

degree 106 399 5.05hilbert 107 404 5.05

random (×3)170 842 27.7155 756 25.8214 907 13.0

Page 193: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Benchmark systems

Buch85

| basis | #s time (sec)static 59 412 .039betti 15 57 .489

degree 11 22 .150hilbert 11 27 .156

random (×3)11 20 .22711 25 .17214 30 .163

Page 194: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Benchmark systems

butcher8

| basis | #s time (sec)static 29 435 .441betti 10 386 1.27

degree * * *hilbert 29 366 .367

random (×3)* * *8 260 .5198 167 .253

*terminated after several seconds

Page 195: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Benchmark systems

eco8

| basis | #s time (sec)static 59 351 .306betti 21 231 .896

degree * * *hilbert 12 362 1.54

random (×3)8 513 4.708 247 .7968 382 2.41

*terminated after several seconds

Page 196: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Benchmark systems

kotsireas

| basis | #s time (sec)static 92 546 1.14betti 23 405 1.35

degree 6 731 11.0hilbert 27 311 .809

random (×3)* * *6 737 11.1* * *

Page 197: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Benchmark systems

katsura8

| basis | #s time (sec)static 143 886 10.7betti 95 1348 85.1

degree 15 1588 51.8hilbert 133 822 13.3

random (×3)15 1776 72.5* * *30 1266 66.7

Page 198: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Benchmark systems

katsura8h

| basis | #s time (sec)static 143 886 11.0betti 154 925 15.7

degree 130 790 15.8hilbert 249 1745 38.2

random (×3)183 1191 25.0207 1369 26.5329 2332 96.3

Page 199: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Benchmark systems

noon5

| basis | #s time (sec)static 72 267 .074betti 72 266 .096

degree 15 577 5.88hilbert 53 314 .542

random (×3)15 577 5.9115 578 5.8215 577 5.90

Page 200: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Benchmark systems

s9_1

| basis | #s time (sec)static 15 32 .011betti 14 28 .020

degree 8 14 .017hilbert 14 28 .021

random (×3)8 13 .0188 13 .0208 13 .019

Page 201: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Heuristic performance

Dynamic sometimes longer?• weighted degree• longer intermediate polys• fewer pairs, smaller basis; faster computation

No heuristic has advantage?!?

Even random choice competes?

Page 202: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Heuristic performance

Dynamic sometimes longer?• weighted degree• longer intermediate polys• fewer pairs, smaller basis; faster computation

No heuristic has advantage?!?

Even random choice competes?

Page 203: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Heuristic performance

Dynamic sometimes longer?• weighted degree• longer intermediate polys• fewer pairs, smaller basis; faster computation

No heuristic has advantage?!? Even random choice competes?

Page 204: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Why is random sometimes better?

• finitely many orderings (equiv. classes, really)

• sometimes “very” finite!

Example (Cyclic-4)

96 possible orderings via gfan4–8 GB size16 size 416 size 5

33% probability of choosing “small” basis!

For most systems tried, random is terrible

Page 205: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Why is random sometimes better?

• finitely many orderings (equiv. classes, really)• sometimes “very” finite!

Example (Cyclic-4)

96 possible orderings via gfan4–8 GB size16 size 416 size 5

33% probability of choosing “small” basis!

For most systems tried, random is terrible

Page 206: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Why is random sometimes better?

• finitely many orderings (equiv. classes, really)• sometimes “very” finite!

Example (Cyclic-4)

96 possible orderings via gfan

4–8 GB size16 size 416 size 5

33% probability of choosing “small” basis!

For most systems tried, random is terrible

Page 207: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Why is random sometimes better?

• finitely many orderings (equiv. classes, really)• sometimes “very” finite!

Example (Cyclic-4)

96 possible orderings via gfan4–8 GB size16 size 416 size 5

33% probability of choosing “small” basis!

For most systems tried, random is terrible

Page 208: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Why is random sometimes better?

• finitely many orderings (equiv. classes, really)• sometimes “very” finite!

Example (Cyclic-4)

96 possible orderings via gfan4–8 GB size16 size 416 size 5

33% probability of choosing “small” basis!

For most systems tried, random is terrible

Page 209: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Why is random sometimes better?

• finitely many orderings (equiv. classes, really)• sometimes “very” finite!

Example (Cyclic-4)

96 possible orderings via gfan4–8 GB size16 size 416 size 5

33% probability of choosing “small” basis!

For most systems tried, random is terrible

Page 210: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

§3.4

Remarks on a Dynamic F5

Page 211: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Quick review

F4 GB algorithm using matrix arithmetic

F5

GB algorithm w/matrix arithmetic and row labels

x3 x2y xy2 y3 x2 xy y2 x y 1... . . . . . .

...1 1 −4 xg

1 1 −4 yg

1 1 −4 g. . . . . .

...1 −1 xf

1 −1 yf

1 −1 f

Page 212: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Quick review

F4 GB algorithm using matrix arithmeticF5 GB algorithm w/matrix arithmetic and row labels

x3 x2y xy2 y3 x2 xy y2 x y 1... . . . . . .

...1 1 −4 xg

1 1 −4 yg

1 1 −4 g. . . . . .

...1 −1 xf

1 −1 yf

1 −1 f

Page 213: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

More specifically

F5 GB algorithm w/matrix arithmetic and row labelsreduce row by lower rows only

x3 x2y xy2 y3 x2 xy y2 x y 1... . . . . . .

...1 1 −4 xg

1 1 −4 yg

1 1 −4 g. . . . . .

...1 −1 xf

1 −1 yf

1 −1 f

Page 214: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

More specifically

F5 GB algorithm w/matrix arithmetic and row labelsreduce row by lower rows only

x3 x2y xy2 y3 x2 xy y2 x y 1... . . . . . .

...1 1 −4 xg

1 1 −4 yg

1 1 −4 g. . . . . .

...1 −1 xf

1 −1 yf

1 −1 f

Page 215: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Why the restriction?

row labels −→ signatures −→ “how row was generated”

x3 x2y xy2 y3 x2 xy y2 x y 1... . . . . . .

...1 1 −4 xg

1 1 −4 yg

1 1 −4 g. . . . . .

...1 −1 xf

1 −1 yf

1 −1 f

[yg] ?← [yg]− [xf]

Page 216: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Why the restriction?

row labels −→ signatures −→ “how row was generated”

x3 x2y xy2 y3 x2 xy y2 x y 1... . . . . . .

...1 1 −4 xg

0 1 1 −4 yg

1 1 −4 g. . . . . .

...1 −1 xf

1 −1 yf

1 −1 f

[yg] ?← [yg]− [xf]

Page 217: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Observations

signature depends on ordering

change order: change signature? more delicatere-evaluate order during reduction? more opportunity

Page 218: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Observations

signature depends on ordering

change order: change signature? more delicate

re-evaluate order during reduction? more opportunity

Page 219: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Observations

signature depends on ordering

change order: change signature? more delicatere-evaluate order during reduction? more opportunity

Page 220: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

§4

1 Motivation, technical background

2 Dynamic algorithms

3 Experimental results

4 Conclusions, future directions

Page 221: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Summary

• Dynamic algorithms seek out “good” orderings• can be faster, smaller. . . but no guarantee• metrics need further investigation

• implementation shows promise (IMHO)• Dynamic F5

Page 222: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Thank you!

Massimo Caboara

Università di Pisa

Christian Eder

Centre for Computer Algebra

William Stein

Николай Юрьевич Золотых

Казанский Федеральний Университет

University of Southern Mississippi

Галина Валеревна Заморий

Page 223: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Bibliography: General

Bigatti, “Computation of Hilbert-Poincaré Series.” JPAA 119 (1997),237–253.

Buchberger, An algorithm for finding the basis elements of the residue classring of a zero dimensional polynomial ideal. PhD Thesis (1965), Universityof Innsbruck. English translation in JSC 41 (2006) 475–511.

Gebauer and Möller, “On an Installation of Buchberger’s Algorithm,”JSC 6 (1988) 275–286.

Lazard, “Gröbner bases, Gaussian elimination, and resolution of systemsof algebraic equations.” EUROCAL ’83, Springer LNCS 162, 146–156.

Roune, “A Slice Algorithm for Corners and Hilbert-Poincaré Series ofMonomial Ideals.” ISSAC 2010, AMC Press, 115–122.

Yan, “The Geobucket Data Structure for Polynomials.” JSC 25 (1998)295–293.

Page 224: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Bibliography: Dynamic algorithm

Caboara, “A Dynamic Algorithm for Gröbner basis computation.”ISSAC ’93, ACM Press, 275–283.

Caboara and Perry, “Reducing the size and number of linear programs ina dynamic Gröbner basis algorithm.” AAECC 25 (2014) 99–117.

O. Golubitsky, “Converging term order sequences and the dynamicBuchberger algorithm.” Unpublished preprint received via privatecommunication.

Gritzmann and Sturmfels, “Minkowski Addition of Polytopes:Computational Complexity and Applications to Gröbner Bases.” SIAM J.Disc. Math 6 (1993) 246–269.

Hashemi and Talaashrafi, “A Note on Dynamic Gröbner BasesComputation.” CASC 2016, Springer, 276–288.

Mora and Robbiano, “The Gröbner fan of an ideal.” JSC 6 (1988) 183–208.

Perry, “Exploring the Dynamic Buchberger Algorithm.” ISSAC 2017,ACM Press, 365–372.

Robbiano, “On the theory of graded structures,” JSC 2 (1986) 139–170.

Zolotykh, “New Modification of the Double Description Method forConstructing the Skeleton of a Polyhedral Cone.” ComputationalMathematics and Mathematical Physics 52 (2012) 153–163.

Page 225: The dynamic approach to Gröbner basis computationImplementing F4 Cone evolution? Method of judging Remarks on a Dynamic F5 Conclusions, future directions The dynamic approach to Gröbner

The dynamicapproach to

Gröbner basiscomputation

John Perry

Motivation,technicalbackgroundFirst World problems

McEliece

Gröbner bases

DynamicalgorithmsQuestion #1

Question #2

Question #3

ExperimentalresultsImplementing F4

Cone evolution?

Method of judging

Remarks on aDynamic F5

Conclusions,futuredirections

Bibliography: Faugère

Faugère, “A new efficient algorithm for computing Gröbner bases (F4).”Journal of Pure and Applied Algebra 139 (1999) 61–88.

Faugère, “A new efficient algorithm for computing Gröbner baseswithout reduction to zero (F5).” ISSAC ’02, ACM Press, 75–82.

Faugère and Joux, “Algebraic cryptanalysis of Hidden Field Equation(HFE) cryptosystems using Gröbner bases.” Advances in Cryptology(2003) 44–60.