Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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.
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.
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.
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!
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?
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:
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.
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.
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.
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
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
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
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
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
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
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
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.
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.
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.
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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?
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?
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?
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
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
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
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
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
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
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
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
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!
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!
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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!
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!
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!
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!
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!
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!
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!
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!
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
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
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
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
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
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
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
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)
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)
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?
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
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.
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.
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.
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.
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.
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)
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
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
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
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?
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?
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?
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?
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?
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)
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)
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)
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)
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)
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)
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?
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?
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?
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
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
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)
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)
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�
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�
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�
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�
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�
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)
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)
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?
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?
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?
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
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]
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?
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
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
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
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?
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
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
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
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
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
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
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
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
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?
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
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)
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)
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)
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)
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
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)
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)
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)
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)
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)
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)
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)
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)
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
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
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
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
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)
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)
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)
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)
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.
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
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
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.
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.
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
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
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?
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)
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)
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
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
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
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)
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
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
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
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)
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
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?
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
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
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
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
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
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
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
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
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* * *
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
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
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
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
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?
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?
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?
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
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
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
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
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
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
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
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
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
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
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
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]
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]
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
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
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
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
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
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
Галина Валеревна Заморий
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.
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.
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.