Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Grobner Bases and Tilings
Amir Hashemi
Isfahan University of Technology & IPM
CIMPA-IRAN school on Tilings and Tessellations, Isfahan, Iran, 2015
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Abu Abdallah Muhammed Ibn Mussa
Al−Khwarizmi
Al-Khwarizmi, Persian mathematician,
was born in Khwarizm (Kheva) around
the year 770, in a village south of the
Oxus River in a region that is now named
the Uzbekistan (Persian empire, the former
Iran). He died around the year 840. He
is known for having introduced the concept
of mathematical algorithm. The word
algorithm derives from his name. His algebra treatise “Hisab al-jabr
w’al-muqabala” gives us the word algebra and can be considered as the
first book to be written on algebra.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Outline of talk
1 Introduction
2 Grobner basesMonomial OrderingsGrobner Bases
3 Computation of Grobner BasesHistory of Grobner BasesMathematical Softwares
4 ApplicationsElimination TheorySolving Polynomial Systems
5 Grobner Bases over IntegersApplication to Tilings
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Notations
✄ K; a field e.g. K = R,Q, . . .
✄ x1, . . . , xn; a sequence of variables
✄ A polynomial is a sum of products of numbers andvariables, e.g.
f = x1x2 + 12x1 − x32
✄ R = K[x1, . . . , xn]; set of all polynomials
✄ f1, . . . , fk ∈ R and F = {f1, . . . , fk}
✄ I = 〈F 〉 = {p1f1 + · · ·+ pkfk | pi ∈ R}
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Notations (cont.)
The variety of a system: Consider F = {f1, . . . , fk}
✄
f1 = 0...
fk = 0.
✄ V(f1, . . . , fk) = V(F ) : The solutions of the system
✄ E.g.
x2 + y2 + z2 = 4x2 + 2y2 = 5
xz = 1
✄ V(f1, f2, f3) = {(1,√2, 1), . . .} where
f1 = x2 + y2 + z2 − 4, · · ·
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
What is Algebraic Geometry?
Studying the solutions of a polynomial systemi.e. computing V(F ) using algebraic tools:
✄ Algebra✄ Geometry✄ Computer Science (Computational Algebraic Geometry)
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
What is Algebraic Geometry?
Studying the solutions of a polynomial systemi.e. computing V(F ) using algebraic tools:
✄ Algebra✄ Geometry✄ Computer Science (Computational Algebraic Geometry)
Example: I = 〈x2 − y2 − z, z − 2〉 ⊂ R[x, y, z]
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Variables versus Unknowns
If we consider the equation x2 − x+ 1 = 0; i.e. we look forits zeros then x is called an unknown
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Variables versus Unknowns
If we consider the equation x2 − x+ 1 = 0; i.e. we look forits zeros then x is called an unknown
If we consider the polynomial x2 − x+ 1 then x is called avariable
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Variables versus Unknowns
If we consider the equation x2 − x+ 1 = 0; i.e. we look forits zeros then x is called an unknown
If we consider the polynomial x2 − x+ 1 then x is called avariable
So, the polynomial x2 − x+ 1 is never 0.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Variables versus Unknowns
If we consider the equation x2 − x+ 1 = 0; i.e. we look forits zeros then x is called an unknown
If we consider the polynomial x2 − x+ 1 then x is called avariable
So, the polynomial x2 − x+ 1 is never 0.
For example if we consider the polynomial ax2 − bx+ c = 0 inx then a = b = c = 0.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Variables versus Unknowns
If we consider the equation x2 − x+ 1 = 0; i.e. we look forits zeros then x is called an unknown
If we consider the polynomial x2 − x+ 1 then x is called avariable
So, the polynomial x2 − x+ 1 is never 0.
For example if we consider the polynomial ax2 − bx+ c = 0 inx then a = b = c = 0.
Equation ❀ UnknownPolynomial ❀ V ariable
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Univariate Polynomial Ring
Let K be a field and K[x] the ring of polynomials in x
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Univariate Polynomial Ring
Let K be a field and K[x] the ring of polynomials in x
If f1, . . . , fk ∈ K[x] then 〈f1, . . . , fk〉 = 〈gcd(f1, . . . , fk)〉
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Univariate Polynomial Ring
Let K be a field and K[x] the ring of polynomials in x
If f1, . . . , fk ∈ K[x] then 〈f1, . . . , fk〉 = 〈gcd(f1, . . . , fk)〉K[x] is a PID, e.g. 〈x− 1, x2 − 1〉 = 〈x− 1〉
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Univariate Polynomial Ring
Let K be a field and K[x] the ring of polynomials in x
If f1, . . . , fk ∈ K[x] then 〈f1, . . . , fk〉 = 〈gcd(f1, . . . , fk)〉K[x] is a PID, e.g. 〈x− 1, x2 − 1〉 = 〈x− 1〉Thus, gcd computations (using Euclid algorithm) can solvemany problems in K[x]
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Univariate Polynomial Ring
Let K be a field and K[x] the ring of polynomials in x
If f1, . . . , fk ∈ K[x] then 〈f1, . . . , fk〉 = 〈gcd(f1, . . . , fk)〉K[x] is a PID, e.g. 〈x− 1, x2 − 1〉 = 〈x− 1〉Thus, gcd computations (using Euclid algorithm) can solvemany problems in K[x]
Suppose thatf := x3 − 6x2 + 11x− 6
g := x3 − 10x2 + 29x− 20
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Univariate Polynomial Ring
Let K be a field and K[x] the ring of polynomials in x
If f1, . . . , fk ∈ K[x] then 〈f1, . . . , fk〉 = 〈gcd(f1, . . . , fk)〉K[x] is a PID, e.g. 〈x− 1, x2 − 1〉 = 〈x− 1〉Thus, gcd computations (using Euclid algorithm) can solvemany problems in K[x]
Suppose thatf := x3 − 6x2 + 11x− 6
g := x3 − 10x2 + 29x− 20
Since gcd(f, g) = x− 1 then V(f, g) = V(〈f, g〉) = V(x− 1)
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Univariate Polynomial Ring
Let K be a field and K[x] the ring of polynomials in x
If f1, . . . , fk ∈ K[x] then 〈f1, . . . , fk〉 = 〈gcd(f1, . . . , fk)〉K[x] is a PID, e.g. 〈x− 1, x2 − 1〉 = 〈x− 1〉Thus, gcd computations (using Euclid algorithm) can solvemany problems in K[x]
Suppose thatf := x3 − 6x2 + 11x− 6
g := x3 − 10x2 + 29x− 20
Since gcd(f, g) = x− 1 then V(f, g) = V(〈f, g〉) = V(x− 1)
The only solution of the system f = g = 0 is x = 1
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Univariate Polynomial Ring
Let K be a field and K[x] the ring of polynomials in x
If f1, . . . , fk ∈ K[x] then 〈f1, . . . , fk〉 = 〈gcd(f1, . . . , fk)〉K[x] is a PID, e.g. 〈x− 1, x2 − 1〉 = 〈x− 1〉Thus, gcd computations (using Euclid algorithm) can solvemany problems in K[x]
Suppose thatf := x3 − 6x2 + 11x− 6
g := x3 − 10x2 + 29x− 20
Since gcd(f, g) = x− 1 then V(f, g) = V(〈f, g〉) = V(x− 1)
The only solution of the system f = g = 0 is x = 1
Membership Problem: x2 − 1 ∈ 〈f, g〉 because x− 1 | x2 − 1.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Two Questions
☞ R = K[x1, . . . , xn]; a multivariate polynomial ring☞ F ⊂ R; a finite set of polynomials☞ I ⊂ R; an ideal
Membership problem: h ∈ I?
Solving polynomial systems: V(F )?
In practice, the answer to these questions is not easy!
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Two Questions
☞ R = K[x1, . . . , xn]; a multivariate polynomial ring☞ F ⊂ R; a finite set of polynomials☞ I ⊂ R; an ideal
Membership problem: h ∈ I?
Solving polynomial systems: V(F )?
In practice, the answer to these questions is not easy!
Grobner bases can answer them!
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Multivariate Polynomial Ring
F ⊂ K[x1, . . . , xn]
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Multivariate Polynomial Ring
F ⊂ K[x1, . . . , xn]
V(F ) doesn’t depend on the generators of 〈F 〉
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Multivariate Polynomial Ring
F ⊂ K[x1, . . . , xn]
V(F ) doesn’t depend on the generators of 〈F 〉f := 2x2 + 3y2 − 11, g := x2 − y2 − 3
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Multivariate Polynomial Ring
F ⊂ K[x1, . . . , xn]
V(F ) doesn’t depend on the generators of 〈F 〉f := 2x2 + 3y2 − 11, g := x2 − y2 − 3
Since 〈f, g〉 = 〈x2 − 4, y2 − 1〉 then V (f, g) = {(±2,±1)}
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Multivariate Polynomial Ring
F ⊂ K[x1, . . . , xn]
V(F ) doesn’t depend on the generators of 〈F 〉f := 2x2 + 3y2 − 11, g := x2 − y2 − 3
Since 〈f, g〉 = 〈x2 − 4, y2 − 1〉 then V (f, g) = {(±2,±1)}So we look for a more convenient generating set for 〈F 〉
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Multivariate Polynomial Ring
F ⊂ K[x1, . . . , xn]
V(F ) doesn’t depend on the generators of 〈F 〉f := 2x2 + 3y2 − 11, g := x2 − y2 − 3
Since 〈f, g〉 = 〈x2 − 4, y2 − 1〉 then V (f, g) = {(±2,±1)}So we look for a more convenient generating set for 〈F 〉To bring it into computer, we need |F | < ∞
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Multivariate Polynomial Ring
F ⊂ K[x1, . . . , xn]
V(F ) doesn’t depend on the generators of 〈F 〉f := 2x2 + 3y2 − 11, g := x2 − y2 − 3
Since 〈f, g〉 = 〈x2 − 4, y2 − 1〉 then V (f, g) = {(±2,±1)}So we look for a more convenient generating set for 〈F 〉To bring it into computer, we need |F | < ∞By Hilbert Basis Theorem there exist f1, . . . , fm ∈ F so that
〈F 〉 = 〈f1, . . . , fm〉
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Monomial OrderingsGrobner Bases
Polynomial Ring
☞ K a field
✄ We denote the monomial xα1
1 · · · xαn
n by Xα withα = (α1, . . . , αn)
✄ {monomials in R} ↔ Zn≥0
✄ If Xα is a monomial and a ∈ K, then aXα is a term
✄ A polynomial is a finite sum of terms.
☞ R = K[x1, . . . , xn]; the ring of all polynomials.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Monomial OrderingsGrobner Bases
Definition
A monomial ordering is a total ordering ≺ on the set of monomialsXα = xα1
1 · · · xαn
n ,α = (α1, . . . , αn) ∈ Zn≥0 such that,
Xα ≺ Xβ ⇒ Xα+γ ≺ Xβ+γ and
1 ≺ Xα for all α
Convention
For a monomial Xα = xα1
1 · · · xαn
n , We call |α| := α1 + · · ·+ αn,the total degree of Xα
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Monomial OrderingsGrobner Bases
Some important monomial orderings
Lex(Lexicographic) Ordering
Xα ≺lex Xβ if leftmost nonzero of α− β is < 0
Degree Reverse Lex Ordering
Xα ≺drl Xβ if
|α| < |β|or
|α| = |β| and rightmost nonzero of α− β is > 0
Examplex ≺ x3 x2y3 ≺lex(x,y) x
3y2 x3y ≺drl(x,y) xy5
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Monomial OrderingsGrobner Bases
Notations
☞ R = K[x1, . . . , xn], f ∈ R
☞ ≺ a monomial ordering on R
☞ I ⊂ R an ideal
LM(f): The greatest monomial (with respect to ≺) in f5x3y2 + 4x2y3 + xy + 1
LC(f): The coefficient of LM(f) in f5x3y2 + 4x2y3 + xy + 1
LT(f): LC(f)LM(f)5x3y2+4x2y3 + xy + 1
LT(I): 〈LT(f) | f ∈ I〉
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Monomial OrderingsGrobner Bases
Definition
✄ I ⊂ K[x1, . . . , xn]
✄ ≺ A monomial ordering
✄ A finite set G ⊂ I is a Grobner Basis for I w.r.t. ≺, if
LT(I) = 〈LT(g) | g ∈ G〉
Existence of Grobner bases
Each ideal has a Grobner basis
Example
I = 〈xy − x, x2 − y〉, y ≺lex xLT(I) = 〈x2, xy, y2〉A Grobner basis is: {xy − x, x2 − y, y2 − y}.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Monomial OrderingsGrobner Bases
Unicity
Definition
✄ G ⊂ I is a reduced Grobner basis w.r.t. ≺ if
G is a Grobner basis for I w.r.t. ≺∀g ∈ G, LC(g) = 1∀f, g ∈ G, LT(f) ∤ any term of g
Theorem
Every ideal I has a unique reduced Grobner basis w.r.t. ≺
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
History of Grobner BasesMathematical Softwares
Division Algorithm in K[x1, . . . , xn]
Theorem
Fix a monomial ordering ≺ and let F := (f1, . . . , fk) be an ordereds−tuple of polynomials in K[x1, . . . , xn] Then, everyf ∈ K[x1, . . . , xn] can be written as
f = q1f1 + · · ·+ qkfk + r
where qi, r ∈ K[x1, . . . , xn] and either r = 0 or no term of r isdivisible by any of LT(f1), . . . ,LT(fk). We call r, the remainderon division of f by F .
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
History of Grobner BasesMathematical Softwares
Algorithm 1 Division Algorithm
Require: f, f1, . . . , fk and ≺Ensure: q1, . . . , qk, rq1 := 0; · · · ; qk := 0;p := f ;while ∃fi s.t. LT(fi) divides a term m in p do
qi := qi +m
LT(fi)
p := p− ( mLT(fi)
)fiend whilereturn q1, . . . , qk, p
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
History of Grobner BasesMathematical Softwares
Example
Divide f = xy2 + 1 by f1 = xy + 1, f2 = y + 1 and y ≺lex x
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
History of Grobner BasesMathematical Softwares
Example
Divide f = xy2 + 1 by f1 = xy + 1, f2 = y + 1 and y ≺lex xf → (xy2 + 1)− y(xy + 1) = 1− y → (1− y) + (y + 1) = 2
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
History of Grobner BasesMathematical Softwares
Example
Divide f = xy2 + 1 by f1 = xy + 1, f2 = y + 1 and y ≺lex xf → (xy2 + 1)− y(xy + 1) = 1− y → (1− y) + (y + 1) = 2So we can write f = y(xy + 1) + (−1)(y + 1) + 2
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
History of Grobner BasesMathematical Softwares
Example
Divide f = xy2 + 1 by f1 = xy + 1, f2 = y + 1 and y ≺lex xf → (xy2 + 1)− y(xy + 1) = 1− y → (1− y) + (y + 1) = 2So we can write f = y(xy + 1) + (−1)(y + 1) + 2
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
History of Grobner BasesMathematical Softwares
Example
Divide f = xy2 + 1 by f1 = xy + 1, f2 = y + 1 and y ≺lex xf → (xy2 + 1)− y(xy + 1) = 1− y → (1− y) + (y + 1) = 2So we can write f = y(xy + 1) + (−1)(y + 1) + 2
Example
✄ f = xy2+x2y+y2, f1 = y2−1, f2 = xy−1, y ≺lex x
✄ f = (x+ 1)f1 + xf2 + 2x+ 1
✄ f = (x+ y)f2 + f1 + x+ y + 1
⇒ The remainder is not unique.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
History of Grobner BasesMathematical Softwares
Example
Divide f = xy2 + 1 by f1 = xy + 1, f2 = y + 1 and y ≺lex xf → (xy2 + 1)− y(xy + 1) = 1− y → (1− y) + (y + 1) = 2So we can write f = y(xy + 1) + (−1)(y + 1) + 2
Example
✄ f = xy2+x2y+y2, f1 = y2−1, f2 = xy−1, y ≺lex x
✄ f = (x+ 1)f1 + xf2 + 2x+ 1
✄ f = (x+ y)f2 + f1 + x+ y + 1
⇒ The remainder is not unique.
Theorem
{g1, . . . , gk} is a Grobner basis iff for each f ∈ R the remainder off by G is unique.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
History of Grobner BasesMathematical Softwares
Buchberger’s Criterion
Definition
S-polynomial
Spoly(f, g) =xγ
LT(f)f − xγ
LT(g)g
xγ = lcm(LM(f),LM(g))
Spoly(x3y2+xy3, xyz−z3) = z(x3y2+xy3)−x2y(xyz−z3) = zxy3+x2yz3
Buchberger’s Criterion
✄ G is a Grobner basis for 〈G〉✄ ∀gi, gj ∈ G, remainder((Spoly(gi, gj), G) = 0
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
History of Grobner BasesMathematical Softwares
Algorithm 2 Buchberger’s Algorithm
Require: F := (f1, . . . , fs) and ≺Ensure: A Grobner basis for the ideal 〈f1, . . . , fs〉 w.r.t. ≺
G := FB := {{f, g}|f, g ∈ F}while B 6= ∅ do
Select and remove a pair {f, g} from BLet r be the remainder of Spoly(f, g) by Fif r 6= 0 then
B := B ∪ {{h, r} | h ∈ G}G := G ∪ {r}
end ifend whilereturn G
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
History of Grobner BasesMathematical Softwares
Example
I = 〈f1, f2〉 = 〈xy − x, x2 − y〉 y ≺lex x
G := {f1, f2}
Spoly(f1, f2) = xf1 − yf2 = y2 − x2f2−−−−→ y2 − y = f3
G := {f1, f2, f3}
Spoly(fi, fj)G−−−−→ 0
G := {f1, f2, f3} is a Grobner basis for I
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
History of Grobner BasesMathematical Softwares
Buchberger, 65 :
Developing the theory of Grobner basesBuchberger criteria
Lazard, 83 :
Using linear algebra
Gebauer, Moller, 88 :
Installing Buchberger criteria
Faugere, 93, 94, 02 :
FGLMF4 algorithm (intensive linear algebra)F5 algorithm
Gao, Volny, 10 :
G2V (with Guan)GVW (with Wang)
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
History of Grobner BasesMathematical Softwares
Magma
University of Sydney, Australia
Maple
University of Waterloo, Canada
Singular
University of Kaiserslautern, Germany
Macaulay 2
University of cornell, USA
Cocoa
University of Geneva, Italy
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Ideal Membership
Theorem
f ∈ I iff f ❀G 0 where G is a GB of I
Example
✄ I = 〈xy − x, x2 − y〉✄ Is y2 + y ∈ I?
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Ideal Membership
Theorem
f ∈ I iff f ❀G 0 where G is a GB of I
Example
✄ I = 〈xy − x, x2 − y〉✄ Is y2 + y ∈ I?
✄ y ≺lex x
✄ The reduced Grobner basis of I isG = {xy − x, x2 − y, y2 − y}
⇒ y2 + y ❀G 2y 6= 0, and thus y2 + y /∈ I.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Ideal Membership (cont.)
Theorem (Weak Hilbert’s Nullstellensatz)
V(F ) = ∅ ⇔ 1 ∈ 〈F 〉 ⇔ 1 ∈ G
Example
✄ Let F be the set{x2+3y+z−1, x−3y2−z2, x−y, y2−zxy−x, x2−y}
✄ I = 〈F 〉✄ z ≺lex y ≺lex x
✄ The reduced Grobner basis of I is = {1}⇒ V(F ) = ∅
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Elimination
Theorem
✄ I ⊂ K[x1, . . . , xn]; an ideal
✄ G ⊂ I; a GB of I for xn ≺lex · · · ≺lex x1
⇒ G ∩K[xi, . . . , xn] generates I ∩K[xi, . . . , xn].
Example
✄ I = 〈x2 + y2 + z2 − 4, x2 + 2y2 − 5, xz − 1〉✄ Grobner basis of I w.r.t. z ≺lex x ≺lex y
{1− 3z2 + 2z4,−1− z2 + y2,−3z + 2z3 + x}
⇒ I ∩K[z, x] = 〈1− 3z2 + 2z4,−3z + 2z3 + x〉.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Solving Polynomial Systems
x2 + y2 + z2 = 4x2 + 2y2 = 5
xz = 1
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Solving Polynomial Systems
x2 + y2 + z2 = 4x2 + 2y2 = 5
xz = 1
✄ I = 〈x2 + y2 + z2 − 4, x2 + 2y2 − 5, xz − 1〉
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Solving Polynomial Systems
x2 + y2 + z2 = 4x2 + 2y2 = 5
xz = 1
✄ I = 〈x2 + y2 + z2 − 4, x2 + 2y2 − 5, xz − 1〉✄ Grobner basis of I w.r.t. z ≺lex x ≺lex y
{1− 3z2 + 2z4,−1− z2 + y2,−3z + 2z3 + x}
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Solving Polynomial Systems
x2 + y2 + z2 = 4x2 + 2y2 = 5
xz = 1
✄ I = 〈x2 + y2 + z2 − 4, x2 + 2y2 − 5, xz − 1〉✄ Grobner basis of I w.r.t. z ≺lex x ≺lex y
{1− 3z2 + 2z4,−1− z2 + y2,−3z + 2z3 + x}✄ The zero set corresponding to G is equal to the that
of the initial system.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Solving Polynomial Systems
x2 + y2 + z2 = 4x2 + 2y2 = 5
xz = 1
✄ I = 〈x2 + y2 + z2 − 4, x2 + 2y2 − 5, xz − 1〉✄ Grobner basis of I w.r.t. z ≺lex x ≺lex y
{1− 3z2 + 2z4,−1− z2 + y2,−3z + 2z3 + x}✄ The zero set corresponding to G is equal to the that
of the initial system.
3z2 − 2z4 = 1−z2 + y2 = 1
−3z + 2z3 + x = 0
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Solving Polynomial Systems
x2 + y2 + z2 = 4x2 + 2y2 = 5
xz = 1
✄ I = 〈x2 + y2 + z2 − 4, x2 + 2y2 − 5, xz − 1〉✄ Grobner basis of I w.r.t. z ≺lex x ≺lex y
{1− 3z2 + 2z4,−1− z2 + y2,−3z + 2z3 + x}✄ The zero set corresponding to G is equal to the that
of the initial system.
3z2 − 2z4 = 1−z2 + y2 = 1
−3z + 2z3 + x = 0
(1,±√2, 1), (−1,±
√2,−1), (
√2,±
√6�2, 1�
√2), (−
√2,±
√6�2,−1�
√2)
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
(1,±√2, 1), (−1,±
√2,−1), (
√2,±
√6�2, 1�
√2), (−
√2,±
√6�2,−1�
√2)
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Implicitation
Theorem
Consider a rational parametrization:
x1 = f1(t1,...,tm)g1(t1,...,tm)
...
xn = fn(t1,...,tm)gn(t1,...,tm)
✄ I = 〈x1g1 − f1, . . . , xngn − fn, 1− yg1 · · · gn〉✄ Note that I ⊂ K[x1, . . . , xn, t1, . . . , tm, y]
⇒ I ∩K[x1, . . . , xn] provides an implicitation.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Implicitation (cont.)
Example
Consider the folium of Descartes:
{
x1 = 3t1+t3
x2 = 3t2
1+t3
✄ I = 〈x1(1 + t3)− 3t, x2(1 + t3)− 3t2, 1− y(1 + 3t2)〉✄ G := A GB of I w.r.t. x1 ≺lex x2 ≺lex t ≺lex y
⇒ Since x31 + x32 − 3x1x2 ∈ G then
x31 + x32 = 3x1x2
is an implicitation of the curve.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Computing Minimal Polynomial
Definition
Let M be a square matrix over the field K. The monic polynomialm ∈ K[x] where
〈m〉 = 〈f ∈ K[x] | f(M) = 0〉
is called minimal polynomial of M
Example
Minimal polynomial of
2 1 0 00 2 0 00 0 1 10 0 −2 4
is x3 − 7x2 + 16x− 12
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Algorithm for Computing Minimal Polynomial
Input M :=
(
1 23 4
)
,M2 =
(
7 1015 22
)
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Algorithm for Computing Minimal Polynomial
Input M :=
(
1 23 4
)
,M2 =
(
7 1015 22
)
m := a2x2 + a1x+ a0
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Algorithm for Computing Minimal Polynomial
Input M :=
(
1 23 4
)
,M2 =
(
7 1015 22
)
m := a2x2 + a1x+ a0
a2M2 + a1M + a0I2×2 =
(
7a2 + a1 + a0 10a2 + 2a115a2 + 3a1 22a2 + 4a1 + a0
)
= 0
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Algorithm for Computing Minimal Polynomial
Input M :=
(
1 23 4
)
,M2 =
(
7 1015 22
)
m := a2x2 + a1x+ a0
a2M2 + a1M + a0I2×2 =
(
7a2 + a1 + a0 10a2 + 2a115a2 + 3a1 22a2 + 4a1 + a0
)
= 0
I := 〈7a2 + a1 + a0, 10a2 + 2a1, 15a2 + 3a1, 22a2 + 4a1 + a0〉
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Algorithm for Computing Minimal Polynomial
Input M :=
(
1 23 4
)
,M2 =
(
7 1015 22
)
m := a2x2 + a1x+ a0
a2M2 + a1M + a0I2×2 =
(
7a2 + a1 + a0 10a2 + 2a115a2 + 3a1 22a2 + 4a1 + a0
)
= 0
I := 〈7a2 + a1 + a0, 10a2 + 2a1, 15a2 + 3a1, 22a2 + 4a1 + a0〉G := {2a1 − 5a0, 2a2 + a0} GB w.r.t. a0 ≺lex a1 ≺lex a2
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Algorithm for Computing Minimal Polynomial
Input M :=
(
1 23 4
)
,M2 =
(
7 1015 22
)
m := a2x2 + a1x+ a0
a2M2 + a1M + a0I2×2 =
(
7a2 + a1 + a0 10a2 + 2a115a2 + 3a1 22a2 + 4a1 + a0
)
= 0
I := 〈7a2 + a1 + a0, 10a2 + 2a1, 15a2 + 3a1, 22a2 + 4a1 + a0〉G := {2a1 − 5a0, 2a2 + a0} GB w.r.t. a0 ≺lex a1 ≺lex a2
m := Remainder(m,G) = −12a0x
2 + 52a0x+ a0
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Algorithm for Computing Minimal Polynomial
Input M :=
(
1 23 4
)
,M2 =
(
7 1015 22
)
m := a2x2 + a1x+ a0
a2M2 + a1M + a0I2×2 =
(
7a2 + a1 + a0 10a2 + 2a115a2 + 3a1 22a2 + 4a1 + a0
)
= 0
I := 〈7a2 + a1 + a0, 10a2 + 2a1, 15a2 + 3a1, 22a2 + 4a1 + a0〉G := {2a1 − 5a0, 2a2 + a0} GB w.r.t. a0 ≺lex a1 ≺lex a2
m := Remainder(m,G) = −12a0x
2 + 52a0x+ a0
a0 6= 0, so m := m
− 1
2a0
= x2 − 5x− 2
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Algorithm for Computing Minimal Polynomial
Input M :=
(
1 23 4
)
,M2 =
(
7 1015 22
)
m := a2x2 + a1x+ a0
a2M2 + a1M + a0I2×2 =
(
7a2 + a1 + a0 10a2 + 2a115a2 + 3a1 22a2 + 4a1 + a0
)
= 0
I := 〈7a2 + a1 + a0, 10a2 + 2a1, 15a2 + 3a1, 22a2 + 4a1 + a0〉G := {2a1 − 5a0, 2a2 + a0} GB w.r.t. a0 ≺lex a1 ≺lex a2
m := Remainder(m,G) = −12a0x
2 + 52a0x+ a0
a0 6= 0, so m := m
− 1
2a0
= x2 − 5x− 2
⇒ Minimal polynomial of M is x2 − 5x− 2
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Algorithm
Algorithm 3 MinPoly
Require: Mn×n
Ensure: Minimal polynomial m of M in xI := 〈∑n
k=0 akMk[i, j] | i, j = 1, . . . , n〉
G := A Grobner basis for I w.r.t. a0 ≺lex . . . ≺lex and :=| G |m := Remainder(
∑d
i=0 aixi, G|ad+1=···=an=0)
m := mLC(m)
Return(m)
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
A Surprising Example
Timing
M : a random 90× 90 matrix
time (sec) memory (Gb)
MinPoly 19m39s 8.3Maple 7h26m33s 74.6
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Definition A simple graph G is proper k−colorable if one canassign k colors to the vertices of G such that theadjacent vertices receive different colors
Three questions:
Is a simple graph k−colorable?If yes, how many solutions?If yes, how we can find all the solutions?
Example 3−colorable?
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Assign xi to the vertex i
Correspond a 3-th root of unity to a color
I := 〈x31 − 1, . . . , x35 − 1〉I := I + 〈x2i + xixj + x2j | (i, j) is an edge〉
Theorem
The elements of V(I) provide the different possible colorings and|V(I)| = the number of colorings
Algorithm for Graph Coloring
✄ Compute a Grobner basis for I
✄ if 1 ∈ G ⇒ G is not k−colorable
✄ else, compute V(I) using G
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
The corresponsing polynomial system:
F := [x31 − 1, . . . , x24 + x4x5 + x25];
with(Groebner); G:=Basis(F,plex(x1, . . . , x5));
G = [x35 − 1, x24 + x4x5 + x25, x5 + x3 + x4, x2 − x4, x1 + x4 + x5]
Theorem
The set of zeros of F is equal to the one of G.
x5 ∈ {1, ω, ω2}, we let x5 = 1
by second equation x4 6= x5, so x4 ∈ {ω, ω2}, we set x4 = ω
x3 = ω2, x2 = ω, x1 = ω2.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
V(I) =
(ω ω2 ω ω2 1 )(ω2 ω ω2 ω 1 )(ω 1 ω 1 ω2)(1 ω 1 ω ω2)(ω2 1 ω2 1 ω )(1 ω2 1 ω2 ω )
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Jacobian Conjecture
Theorem (Inverse function theorem)
✄ Consider F : Kn 7→ Kn withF (a1, . . . , an) = (f1(a1, . . . , an), . . . , fn(a1, . . . , an))
✄ Suppose that J(F ) = det
∂f1∂x1
· · · ∂f1∂xn
......
...∂fn∂x1
· · · ∂fn∂xn
⇒ If J(F )(p) 6= 0 then F has a local inverse at p ∈ Kn.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Jacobian Conjecture
Theorem (Inverse function theorem)
✄ Consider F : Kn 7→ Kn withF (a1, . . . , an) = (f1(a1, . . . , an), . . . , fn(a1, . . . , an))
✄ Suppose that J(F ) = det
∂f1∂x1
· · · ∂f1∂xn
......
...∂fn∂x1
· · · ∂fn∂xn
⇒ If J(F )(p) 6= 0 then F has a local inverse at p ∈ Kn.
Example
✄ We consider F (x, y) = (excos(y), exsin(y)) then
✄ J(F ) = e2x and therefore
⇒ F has a local inverse at each point (no global).
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Jacobian Conjecture (cont.)
Jacobian conjecture
✄ If f1, . . . , fn ∈ C[x1, . . . , xn] and J(F ) ∈ C \ {0}⇒ F has a global inverse.
History
✄ It was first posed in 1939 by Ott-Heinrich Keller,
✄ Wang in 1980 proved it for polynomials of degree 2,
✄ It is still open for degree ≥ 3.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Jacobian Conjecture (cont.)
Theorem
✄ Let I = 〈y1 − f1, . . . , yn − fn〉.✄ G = Basis(I, plex(x1, . . . , xn, y1, . . . , yn)).
⇒ Then F has a global inverse iffG = {x1 − g1, . . . , xn − gn} with gi ∈ K[y1, . . . , yn].
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Jacobian Conjecture (cont.)
Theorem
✄ Let I = 〈y1 − f1, . . . , yn − fn〉.✄ G = Basis(I, plex(x1, . . . , xn, y1, . . . , yn)).
⇒ Then F has a global inverse iffG = {x1 − g1, . . . , xn − gn} with gi ∈ K[y1, . . . , yn].
Example
✄ F (x1, x2) = (x1 + (x1 + x2)3, x2 − (x1 + x2)
3)
✄ G = {x1 − y1 + (y1 + y2)3, x2 − y1 − (y1 + y2)
3}.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Jacobian Conjecture (cont.)
Theorem
✄ Let I = 〈y1 − f1, . . . , yn − fn〉.✄ G = Basis(I, plex(x1, . . . , xn, y1, . . . , yn)).
⇒ Then F has a global inverse iffG = {x1 − g1, . . . , xn − gn} with gi ∈ K[y1, . . . , yn].
Example
✄ F (x1, x2) = (x1 + (x1 + x2)3, x2 − (x1 + x2)
3)
✄ G = {x1 − y1 + (y1 + y2)3, x2 − y1 − (y1 + y2)
3}.⇒ Thus F has a global local inverse (J(F ) = 1),
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Jacobian Conjecture (cont.)
Theorem
✄ Let I = 〈y1 − f1, . . . , yn − fn〉.✄ G = Basis(I, plex(x1, . . . , xn, y1, . . . , yn)).
⇒ Then F has a global inverse iffG = {x1 − g1, . . . , xn − gn} with gi ∈ K[y1, . . . , yn].
Example
✄ F (x1, x2) = (x1 + (x1 + x2)3, x2 − (x1 + x2)
3)
✄ G = {x1 − y1 + (y1 + y2)3, x2 − y1 − (y1 + y2)
3}.⇒ Thus F has a global local inverse (J(F ) = 1),
⇒ F−1(y1, y2) = (y1 − (y1 + y2)3, y1 + (y1 + y2)
3).
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Lattice
Definition: Orderly Lattice
A poset (L,≤) is called a Lattice, if
∀a, b ∈ L, sup{a, b}, inf{a, b} ∈ L
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Lattice
Definition: Orderly Lattice
A poset (L,≤) is called a Lattice, if
∀a, b ∈ L, sup{a, b}, inf{a, b} ∈ L
Definition: Algebraic Lattice
L : a set;
∨,∧ : two binary operations on L;
(L,∨,∧) is a Lattice, if for all a, b, c ∈ L :
Commutative a ∨ b = b ∨ a, a ∧ b = b ∧ aAssociative a∨ (b∨ c) = (a∨ b)∨ c, a∧ (b∧ c) = (a∧ b)∧ c
Absorptance a ∨ (a ∧ b) = a, a ∧ (a ∨ b) = a
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
(L,≤) = (L,∨,∧)
Orderly ⇔ Algebraic
Orderly ⇒ Algebraic Let: a ∨ b = sup{a, b}, a ∧ b = inf{a, b}Algebraic ⇒ Orderly Define: a ≤ b ⇔ a ∨ b = b (or a ∧ b = a)
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
(L,≤) = (L,∨,∧)
Orderly ⇔ Algebraic
Orderly ⇒ Algebraic Let: a ∨ b = sup{a, b}, a ∧ b = inf{a, b}Algebraic ⇒ Orderly Define: a ≤ b ⇔ a ∨ b = b (or a ∧ b = a)
Example
Let A be a set;(P (A),⊆) = (P (A),∪,∩)
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Distributive Lattice
Definition
A lattice L is distributive, if for each a, b, c ∈ L
a ∨ (b ∧ c) = (a ∨ b) ∧ (a ∨ c) and
a ∧ (b ∨ c) = (a ∧ b) ∨ (a ∧ c)
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Distributive Lattice
Definition
A lattice L is distributive, if for each a, b, c ∈ L
a ∨ (b ∧ c) = (a ∨ b) ∧ (a ∨ c) and
a ∧ (b ∨ c) = (a ∧ b) ∨ (a ∧ c)
Theorem
L is distributive if and only if none of its sublattices is isomorphicto M3 or N5.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Problem
Lattice Distributivity Problem
✄ How can we determine whether a finite lattice is distributive?
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
✄ L: a finite lattice
✄ IL := 〈zazb − za∧bza∨b | a, b ∈ L〉 ⊂ K[za | a ∈ L]
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
✄ L: a finite lattice
✄ IL := 〈zazb − za∧bza∨b | a, b ∈ L〉 ⊂ K[za | a ∈ L]
Theorem: (a)⇒ (b): Hibi, 1987, (b)⇒ (a): Qureshi, 2012
The following are equivalent:
(a) L is distributive,
(b) GL := {zazb − za∧bza∨b | a, b ∈ L are incomparable} is aGrobner basis for IL w.r.t. each rank reverse lexicographicordering.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Example:
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Example:
GM3= {zbzc − zaze, zbzd − zaze, zczd − zaze} is not a Grobner
basis w.r.t. ze ≺ zb ≺ zc ≺ zd ≺ za, because:
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Example:
GM3= {zbzc − zaze, zbzd − zaze, zczd − zaze} is not a Grobner
basis w.r.t. ze ≺ zb ≺ zc ≺ zd ≺ za, because:
LM(Spoly(zbzc − zaze, zbzd − zaze)) = zdzaze /∈ LM(GM3)
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Example:
GM3= {zbzc − zaze, zbzd − zaze, zczd − zaze} is not a Grobner
basis w.r.t. ze ≺ zb ≺ zc ≺ zd ≺ za, because:
LM(Spoly(zbzc − zaze, zbzd − zaze)) = zdzaze /∈ LM(GM3)
Result
M3 is not distributive.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Example:
GM3= {zbzc − zaze, zbzd − zaze, zczd − zaze} is not a Grobner
basis w.r.t. ze ≺ zb ≺ zc ≺ zd ≺ za, because:
LM(Spoly(zbzc − zaze, zbzd − zaze)) = zdzaze /∈ LM(GM3)
Result
M3 is not distributive.
Note
b = b ∧ (c ∨ d) 6= (b ∧ c) ∨ (b ∧ d) = e
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Automatic Geometry Theorem Proving
Example
Pappus theorem: P,Q and R are collinear
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Coordinate of points:D := (0, 0) E := (u1, 0) F := (u2, 0)A := (u3, u4) B := (u5, u6) C := (u7, x1)P := (x2, x3) Q := (x4, x5) R := (x6, x7)
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Since A,B,C are colinear, we have u5−u3
u6−u4= u7−u3
x1−u4, and so
from the collinearity of points we obtain:
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Since A,B,C are colinear, we have u5−u3
u6−u4= u7−u3
x1−u4, and so
from the collinearity of points we obtain:
Hypothesis polynomials
h1 := x1u3 + u6u7 − u6u3 − x1u5 − u4u7 + u4u5h2 := u4u1 + x3u3 − x3u1 − u4x2h3 := u5x3 − u6x2h4 := u4u2 + x5u3 − x5u2 − u4x4h5 := u7x5 − x1x4h6 := u6u2 + x7u5 − x7u2 − u6x6h7 := x1u1 + x7u7 − x7u1 − x1x6
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Since A,B,C are colinear, we have u5−u3
u6−u4= u7−u3
x1−u4, and so
from the collinearity of points we obtain:
Hypothesis polynomials
h1 := x1u3 + u6u7 − u6u3 − x1u5 − u4u7 + u4u5h2 := u4u1 + x3u3 − x3u1 − u4x2h3 := u5x3 − u6x2h4 := u4u2 + x5u3 − x5u2 − u4x4h5 := u7x5 − x1x4h6 := u6u2 + x7u5 − x7u2 − u6x6h7 := x1u1 + x7u7 − x7u1 − x1x6
Conclusion polynomialg := x7x2 + x5x6 − x5x2 − x7x4 − x3x6 + x3x4
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
✄ I := 〈h1, . . . , hr〉 ⊂ R[x1, . . . , xn, u1, . . . , um]
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
✄ I := 〈h1, . . . , hr〉 ⊂ R[x1, . . . , xn, u1, . . . , um]
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
✄ I := 〈h1, . . . , hr〉 ⊂ R[x1, . . . , xn, u1, . . . , um]
Theorem
Conclusion is true iff the reduced Grobner basis of
〈h1, . . . , hr, 1− yg〉 ⊂ R(u1, . . . , um)[x1, . . . , xn, y]
equals to {1}
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
✄ I := 〈h1, . . . , hr〉 ⊂ R[x1, . . . , xn, u1, . . . , um]
Theorem
Conclusion is true iff the reduced Grobner basis of
〈h1, . . . , hr, 1− yg〉 ⊂ R(u1, . . . , um)[x1, . . . , xn, y]
equals to {1}
The reduced Grobner basis of
〈h1, . . . , h7, 1− yg〉 ⊂ R(u1, . . . , u7)[x1, . . . , x7, y]
is {1}, so the Pappus theorem is proved.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Frobenius Problem
a1 ≤ a2 ≤ · · · ≤ ar natural numbers
gcd(a1, . . . , ar) = 1
N(a1, . . . , ar) := max{n ∈ N | n 6= λ1a1 + · · · + λrar}Frobenius problem : Find N(a1, . . . , ar)
Example
N(5, 7) = 23
N(11, 13, 17) = 53
N(238, 569, 791) = 18205
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
✄ I := 〈x1 − ta1 , . . . , xr − tar〉 ⊂ Q[x1, . . . , xr, t]
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
✄ I := 〈x1 − ta1 , . . . , xr − tar〉 ⊂ Q[x1, . . . , xr, t]
✄ G:= A Grobner basis for I w.r.t. xi ≺lex t
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
✄ I := 〈x1 − ta1 , . . . , xr − tar〉 ⊂ Q[x1, . . . , xr, t]
✄ G:= A Grobner basis for I w.r.t. xi ≺lex t
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
✄ I := 〈x1 − ta1 , . . . , xr − tar〉 ⊂ Q[x1, . . . , xr, t]
✄ G:= A Grobner basis for I w.r.t. xi ≺lex t
Theorem
N = λ1a1 + · · · + λrar iff remainder(tN , G) = xλ1
1 · · · xλr
r
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Example
McNugget numbers N(6, 9, 20) = 43
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Example
McNugget numbers N(6, 9, 20) = 43
J := 〈x1 − t6, x2 − t9, x3 − t20〉 :
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Example
McNugget numbers N(6, 9, 20) = 43
J := 〈x1 − t6, x2 − t9, x3 − t20〉 :G:=Basis(J, plex(t, x1, x2, x3));
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Example
McNugget numbers N(6, 9, 20) = 43
J := 〈x1 − t6, x2 − t9, x3 − t20〉 :G:=Basis(J, plex(t, x1, x2, x3));
NormalForm(t41, G, plex(t, x1, x2, x3));
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Example
McNugget numbers N(6, 9, 20) = 43
J := 〈x1 − t6, x2 − t9, x3 − t20〉 :G:=Basis(J, plex(t, x1, x2, x3));
NormalForm(t41, G, plex(t, x1, x2, x3));
x21x2x3 ⇒ 41 = 2× 6 + 1× 9 + 1× 20
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Example
McNugget numbers N(6, 9, 20) = 43
J := 〈x1 − t6, x2 − t9, x3 − t20〉 :G:=Basis(J, plex(t, x1, x2, x3));
NormalForm(t41, G, plex(t, x1, x2, x3));
x21x2x3 ⇒ 41 = 2× 6 + 1× 9 + 1× 20
NormalForm(t43, G, plex(t, x1, x2, x3));
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Example
McNugget numbers N(6, 9, 20) = 43
J := 〈x1 − t6, x2 − t9, x3 − t20〉 :G:=Basis(J, plex(t, x1, x2, x3));
NormalForm(t41, G, plex(t, x1, x2, x3));
x21x2x3 ⇒ 41 = 2× 6 + 1× 9 + 1× 20
NormalForm(t43, G, plex(t, x1, x2, x3));
tx1x42
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Example
McNugget numbers N(6, 9, 20) = 43
J := 〈x1 − t6, x2 − t9, x3 − t20〉 :G:=Basis(J, plex(t, x1, x2, x3));
NormalForm(t41, G, plex(t, x1, x2, x3));
x21x2x3 ⇒ 41 = 2× 6 + 1× 9 + 1× 20
NormalForm(t43, G, plex(t, x1, x2, x3));
tx1x42
NormalForm(t44, G, plex(t, x1, x2, x3));
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Example
McNugget numbers N(6, 9, 20) = 43
J := 〈x1 − t6, x2 − t9, x3 − t20〉 :G:=Basis(J, plex(t, x1, x2, x3));
NormalForm(t41, G, plex(t, x1, x2, x3));
x21x2x3 ⇒ 41 = 2× 6 + 1× 9 + 1× 20
NormalForm(t43, G, plex(t, x1, x2, x3));
tx1x42
NormalForm(t44, G, plex(t, x1, x2, x3));
x1x22x3 ⇒ 44 = 1× 6 + 2× 9 + 1× 20
· · ·
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Example
McNugget numbers N(6, 9, 20) = 43
J := 〈x1 − t6, x2 − t9, x3 − t20〉 :G:=Basis(J, plex(t, x1, x2, x3));
NormalForm(t41, G, plex(t, x1, x2, x3));
x21x2x3 ⇒ 41 = 2× 6 + 1× 9 + 1× 20
NormalForm(t43, G, plex(t, x1, x2, x3));
tx1x42
NormalForm(t44, G, plex(t, x1, x2, x3));
x1x22x3 ⇒ 44 = 1× 6 + 2× 9 + 1× 20
· · ·NormalForm(t50, G, plex(t, x1, x2, x3));
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Example
McNugget numbers N(6, 9, 20) = 43
J := 〈x1 − t6, x2 − t9, x3 − t20〉 :G:=Basis(J, plex(t, x1, x2, x3));
NormalForm(t41, G, plex(t, x1, x2, x3));
x21x2x3 ⇒ 41 = 2× 6 + 1× 9 + 1× 20
NormalForm(t43, G, plex(t, x1, x2, x3));
tx1x42
NormalForm(t44, G, plex(t, x1, x2, x3));
x1x22x3 ⇒ 44 = 1× 6 + 2× 9 + 1× 20
· · ·NormalForm(t50, G, plex(t, x1, x2, x3));
x21x22x3 ⇒ 50 = 2× 6 + 2× 9 + 1× 20
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
N Remainder λi,s
53 x42t −54 x1x
22x3 [1, 2, 1]
55 x51 [5, 0, 0]56 x32x3 [0, 3, 1]57 x41x2 [4, 1, 0]58 x1x2x
23 [1, 1, 2]
59 x31x22 [3, 2, 0]
60 x22x23 [0, 2, 2]
61 x21x32 [2, 3, 0]
62 x1x33 [1, 0, 3]
63 x1x42 [1, 4, 0]
64 x2x33 [0, 1, 3]
⇒ N(11, 13, 17) = 53
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Solving Linear Diophantine Systems [Conti-Traverso, 1991]
Consider aij , bi ∈ N and the following Diophantine systems:
a11σ1 + · · · + a1nσn = b1...
am1σ1 + · · · + amnσn = bm.
I := 〈y1 − xa111 · · · xam1
m , . . . , yn − xa1n1 · · · xamn
m 〉
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Solving Linear Diophantine Systems [Conti-Traverso, 1991]
Consider aij , bi ∈ N and the following Diophantine systems:
a11σ1 + · · · + a1nσn = b1...
am1σ1 + · · · + amnσn = bm.
I := 〈y1 − xa111 · · · xam1
m , . . . , yn − xa1n1 · · · xamn
m 〉G = Grobner basis of I w.r.t yi ≺lex xj
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Solving Linear Diophantine Systems [Conti-Traverso, 1991]
Consider aij , bi ∈ N and the following Diophantine systems:
a11σ1 + · · · + a1nσn = b1...
am1σ1 + · · · + amnσn = bm.
I := 〈y1 − xa111 · · · xam1
m , . . . , yn − xa1n1 · · · xamn
m 〉G = Grobner basis of I w.r.t yi ≺lex xj
xb11 · · · xbmm ❀G h
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Solving Linear Diophantine Systems [Conti-Traverso, 1991]
Consider aij , bi ∈ N and the following Diophantine systems:
a11σ1 + · · · + a1nσn = b1...
am1σ1 + · · · + amnσn = bm.
I := 〈y1 − xa111 · · · xam1
m , . . . , yn − xa1n1 · · · xamn
m 〉G = Grobner basis of I w.r.t yi ≺lex xj
xb11 · · · xbmm ❀G h
h = yσ1
1 · · · yσn
n ⇔ (σ1, . . . , σn) is a natural solution.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Solving Linear Diophantine Systems (cont.)
Example
✄
{
3σ1 +2σ2 +σ3 + σ4 = 104σ1 +σ2 +σ3 + = 5.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Solving Linear Diophantine Systems (cont.)
Example
✄
{
3σ1 +2σ2 +σ3 + σ4 = 104σ1 +σ2 +σ3 + = 5.
✄ I := 〈y1 − x31x42, y2 − x21x2, y3 − x1x2, y4 − x1〉,
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Solving Linear Diophantine Systems (cont.)
Example
✄
{
3σ1 +2σ2 +σ3 + σ4 = 104σ1 +σ2 +σ3 + = 5.
✄ I := 〈y1 − x31x42, y2 − x21x2, y3 − x1x2, y4 − x1〉,
✄ Grobner basis of I w.r.t yi ≺lex xj is:
{y2 − y3y4, y1y4 − y43 , x2y4 − y3, x2y33 − y1, x1 − y4}
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Solving Linear Diophantine Systems (cont.)
Example
✄
{
3σ1 +2σ2 +σ3 + σ4 = 104σ1 +σ2 +σ3 + = 5.
✄ I := 〈y1 − x31x42, y2 − x21x2, y3 − x1x2, y4 − x1〉,
✄ Grobner basis of I w.r.t yi ≺lex xj is:
{y2 − y3y4, y1y4 − y43 , x2y4 − y3, x2y33 − y1, x1 − y4}
⇒ x101 x52 ❀G y53y54 and (0, 0, 5, 5) is a solution.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Integer Solutions
z; a new variable
I := 〈y1−xa111 · · · xam1
m , . . . , yn−xa1n1 · · · xamn
m , y1 · · · ynz − 1〉G = Grobner basis of I w.r.t z ≺lex yi ≺lex xj
xb11 · · · xbmm ❀G h
Theorem (Hashemi, 2013)
The has an integer solution iff h ∈ K[y1, . . . , yn, z]. Moreover, ifthe remainder is yα1
1 · · · yαn
n zα, then (α1 − α, . . . , αn − α) is asolution of the system.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Example
12σ1 + 7σ2 + 9σ3 = 125σ2 + 8σ3 + 10σ4 = 0
15σ1 + 21σ3 + 69σ4 = 3.
I = 〈y1 − x121 x15
3 , y2 − x71x
52, y3 − x9
1x82x
213 , y4 − x10
2 x693 , y1y2y3y4z − 1〉
G = Grobner basis of I w.r.t z ≺lex yi ≺lex xj
x121 x33 ❀G z336y2931 y6563 y2484
(293, 0, 656, 248) − (336, 336, 336, 336) = (−43,−336, 320,−88)an integer solution
Since z2056y18191 y2382 y37863 y15814 − 1 ∈ I, we have the generalsolution (−237k − 43,−1818k − 336, 1730k + 320,−475k − 88)
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Elimination TheorySolving Polynomial Systems
Grobner Bases and Tilings
Amir Hashemi
Isfahan University of Technology & IPM
CIMPA-IRAN school on Tilings and Tessellations, Isfahan, Iran, 2015
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Hakim Abolfath Omar ebn Ibrahim KhayyamNieshapuri (18 May 1048 -4 December 1131), born inNishapur in North Eastern Iran, was a great Persianpolymath, philosopher, mathematician, astronomer andpoet, who wrote treatises on mechanics, geography,mineralogy, music, and Islamic theology.
Khayyam was famous during his times as a mathematician. Hewrote the influential treatise on demonstration of problems ofalgebra (1070), which laid down the principles of algebra, part ofthe body of Persian Mathematics that was eventually transmittedto Europe. In particular, he derived general methods for solvingcubic equations and even some higher orders.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
He wrote on the triangular array of binomial
coefficients known as Khayyam-Pascal’s triangle.
In 1077, Khayyam also wrote a book published in
English as ”On the Difficulties of Euclid’s
Definitions”. An important part of the book is
concerned with Euclid’s famous parallel postulate
and his approach made their way to Europe, and
may have contributed to the eventual development
of non-Euclidean geometry.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Notations
So far, we have considered R = K[x1, . . . , xn]
and discussed Grobner bases over fields + applications
In this part, we consider A = Z[x1, . . . , xn]
We discuss Grobner bases over integers
and review its application in tilings.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Main Problem
☞ Main obstacle in theory of Grobner bases over Z is division.Let us consider the polynomial ring R = K[x1, . . . , xn]. In thisring we have 2x | 3x. However that does not hold in
A = Z[x1, . . . , xn]
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Main Problem
☞ Main obstacle in theory of Grobner bases over Z is division.Let us consider the polynomial ring R = K[x1, . . . , xn]. In thisring we have 2x | 3x. However that does not hold in
A = Z[x1, . . . , xn]
i.e. 2x ∤ 3x
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Main Problem
☞ Main obstacle in theory of Grobner bases over Z is division.Let us consider the polynomial ring R = K[x1, . . . , xn]. In thisring we have 2x | 3x. However that does not hold in
A = Z[x1, . . . , xn]
i.e. 2x ∤ 3x
Further, in A we have 3x ∤ x and 2x ∤ x however x ∈ 〈2x, 3x〉
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Main Problem
☞ Main obstacle in theory of Grobner bases over Z is division.Let us consider the polynomial ring R = K[x1, . . . , xn]. In thisring we have 2x | 3x. However that does not hold in
A = Z[x1, . . . , xn]
i.e. 2x ∤ 3x
Further, in A we have 3x ∤ x and 2x ∤ x however x ∈ 〈2x, 3x〉Thus f = x+ 1 is reducible by {f1 = 2x+ 3, f2 = 3x− 5},i.e. f ❀ f − (f2 − f1) = (x+ 1)− (3x− 5− 2x− 3) = 9.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Main Problem
☞ Main obstacle in theory of Grobner bases over Z is division.Let us consider the polynomial ring R = K[x1, . . . , xn]. In thisring we have 2x | 3x. However that does not hold in
A = Z[x1, . . . , xn]
i.e. 2x ∤ 3x
Further, in A we have 3x ∤ x and 2x ∤ x however x ∈ 〈2x, 3x〉Thus f = x+ 1 is reducible by {f1 = 2x+ 3, f2 = 3x− 5},i.e. f ❀ f − (f2 − f1) = (x+ 1)− (3x− 5− 2x− 3) = 9.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Main Problem
☞ Main obstacle in theory of Grobner bases over Z is division.Let us consider the polynomial ring R = K[x1, . . . , xn]. In thisring we have 2x | 3x. However that does not hold in
A = Z[x1, . . . , xn]
i.e. 2x ∤ 3x
Further, in A we have 3x ∤ x and 2x ∤ x however x ∈ 〈2x, 3x〉Thus f = x+ 1 is reducible by {f1 = 2x+ 3, f2 = 3x− 5},i.e. f ❀ f − (f2 − f1) = (x+ 1)− (3x− 5− 2x− 3) = 9.
Thus, LT(f) is divisible by none of LT(f1) and LT(f2)however, it is reducible by a combination of LT(f1) and LT(f2)
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Example
Example
✄ A = Z[x, y] and y ≺lex x
✄ f = xy − 1, f1 = 7x+ 3, f2 = 3y − 5
✄ We note that LT(f1) ∤ LT(f) and LT(f2) ∤ LT(f)
✄ however, xy ∈ 〈7x, 3y〉Z[x,y] ❀ xy = y(7x)− 2x(3y)
✄ f − (yf1 − 2xf2) = −3y − 10x− 1.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Grobner Bases
Definition
✄ I ⊂ A
✄ ≺ a monomial ordering
✄ A finite set G ⊂ I is a Grobner Basis for I w.r.t. ≺, if
∀f ∈ I ∃g ∈ G s.t. LT(g) | LT(f)
Existence of Grobner bases
Each ideal has a Grobner basis
Membership problem
f ∈ I iff f ❀G 0
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Example
☞ A = Z[x, y] and y ≺lex x
f1 = 4x+ 1, f2 = 6y + 1 and I = 〈f1, f2〉
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Example
☞ A = Z[x, y] and y ≺lex x
f1 = 4x+ 1, f2 = 6y + 1 and I = 〈f1, f2〉f := 3yf1 − 2xf2 = 3y − 2x and LT(f) = −2x /∈ 〈4x, 6y〉
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Example
☞ A = Z[x, y] and y ≺lex x
f1 = 4x+ 1, f2 = 6y + 1 and I = 〈f1, f2〉f := 3yf1 − 2xf2 = 3y − 2x and LT(f) = −2x /∈ 〈4x, 6y〉
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Example
☞ A = Z[x, y] and y ≺lex x
f1 = 4x+ 1, f2 = 6y + 1 and I = 〈f1, f2〉f := 3yf1 − 2xf2 = 3y − 2x and LT(f) = −2x /∈ 〈4x, 6y〉
{f1, f2} is not a Grobner basis for I
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Grobner Bases Calculation over Integers
The process is the same as Buchberger’s algorithm over fields
The only difference is the division algorithm
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Grobner Bases Calculation over Integers
The process is the same as Buchberger’s algorithm over fields
The only difference is the division algorithm
Example
✄ A = Z[x, y] and y ≺lex x
✄ f1 = 2x+ 1, f2 = 3y + 1 and I = 〈f1, f2〉Spoly(f1, f2) =
lcm(LT(f1),LT(f2))LT(f1)
f1 − lcm(LT(f1),LT(f2))LT(f2)
f2
Spoly(f1, f2) =6xy2x f1 − 6xy
3y f2 = 3yf1 − 2xf2 = 3y − 2x
✄ Spoly(f1, f2) ❀ Spoly(f1, f2) + f1 = 3y + 1 ❀f2 0.
So, {f1, f2} is a Grobner basis for I
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Polynomial Model
Definition
A celle is the squarec(i, j) = {(x, y) | i ≤ x < i+ 1, j ≤ y < j + 1}To a celle c(i, j) we associate the polynomial Pc(i,j) = xiyj
y
x
(i, j)
i
j
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Polynomial Model (cont.)
☞ A polyomino is a finite union of celles
Definition
T = ∪(i,j)∈Λc(i, j) then define PT =∑
(i,j)∈Λ Pc(i,j).
☞ We associate 1 + x+ xy + xy2 to the following polyomino
y
x1 x
xy
xy2
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Z-Tiling
P : A polyomino
F : A finite set of polyominoes
Z-tiling problem is a finite number of translated polyominoes from Fto cover P so that the sum of signs on P at each cell is +1.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Example
We consider the following polyomio P
y
x1 x
y2
y3
y
xy3
☞ We associate the polynomial f = 1 + x+ y + · · ·+ xy3.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Example (cont.)
and we would like to cover it by the following polyomino T
y
x1 x
xy
xy2
☞ we associate the polynomial f1 = 1 + x+ xy + xy2.
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Example (cont.)
☞ so we shall consider all (four) rotations of T , e.g.
y
x1
y
y2xy2
☞ we associate the polynomial f2 = 1 + y + y2 + xy2.☞ Let f2, f3, f4 be associated poly of all rotations
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Example (cont.)
☞ In addition, we shall consider all rotations of the reflection of T
y
x1
y
y2
x
☞ we associate the polynomial g1 = 1 + y + y2 + x.☞ Let g2, g3, g4 be associated poly of all rotations
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Example (cont.)
To check whether P can be covered by T (and its rotationsand reflection), one can verify whether
f ∈ 〈f1, . . . , f4, g1, . . . , g4〉 ⊂ Z[x, y]
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Example (cont.)
To check whether P can be covered by T (and its rotationsand reflection), one can verify whether
f ∈ 〈f1, . . . , f4, g1, . . . , g4〉 ⊂ Z[x, y]
we can do this check by Grobner bases over integers
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Example (cont.)
To check whether P can be covered by T (and its rotationsand reflection), one can verify whether
f ∈ 〈f1, . . . , f4, g1, . . . , g4〉 ⊂ Z[x, y]
we can do this check by Grobner bases over integers
Let G be the Grobner basis of this ideal
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Example (cont.)
To check whether P can be covered by T (and its rotationsand reflection), one can verify whether
f ∈ 〈f1, . . . , f4, g1, . . . , g4〉 ⊂ Z[x, y]
we can do this check by Grobner bases over integers
Let G be the Grobner basis of this ideal
since the remainder of f by G is zero,(indeed we have f = f1 + yf2)
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Example (cont.)
To check whether P can be covered by T (and its rotationsand reflection), one can verify whether
f ∈ 〈f1, . . . , f4, g1, . . . , g4〉 ⊂ Z[x, y]
we can do this check by Grobner bases over integers
Let G be the Grobner basis of this ideal
since the remainder of f by G is zero,(indeed we have f = f1 + yf2)
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Example (cont.)
To check whether P can be covered by T (and its rotationsand reflection), one can verify whether
f ∈ 〈f1, . . . , f4, g1, . . . , g4〉 ⊂ Z[x, y]
we can do this check by Grobner bases over integers
Let G be the Grobner basis of this ideal
since the remainder of f by G is zero,(indeed we have f = f1 + yf2)
Thus, we can cover P by T .
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Example (cont.)
Thus we have
y
xf1
f2
y
☞ f = f1 + yf2
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
Thanks for your attention...
Amir Hashemi Grobner Bases and Tilings
IntroductionGrobner bases
Computation of Grobner BasesApplications
Grobner Bases over Integers
Application to Tilings
References
[1] David Cox, John Little and Donal O’Shea:Ideals, varieties, and algorithms.Undergraduate Texts in Mathematics, Springer-Verlag, 2006.[2] David Cox, John Little and Donal O’Shea:Using algebraic geometry.Graduate Texts in Mathematics, Springer-Verlag, 2005.[3] Thomas Becker and Volker Weispfenning:Grobner bases, A computational approach to commutative algebra.Graduate Texts in Mathematics, Springer-Verlag, New York, 1993.[4] William W. Adams and Philippe Loustaunau:An introduction to Grobner bases.American Mathematical Society, 1994.
Amir Hashemi Grobner Bases and Tilings