slides2pdf

Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Gröbner Bases and Tilings
Amir Hashemi
Isfahan University of Technology & IPM
CIMPA-IRAN school on Tilings and Tessellations, Isfahan, Iran, 2015
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Abu Abdallah Muhammed Ibn Mussa
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
Al−Khwarizmi
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
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Outline of talk
1
Introduction
2
Gröbner bases
Monomial Orderings
Gröbner Bases
3
Computation of Gröbner Bases
History of Gröbner Bases
Mathematical Softwares
4
Applications
Elimination Theory
Solving Polynomial Systems
5
Gröbner Bases over Integers
Application to Tilings
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner 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 and
variables, e.g.
f = x1 x2 + 12x1 − x32
✄ R = K[x1 , . . . , xn ]; set of all polynomials
✄ f1 , . . . , fk ∈ R and F = {f1 , . . . , fk }
✄ I = hF i = {p1 f1 + · · · + pk fk | pi ∈ R}
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner 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
 2
 x + y2 + z2 = 4
✄ E.g.
x2 + 2y 2
= 5

xz
= 1
√
✄ V(f1 , f2 , f3 ) = {(1, 2, 1), . . .} where
f1 = x2 + y 2 + z 2 − 4, · · ·
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
What is Algebraic Geometry?
Studying the solutions of a polynomial system
i.e. computing V(F ) using algebraic tools:
✄ Algebra
✄ Geometry
✄ Computer Science (Computational Algebraic Geometry)
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
What is Algebraic Geometry?
Studying the solutions of a polynomial system
i.e. computing V(F ) using algebraic tools:
✄ Algebra
✄ Geometry
✄ Computer Science (Computational Algebraic Geometry)
Example: I = hx2 − y 2 − z, z − 2i ⊂ R[x, y, z]
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Variables versus Unknowns
If we consider the equation x2 − x + 1 = 0; i.e. we look for
its zeros then x is called an unknown
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Variables versus Unknowns
If we consider the equation x2 − x + 1 = 0; i.e. we look for
its zeros then x is called an unknown
If we consider the polynomial x2 − x + 1 then x is called a
variable
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Variables versus Unknowns
If we consider the equation x2 − x + 1 = 0; i.e. we look for
its zeros then x is called an unknown
If we consider the polynomial x2 − x + 1 then x is called a
variable
So, the polynomial x2 − x + 1 is never 0.
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Variables versus Unknowns
If we consider the equation x2 − x + 1 = 0; i.e. we look for
its zeros then x is called an unknown
If we consider the polynomial x2 − x + 1 then x is called a
variable
So, the polynomial x2 − x + 1 is never 0.
For example if we consider the polynomial ax2 − bx + c = 0 in
x then a = b = c = 0.
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Variables versus Unknowns
If we consider the equation x2 − x + 1 = 0; i.e. we look for
its zeros then x is called an unknown
If we consider the polynomial x2 − x + 1 then x is called a
variable
So, the polynomial x2 − x + 1 is never 0.
For example if we consider the polynomial ax2 − bx + c = 0 in
x then a = b = c = 0.
Equation ❀ U nknown
P olynomial ❀ V ariable
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Univariate Polynomial Ring
Let K be a field and K[x] the ring of polynomials in x
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner 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 hf1 , . . . , fk i = hgcd(f1 , . . . , fk )i
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner 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 hf1 , . . . , fk i = hgcd(f1 , . . . , fk )i
K[x] is a PID, e.g. hx − 1, x2 − 1i = hx − 1i
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner 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 hf1 , . . . , fk i = hgcd(f1 , . . . , fk )i
K[x] is a PID, e.g. hx − 1, x2 − 1i = hx − 1i
Thus, gcd computations (using Euclid algorithm) can solve
many problems in K[x]
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner 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 hf1 , . . . , fk i = hgcd(f1 , . . . , fk )i
K[x] is a PID, e.g. hx − 1, x2 − 1i = hx − 1i
Thus, gcd computations (using Euclid algorithm) can solve
many problems in K[x]
Suppose that
f := x3 − 6x2 + 11x − 6
g := x3 − 10x2 + 29x − 20
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner 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 hf1 , . . . , fk i = hgcd(f1 , . . . , fk )i
K[x] is a PID, e.g. hx − 1, x2 − 1i = hx − 1i
Thus, gcd computations (using Euclid algorithm) can solve
many problems in K[x]
Suppose that
f := x3 − 6x2 + 11x − 6
g := x3 − 10x2 + 29x − 20
Since gcd(f, g) = x − 1 then V(f, g) = V(hf, gi) = V(x − 1)
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner 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 hf1 , . . . , fk i = hgcd(f1 , . . . , fk )i
K[x] is a PID, e.g. hx − 1, x2 − 1i = hx − 1i
Thus, gcd computations (using Euclid algorithm) can solve
many problems in K[x]
Suppose that
f := x3 − 6x2 + 11x − 6
g := x3 − 10x2 + 29x − 20
Since gcd(f, g) = x − 1 then V(f, g) = V(hf, gi) = V(x − 1)
The only solution of the system f = g = 0 is x = 1
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner 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 hf1 , . . . , fk i = hgcd(f1 , . . . , fk )i
K[x] is a PID, e.g. hx − 1, x2 − 1i = hx − 1i
Thus, gcd computations (using Euclid algorithm) can solve
many problems in K[x]
Suppose that
f := x3 − 6x2 + 11x − 6
g := x3 − 10x2 + 29x − 20
Since gcd(f, g) = x − 1 then V(f, g) = V(hf, gi) = V(x − 1)
The only solution of the system f = g = 0 is x = 1
Membership Problem: x2 − 1 ∈ hf, gi because x − 1 | x2 − 1.
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner 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
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner 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!
Gröbner bases can answer them!
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Multivariate Polynomial Ring
F ⊂ K[x1 , . . . , xn ]
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Multivariate Polynomial Ring
F ⊂ K[x1 , . . . , xn ]
V(F ) doesn’t depend on the generators of hF i
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Multivariate Polynomial Ring
F ⊂ K[x1 , . . . , xn ]
V(F ) doesn’t depend on the generators of hF i
f := 2x2 + 3y 2 − 11, g := x2 − y 2 − 3
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Multivariate Polynomial Ring
F ⊂ K[x1 , . . . , xn ]
V(F ) doesn’t depend on the generators of hF i
f := 2x2 + 3y 2 − 11, g := x2 − y 2 − 3
Since hf, gi = hx2 − 4, y 2 − 1i then V (f, g) = {(±2, ±1)}
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Multivariate Polynomial Ring
F ⊂ K[x1 , . . . , xn ]
V(F ) doesn’t depend on the generators of hF i
f := 2x2 + 3y 2 − 11, g := x2 − y 2 − 3
Since hf, gi = hx2 − 4, y 2 − 1i then V (f, g) = {(±2, ±1)}
So we look for a more convenient generating set for hF i
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Multivariate Polynomial Ring
F ⊂ K[x1 , . . . , xn ]
V(F ) doesn’t depend on the generators of hF i
f := 2x2 + 3y 2 − 11, g := x2 − y 2 − 3
Since hf, gi = hx2 − 4, y 2 − 1i then V (f, g) = {(±2, ±1)}
So we look for a more convenient generating set for hF i
To bring it into computer, we need |F | < ∞
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Multivariate Polynomial Ring
F ⊂ K[x1 , . . . , xn ]
V(F ) doesn’t depend on the generators of hF i
f := 2x2 + 3y 2 − 11, g := x2 − y 2 − 3
Since hf, gi = hx2 − 4, y 2 − 1i then V (f, g) = {(±2, ±1)}
So we look for a more convenient generating set for hF i
To bring it into computer, we need |F | < ∞
By Hilbert Basis Theorem there exist f1 , . . . , fm ∈ F so that
hF i = hf1 , . . . , fm i
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Monomial Orderings
Gröbner Bases
Polynomial Ring
☞ K a field
✄ We denote the monomial xα1 1 · · · xαnn 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
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Monomial Orderings
Gröbner Bases
Definition
A monomial ordering is a total ordering ≺ on the set of monomials
X α = xα1 1 · · · xαnn ,α = (α1 , . . . , αn ) ∈ Zn≥0 such that,
X α ≺ X β ⇒ X α+γ ≺ X β+γ and
1 ≺ X α for all α
Convention
For a monomial X α = xα1 1 · · · xαnn , We call |α| := α1 + · · · + αn ,
the total degree of X α
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Monomial Orderings
Gröbner 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
Example
x ≺ x3
x2 y 3 ≺lex(x,y) x3 y 2
Amir Hashemi
x3 y ≺drl(x,y) xy 5
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Monomial Orderings
Gröbner 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 f
5x3 y 2 + 4x2 y 3 + xy + 1
LC(f ): The coefficient of LM(f ) in f
5x3 y 2 + 4x2 y 3 + xy + 1
LT(f ): LC(f )LM(f )
5x3 y 2 +4x2 y 3 + xy + 1
LT(I): hLT(f ) | f ∈ Ii
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Monomial Orderings
Gröbner Bases
Definition
✄ I ⊂ K[x1 , . . . , xn ]
✄ ≺ A monomial ordering
✄ A finite set G ⊂ I is a Gröbner Basis for I w.r.t. ≺, if
LT(I) = hLT(g) | g ∈ Gi
Existence of Gröbner bases
Each ideal has a Gröbner basis
Example
I = hxy − x, x2 − yi, y ≺lex x
LT(I) = hx2 , xy, y 2 i
A Gröbner basis is: {xy − x, x2 − y, y 2 − y}.
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Monomial Orderings
Gröbner Bases
Unicity
Definition
✄ G ⊂ I is a reduced Gröbner basis w.r.t. ≺ if
G is a Gröbner 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 Gröbner basis w.r.t. ≺
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
History of Gröbner Bases
Mathematical Softwares
Division Algorithm in K[x1, . . . , xn]
Theorem
Fix a monomial ordering ≺ and let F := (f1 , . . . , fk ) be an ordered
s−tuple of polynomials in K[x1 , . . . , xn ] Then, every
f ∈ K[x1 , . . . , xn ] can be written as
f = q1 f1 + · · · + qk fk + r
where qi , r ∈ K[x1 , . . . , xn ] and either r = 0 or no term of r is
divisible by any of LT(f1 ), . . . , LT(fk ). We call r, the remainder
on division of f by F .
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
History of Gröbner Bases
Mathematical Softwares
Algorithm 1 Division Algorithm
Require: f, f1 , . . . , fk and ≺
Ensure: q1 , . . . , qk , r
q1 := 0; · · · ; qk := 0;
p := f ;
while ∃fi s.t. LT(fi ) divides a term m in p do
m
qi := qi + LT(f
i)
m
p := p − ( LT(fi ) )fi
end while
return q1 , . . . , qk , p
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
History of Gröbner Bases
Mathematical Softwares
Example
Divide f = xy 2 + 1 by f1 = xy + 1, f2 = y + 1 and y ≺lex x
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
History of Gröbner Bases
Mathematical Softwares
Example
Divide f = xy 2 + 1 by f1 = xy + 1, f2 = y + 1 and y ≺lex x
f → (xy 2 + 1) − y(xy + 1) = 1 − y → (1 − y) + (y + 1) = 2
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
History of Gröbner Bases
Mathematical Softwares
Example
Divide f = xy 2 + 1 by f1 = xy + 1, f2 = y + 1 and y ≺lex x
f → (xy 2 + 1) − y(xy + 1) = 1 − y → (1 − y) + (y + 1) = 2
So we can write f = y(xy + 1) + (−1)(y + 1) + 2
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
History of Gröbner Bases
Mathematical Softwares
Example
Divide f = xy 2 + 1 by f1 = xy + 1, f2 = y + 1 and y ≺lex x
f → (xy 2 + 1) − y(xy + 1) = 1 − y → (1 − y) + (y + 1) = 2
So we can write f = y(xy + 1) + (−1)(y + 1) + 2
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
History of Gröbner Bases
Mathematical Softwares
Example
Divide f = xy 2 + 1 by f1 = xy + 1, f2 = y + 1 and y ≺lex x
f → (xy 2 + 1) − y(xy + 1) = 1 − y → (1 − y) + (y + 1) = 2
So we can write f = y(xy + 1) + (−1)(y + 1) + 2
Example
✄ f = xy 2 + x2 y + y 2 , f1 = y 2 − 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
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
History of Gröbner Bases
Mathematical Softwares
Example
Divide f = xy 2 + 1 by f1 = xy + 1, f2 = y + 1 and y ≺lex x
f → (xy 2 + 1) − y(xy + 1) = 1 − y → (1 − y) + (y + 1) = 2
So we can write f = y(xy + 1) + (−1)(y + 1) + 2
Example
✄ f = xy 2 + x2 y + y 2 , f1 = y 2 − 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 Gröbner basis iff for each f ∈ R the remainder of
f by G is unique.
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
History of Gröbner Bases
Mathematical Softwares
Buchberger’s Criterion
Definition
S-polynomial
Spoly(f, g) =
xγ
xγ
f−
g
LT(f )
LT(g)
xγ = lcm(LM(f ), LM(g))
Spoly(x3 y 2 +xy 3 , xyz−z 3 ) = z(x3 y 2 +xy 3 )−x2 y(xyz−z 3 ) = zxy 3 +x2 yz 3
Buchberger’s Criterion
✄ G is a Gröbner basis for hGi
✄ ∀gi , gj ∈ G, remainder((Spoly(gi , gj ), G) = 0
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
History of Gröbner Bases
Mathematical Softwares
Algorithm 2 Buchberger’s Algorithm
Require: F := (f1 , . . . , fs ) and ≺
Ensure: A Gröbner basis for the ideal hf1 , . . . , fs i w.r.t. ≺
G := F
B := {{f, g}|f, g ∈ F }
while B 6= ∅ do
Select and remove a pair {f, g} from B
Let r be the remainder of Spoly(f, g) by F
if r 6= 0 then
B := B ∪ {{h, r} | h ∈ G}
G := G ∪ {r}
end if
end while
return G
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
History of Gröbner Bases
Mathematical Softwares
Example
I = hf1 , f2 i = hxy − x, x2 − yi
y ≺lex x
G := {f1 , f2 }
f2
Spoly(f1 , f2 ) = xf1 − yf2 = y 2 − x2 −−−−→ y 2 − y = f3
G := {f1 , f2 , f3 }
G
Spoly(fi , fj ) −−−−→ 0
G := {f1 , f2 , f3 } is a Gröbner basis for I
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
History of Gröbner Bases
Mathematical Softwares
Buchberger, 65 :
Developing the theory of Gröbner bases
Buchberger criteria
Lazard, 83 :
Using linear algebra
Gebauer, Möller, 88 :
Installing Buchberger criteria
Faugère, 93, 94, 02 :
FGLM
F4 algorithm (intensive linear algebra)
F5 algorithm
Gao, Volny, 10 :
G2 V (with Guan)
GVW (with Wang)
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
History of Gröbner Bases
Mathematical 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
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Ideal Membership
Theorem
f ∈ I iff f ❀G 0 where G is a GB of I
Example
✄ I = hxy − x, x2 − yi
✄ Is y 2 + y ∈ I?
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Ideal Membership
Theorem
f ∈ I iff f ❀G 0 where G is a GB of I
Example
✄ I = hxy − x, x2 − yi
✄ Is y 2 + y ∈ I?
✄ y ≺lex x
✄ The reduced Gröbner basis of I is
G = {xy − x, x2 − y, y 2 − y}
⇒ y 2 + y ❀G 2y 6= 0, and thus y 2 + y ∈
/ I.
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Ideal Membership (cont.)
Theorem (Weak Hilbert’s Nullstellensätz)
V(F ) = ∅ ⇔ 1 ∈ hF i ⇔ 1 ∈ G
Example
✄ Let F be the set
{x2 +3y+z−1, x−3y 2 −z 2 , x−y, y 2 −zxy−x, x2 −y}
✄ I = hF i
✄ z ≺lex y ≺lex x
✄ The reduced Gröbner basis of I is = {1}
⇒ V(F ) = ∅
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving 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 = hx2 + y 2 + z 2 − 4, x2 + 2y 2 − 5, xz − 1i
✄ Gröbner basis of I w.r.t. z ≺lex x ≺lex y
{1 − 3z 2 + 2z 4 , −1 − z 2 + y 2 , −3z + 2z 3 + x}
⇒ I ∩ K[z, x] = h1 − 3z 2 + 2z 4 , −3z + 2z 3 + xi.
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Solving Polynomial Systems
 2
 x + y2 + z2 = 4
x2 + 2y 2
= 5

xz
= 1
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Solving Polynomial Systems
 2
 x + y2 + z2 = 4
x2 + 2y 2
= 5

xz
= 1
2
2
✄ I = hx + y + z 2 − 4, x2 + 2y 2 − 5, xz − 1i
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Solving Polynomial Systems
 2
 x + y2 + z2 = 4
x2 + 2y 2
= 5

xz
= 1
2
2
✄ I = hx + y + z 2 − 4, x2 + 2y 2 − 5, xz − 1i
✄ Gröbner basis of I w.r.t. z ≺lex x ≺lex y
{1 − 3z 2 + 2z 4 , −1 − z 2 + y 2 , −3z + 2z 3 + x}
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Solving Polynomial Systems
 2
 x + y2 + z2 = 4
x2 + 2y 2
= 5

xz
= 1
2
2
✄ I = hx + y + z 2 − 4, x2 + 2y 2 − 5, xz − 1i
✄ Gröbner basis of I w.r.t. z ≺lex x ≺lex y
{1 − 3z 2 + 2z 4 , −1 − z 2 + y 2 , −3z + 2z 3 + x}
✄ The zero set corresponding to G is equal to the that
of the initial system.
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Solving Polynomial Systems
 2
 x + y2 + z2 = 4
x2 + 2y 2
= 5

xz
= 1
2
2
✄ I = hx + y + z 2 − 4, x2 + 2y 2 − 5, xz − 1i
✄ Gröbner basis of I w.r.t. z ≺lex x ≺lex y
{1 − 3z 2 + 2z 4 , −1 − z 2 + y 2 , −3z + 2z 3 + x}
✄ The zero set corresponding to G is equal to the that
 of the2initial4system.
3z − 2z
= 1

−z 2 + y 2
= 1

−3z + 2z 3 + x = 0
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Solving Polynomial Systems
 2
 x + y2 + z2 = 4
x2 + 2y 2
= 5

xz
= 1
2
2
✄ I = hx + y + z 2 − 4, x2 + 2y 2 − 5, xz − 1i
✄ Gröbner basis of I w.r.t. z ≺lex x ≺lex y
{1 − 3z 2 + 2z 4 , −1 − z 2 + y 2 , −3z + 2z 3 + x}
✄ The zero set corresponding to G is equal to the that
 of the2initial4system.
3z − 2z
= 1

−z 2 + y 2
= 1

−3z + 2z 3 + x = 0
√
√
√
√
√
√
√
√
(1, ± 2, 1), (−1, ± 2, −1), ( 2, ± 62, 1 2), (− 2, ± 62, −1 2)
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
√
√
√
√
√
√
√
√
(1, ± 2, 1), (−1, ± 2, −1), ( 2, ± 62, 1 2), (− 2, ± 62, −1 2)
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Implicitation
Theorem
Consider a rational parametrization:


x

 1


 x
n
=
..
.
=
f1 (t1 ,...,tm )
g1 (t1 ,...,tm )
fn (t1 ,...,tm )
gn (t1 ,...,tm )
✄ I = hx1 g1 − f1 , . . . , xn gn − fn , 1 − yg1 · · · gn i
✄ Note that I ⊂ K[x1 , . . . , xn , t1 , . . . , tm , y]
⇒ I ∩ K[x1 , . . . , xn ] provides an implicitation.
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Implicitation (cont.)
Example
Consider the folium of Descartes:
(
✄ I = hx1 (1 + t3 ) − 3t, x2
3t
1+t3
3t2
1+t3
(1 + t3 ) − 3t2 , 1 − y(1 + 3t2 )i
x1 =
x2 =
✄ G := A GB of I w.r.t. x1 ≺lex x2 ≺lex t ≺lex y
⇒ Since x31 + x32 − 3x1 x2 ∈ G then
x31 + x32 = 3x1 x2
is an implicitation of the curve.
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Computing Minimal Polynomial
Definition
Let M be a square matrix over the field K. The monic polynomial
m ∈ K[x] where
hmi = hf ∈ K[x] | f (M ) = 0i
is called minimal polynomial of M
Example

2
 0
Minimal polynomial of 
 0
0
1 0
2 0
0 1
0 −2
Amir Hashemi

0
0 
 is x3 − 7x2 + 16x − 12
1 
4
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Algorithm for Computing Minimal Polynomial
Input M :=
1 2
3 4
,M 2
=
Amir Hashemi
7 10
15 22
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Algorithm for Computing Minimal Polynomial
Input M :=
1 2
3 4
,M 2
=
m := a2 x2 + a1 x + a0
Amir Hashemi
7 10
15 22
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Algorithm for Computing Minimal Polynomial
Input M :=
1 2
3 4
,M 2
=
m := a2 x2 + a1 x + a0
7 10
15 22
a2 M 2 + a1 M + a0 I2×2 =
7a2 + a1 + a0 10a2 + 2a1
=0
15a2 + 3a1
22a2 + 4a1 + a0
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Algorithm for Computing Minimal Polynomial
Input M :=
1 2
3 4
,M 2
=
m := a2 x2 + a1 x + a0
7 10
15 22
a2 M 2 + a1 M + a0 I2×2 =
7a2 + a1 + a0 10a2 + 2a1
=0
15a2 + 3a1
22a2 + 4a1 + a0
I := h7a2 + a1 + a0 , 10a2 + 2a1 , 15a2 + 3a1 , 22a2 + 4a1 + a0 i
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Algorithm for Computing Minimal Polynomial
Input M :=
1 2
3 4
,M 2
=
m := a2 x2 + a1 x + a0
7 10
15 22
a2 M 2 + a1 M + a0 I2×2 =
7a2 + a1 + a0 10a2 + 2a1
=0
15a2 + 3a1
22a2 + 4a1 + a0
I := h7a2 + a1 + a0 , 10a2 + 2a1 , 15a2 + 3a1 , 22a2 + 4a1 + a0 i
G := {2a1 − 5a0 , 2a2 + a0 } GB w.r.t. a0 ≺lex a1 ≺lex a2
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Algorithm for Computing Minimal Polynomial
Input M :=
1 2
3 4
,M 2
=
m := a2 x2 + a1 x + a0
7 10
15 22
a2 M 2 + a1 M + a0 I2×2 =
7a2 + a1 + a0 10a2 + 2a1
=0
15a2 + 3a1
22a2 + 4a1 + a0
I := h7a2 + a1 + a0 , 10a2 + 2a1 , 15a2 + 3a1 , 22a2 + 4a1 + a0 i
G := {2a1 − 5a0 , 2a2 + a0 } GB w.r.t. a0 ≺lex a1 ≺lex a2
m := Remainder(m, G) = − 12 a0 x2 + 25 a0 x + a0
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Algorithm for Computing Minimal Polynomial
Input M :=
1 2
3 4
,M 2
=
m := a2 x2 + a1 x + a0
7 10
15 22
a2 M 2 + a1 M + a0 I2×2 =
7a2 + a1 + a0 10a2 + 2a1
=0
15a2 + 3a1
22a2 + 4a1 + a0
I := h7a2 + a1 + a0 , 10a2 + 2a1 , 15a2 + 3a1 , 22a2 + 4a1 + a0 i
G := {2a1 − 5a0 , 2a2 + a0 } GB w.r.t. a0 ≺lex a1 ≺lex a2
m := Remainder(m, G) = − 12 a0 x2 + 25 a0 x + a0
a0 6= 0, so m :=
m
− 21 a0
= x2 − 5x − 2
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Algorithm for Computing Minimal Polynomial
Input M :=
1 2
3 4
,M 2
=
m := a2 x2 + a1 x + a0
7 10
15 22
a2 M 2 + a1 M + a0 I2×2 =
7a2 + a1 + a0 10a2 + 2a1
=0
15a2 + 3a1
22a2 + 4a1 + a0
I := h7a2 + a1 + a0 , 10a2 + 2a1 , 15a2 + 3a1 , 22a2 + 4a1 + a0 i
G := {2a1 − 5a0 , 2a2 + a0 } GB w.r.t. a0 ≺lex a1 ≺lex a2
m := Remainder(m, G) = − 12 a0 x2 + 25 a0 x + a0
a0 6= 0, so m :=
m
− 21 a0
= x2 − 5x − 2
⇒ Minimal polynomial of M is x2 − 5x − 2
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Algorithm
Algorithm 3 MinPoly
Require: Mn×n
Ensure: P
Minimal polynomial m of M in x
I := h nk=0 ak M k [i, j] | i, j = 1, . . . , ni
G := A Gröbner basis for I w.r.t. a0 ≺lex . . . ≺lex an
d :=| G |
Pd
m := Remainder( i=0 ai xi , G|ad+1 =···=an =0 )
m
m := LC(m)
Return(m)
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
A Surprising Example
Timing
M : a random 90 × 90 matrix
MinPoly
Maple
time (sec)
memory (Gb)
19m39s
7h26m33s
8.3
74.6
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Definition
A simple graph G is proper k−colorable if one can
assign k colors to the vertices of G such that the
adjacent 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
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Assign xi to the vertex i
Correspond a 3-th root of unity to a color
I := hx31 − 1, . . . , x35 − 1i
I := I + hx2i + xi xj + x2j | (i, j) is an edgei
Theorem
The elements of V(I) provide the different possible colorings and
|V(I)| = the number of colorings
Algorithm for Graph Coloring
✄ Compute a Gröbner basis for I
✄ if 1 ∈ G ⇒ G is not k−colorable
✄ else, compute V(I) using G
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
The corresponsing polynomial system:
F := [x31 − 1, . . . , x24 + x4 x5 + x25 ];
with(Groebner); G:=Basis(F,plex(x1, . . . , x5 ));
G = [x35 − 1, x24 + x4 x5 + 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
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers

(ω




(ω 2



(ω
V(I) =
 (1




(ω 2


(1
ω2
ω
1
ω
1
ω2
Amir Hashemi
Elimination Theory
Solving Polynomial Systems
ω
ω2
ω
1
ω2
1
ω2
ω
1
ω
1
ω2
1 )
1 )
ω2 )
ω2 )
ω )
ω )
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Jacobian Conjecture
Theorem (Inverse function theorem)
✄ Consider F : K n 7→ K n with
F (a1 , . . . , an ) = (f1 (a1 , . . . , an ), . . . , fn (a1 , . . . , an ))
 ∂f1
∂f1 
∂x1 · · · ∂xn

.. 
..
✄ Suppose that J(F ) = det  ...
. 
.
∂fn
∂x1
···
∂fn
∂xn
⇒ If J(F )(p) 6= 0 then F has a local inverse at p ∈ K n .
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Jacobian Conjecture
Theorem (Inverse function theorem)
✄ Consider F : K n 7→ K n with
F (a1 , . . . , an ) = (f1 (a1 , . . . , an ), . . . , fn (a1 , . . . , an ))
 ∂f1
∂f1 
∂x1 · · · ∂xn

.. 
..
✄ Suppose that J(F ) = det  ...
. 
.
∂fn
∂x1
···
∂fn
∂xn
⇒ If J(F )(p) 6= 0 then F has a local inverse at p ∈ K n .
Example
✄ We consider F (x, y) = (ex cos(y), ex sin(y)) then
✄ J(F ) = e2x and therefore
⇒ F has a local inverse at each point (no global).
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving 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
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Jacobian Conjecture (cont.)
Theorem
✄ Let I = hy1 − f1 , . . . , yn − fn i.
✄ G = Basis(I, plex(x1 , . . . , xn , y1 , . . . , yn )).
⇒ Then F has a global inverse iff
G = {x1 − g1 , . . . , xn − gn } with gi ∈ K[y1 , . . . , yn ].
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Jacobian Conjecture (cont.)
Theorem
✄ Let I = hy1 − f1 , . . . , yn − fn i.
✄ G = Basis(I, plex(x1 , . . . , xn , y1 , . . . , yn )).
⇒ Then F has a global inverse iff
G = {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
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Jacobian Conjecture (cont.)
Theorem
✄ Let I = hy1 − f1 , . . . , yn − fn i.
✄ G = Basis(I, plex(x1 , . . . , xn , y1 , . . . , yn )).
⇒ Then F has a global inverse iff
G = {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
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Jacobian Conjecture (cont.)
Theorem
✄ Let I = hy1 − f1 , . . . , yn − fn i.
✄ G = Basis(I, plex(x1 , . . . , xn , y1 , . . . , yn )).
⇒ Then F has a global inverse iff
G = {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
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving 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
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving 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 ∧ a
Associative a ∨ (b ∨ c) = (a ∨ b) ∨ c, a ∧ (b ∧ c) = (a ∧ b) ∧ c
Absorptance a ∨ (a ∧ b) = a, a ∧ (a ∨ b) = a
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving 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
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving 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
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving 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
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving 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 isomorphic
to M3 or N5 .
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Problem
Lattice Distributivity Problem
✄ How can we determine whether a finite lattice is distributive?
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
✄ L: a finite lattice
✄ IL := hza zb − za∧b za∨b | a, b ∈ Li ⊂ K[za | a ∈ L]
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
✄ L: a finite lattice
✄ IL := hza zb − za∧b za∨b | a, b ∈ Li ⊂ K[za | a ∈ L]
Theorem: (a)⇒ (b): Hibi, 1987, (b)⇒ (a): Qureshi, 2012
The following are equivalent:
(a) L is distributive,
(b) GL := {za zb − za∧b za∨b | a, b ∈ L are incomparable} is a
Gröbner basis for IL w.r.t. each rank reverse lexicographic
ordering.
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Amir Hashemi
Gröbner Bases and Tilings
Example:
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Example:
GM3 = {zb zc − za ze , zb zd − za ze , zc zd − za ze } is not a Gröbner
basis w.r.t. ze ≺ zb ≺ zc ≺ zd ≺ za , because:
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Example:
GM3 = {zb zc − za ze , zb zd − za ze , zc zd − za ze } is not a Gröbner
basis w.r.t. ze ≺ zb ≺ zc ≺ zd ≺ za , because:
LM(Spoly(zb zc − za ze , zb zd − za ze )) = zd za ze ∈
/ LM(GM3 )
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Example:
GM3 = {zb zc − za ze , zb zd − za ze , zc zd − za ze } is not a Gröbner
basis w.r.t. ze ≺ zb ≺ zc ≺ zd ≺ za , because:
LM(Spoly(zb zc − za ze , zb zd − za ze )) = zd za ze ∈
/ LM(GM3 )
Result
M3 is not distributive.
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Example:
GM3 = {zb zc − za ze , zb zd − za ze , zc zd − za ze } is not a Gröbner
basis w.r.t. ze ≺ zb ≺ zc ≺ zd ≺ za , because:
LM(Spoly(zb zc − za ze , zb zd − za ze )) = zd za ze ∈
/ LM(GM3 )
Result
M3 is not distributive.
Note
b = b ∧ (c ∨ d) 6= (b ∧ c) ∨ (b ∧ d) = e
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Automatic Geometry Theorem Proving
Example
Pappus theorem: P, Q and R are collinear
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving 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
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
3
Since A, B, C are colinear, we have uu56 −u
−u4 =
from the collinearity of points we obtain:
Amir Hashemi
u7 −u3
x1 −u4 ,
Gröbner Bases and Tilings
and so
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
3
Since A, B, C are colinear, we have uu56 −u
−u4 =
from the collinearity of points we obtain:
u7 −u3
x1 −u4 ,
and so
Hypothesis polynomials
h1
h2
h3
h4
h5
h6
h7
:= x1 u3 + u6 u7 − u6 u3 − x1 u5 − u4 u7 + u4 u5
:= u4 u1 + x3 u3 − x3 u1 − u4 x2
:= u5 x3 − u6 x2
:= u4 u2 + x5 u3 − x5 u2 − u4 x4
:= u7 x5 − x1 x4
:= u6 u2 + x7 u5 − x7 u2 − u6 x6
:= x1 u1 + x7 u7 − x7 u1 − x1 x6
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
3
Since A, B, C are colinear, we have uu56 −u
−u4 =
from the collinearity of points we obtain:
u7 −u3
x1 −u4 ,
and so
Hypothesis polynomials
h1
h2
h3
h4
h5
h6
h7
:= x1 u3 + u6 u7 − u6 u3 − x1 u5 − u4 u7 + u4 u5
:= u4 u1 + x3 u3 − x3 u1 − u4 x2
:= u5 x3 − u6 x2
:= u4 u2 + x5 u3 − x5 u2 − u4 x4
:= u7 x5 − x1 x4
:= u6 u2 + x7 u5 − x7 u2 − u6 x6
:= x1 u1 + x7 u7 − x7 u1 − x1 x6
Conclusion polynomial
g := x7 x2 + x5 x6 − x5 x2 − x7 x4 − x3 x6 + x3 x4
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
✄ I := hh1 , . . . , hr i ⊂ R[x1 , . . . , xn , u1 , . . . , um ]
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
✄ I := hh1 , . . . , hr i ⊂ R[x1 , . . . , xn , u1 , . . . , um ]
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
✄ I := hh1 , . . . , hr i ⊂ R[x1 , . . . , xn , u1 , . . . , um ]
Theorem
Conclusion is true iff the reduced Gröbner basis of
hh1 , . . . , hr , 1 − ygi ⊂ R(u1 , . . . , um )[x1 , . . . , xn , y]
equals to {1}
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
✄ I := hh1 , . . . , hr i ⊂ R[x1 , . . . , xn , u1 , . . . , um ]
Theorem
Conclusion is true iff the reduced Gröbner basis of
hh1 , . . . , hr , 1 − ygi ⊂ R(u1 , . . . , um )[x1 , . . . , xn , y]
equals to {1}
The reduced Gröbner basis of
hh1 , . . . , h7 , 1 − ygi ⊂ R(u1 , . . . , u7 )[x1 , . . . , x7 , y]
is {1}, so the Pappus theorem is proved.
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Frobenius Problem
a1 ≤ a2 ≤ · · · ≤ ar natural numbers
gcd(a1 , . . . , ar ) = 1
N (a1 , . . . , ar ) := max{n ∈ N | n 6= λ1 a1 + · · · + λr ar }
Frobenius problem : Find N (a1 , . . . , ar )
Example
N (5, 7) = 23
N (11, 13, 17) = 53
N (238, 569, 791) = 18205
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
✄ I := hx1 − ta1 , . . . , xr − tar i ⊂ Q[x1 , . . . , xr , t]
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
✄ I := hx1 − ta1 , . . . , xr − tar i ⊂ Q[x1 , . . . , xr , t]
✄ G:= A Gröbner basis for I w.r.t. xi ≺lex t
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
✄ I := hx1 − ta1 , . . . , xr − tar i ⊂ Q[x1 , . . . , xr , t]
✄ G:= A Gröbner basis for I w.r.t. xi ≺lex t
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
✄ I := hx1 − ta1 , . . . , xr − tar i ⊂ Q[x1 , . . . , xr , t]
✄ G:= A Gröbner basis for I w.r.t. xi ≺lex t
Theorem
N = λ1 a1 + · · · + λr ar iff remainder(tN , G) = xλ1 1 · · · xλr r
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Example
McNugget numbers N (6, 9, 20) = 43
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Example
McNugget numbers N (6, 9, 20) = 43
J := hx1 − t6 , x2 − t9 , x3 − t20 i :
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Example
McNugget numbers N (6, 9, 20) = 43
J := hx1 − t6 , x2 − t9 , x3 − t20 i :
G:=Basis(J, plex(t, x1 , x2 , x3 ));
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Example
McNugget numbers N (6, 9, 20) = 43
J := hx1 − t6 , x2 − t9 , x3 − t20 i :
G:=Basis(J, plex(t, x1 , x2 , x3 ));
NormalForm(t41 , G, plex(t, x1 , x2 , x3 ));
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Example
McNugget numbers N (6, 9, 20) = 43
J := hx1 − t6 , x2 − t9 , x3 − t20 i :
G:=Basis(J, plex(t, x1 , x2 , x3 ));
NormalForm(t41 , G, plex(t, x1 , x2 , x3 ));
x21 x2 x3 ⇒ 41 = 2 × 6 + 1 × 9 + 1 × 20
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Example
McNugget numbers N (6, 9, 20) = 43
J := hx1 − t6 , x2 − t9 , x3 − t20 i :
G:=Basis(J, plex(t, x1 , x2 , x3 ));
NormalForm(t41 , G, plex(t, x1 , x2 , x3 ));
x21 x2 x3 ⇒ 41 = 2 × 6 + 1 × 9 + 1 × 20
NormalForm(t43 , G, plex(t, x1 , x2 , x3 ));
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Example
McNugget numbers N (6, 9, 20) = 43
J := hx1 − t6 , x2 − t9 , x3 − t20 i :
G:=Basis(J, plex(t, x1 , x2 , x3 ));
NormalForm(t41 , G, plex(t, x1 , x2 , x3 ));
x21 x2 x3 ⇒ 41 = 2 × 6 + 1 × 9 + 1 × 20
NormalForm(t43 , G, plex(t, x1 , x2 , x3 ));
tx1 x42
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Example
McNugget numbers N (6, 9, 20) = 43
J := hx1 − t6 , x2 − t9 , x3 − t20 i :
G:=Basis(J, plex(t, x1 , x2 , x3 ));
NormalForm(t41 , G, plex(t, x1 , x2 , x3 ));
x21 x2 x3 ⇒ 41 = 2 × 6 + 1 × 9 + 1 × 20
NormalForm(t43 , G, plex(t, x1 , x2 , x3 ));
tx1 x42
NormalForm(t44 , G, plex(t, x1 , x2 , x3 ));
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Example
McNugget numbers N (6, 9, 20) = 43
J := hx1 − t6 , x2 − t9 , x3 − t20 i :
G:=Basis(J, plex(t, x1 , x2 , x3 ));
NormalForm(t41 , G, plex(t, x1 , x2 , x3 ));
x21 x2 x3 ⇒ 41 = 2 × 6 + 1 × 9 + 1 × 20
NormalForm(t43 , G, plex(t, x1 , x2 , x3 ));
tx1 x42
NormalForm(t44 , G, plex(t, x1 , x2 , x3 ));
x1 x22 x3 ⇒ 44 = 1 × 6 + 2 × 9 + 1 × 20
···
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Example
McNugget numbers N (6, 9, 20) = 43
J := hx1 − t6 , x2 − t9 , x3 − t20 i :
G:=Basis(J, plex(t, x1 , x2 , x3 ));
NormalForm(t41 , G, plex(t, x1 , x2 , x3 ));
x21 x2 x3 ⇒ 41 = 2 × 6 + 1 × 9 + 1 × 20
NormalForm(t43 , G, plex(t, x1 , x2 , x3 ));
tx1 x42
NormalForm(t44 , G, plex(t, x1 , x2 , x3 ));
x1 x22 x3 ⇒ 44 = 1 × 6 + 2 × 9 + 1 × 20
···
NormalForm(t50 , G, plex(t, x1 , x2 , x3 ));
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Example
McNugget numbers N (6, 9, 20) = 43
J := hx1 − t6 , x2 − t9 , x3 − t20 i :
G:=Basis(J, plex(t, x1 , x2 , x3 ));
NormalForm(t41 , G, plex(t, x1 , x2 , x3 ));
x21 x2 x3 ⇒ 41 = 2 × 6 + 1 × 9 + 1 × 20
NormalForm(t43 , G, plex(t, x1 , x2 , x3 ));
tx1 x42
NormalForm(t44 , G, plex(t, x1 , x2 , x3 ));
x1 x22 x3 ⇒ 44 = 1 × 6 + 2 × 9 + 1 × 20
···
NormalForm(t50 , G, plex(t, x1 , x2 , x3 ));
x21 x22 x3 ⇒ 50 = 2 × 6 + 2 × 9 + 1 × 20
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
N
Remainder
λi , s
53
54
55
56
57
58
59
60
61
62
63
64
x42 t
x1 x22 x3
x51
x32 x3
x41 x2
x1 x2 x23
x31 x22
x22 x23
x21 x32
x1 x33
x1 x42
x2 x33
−
[1, 2, 1]
[5, 0, 0]
[0, 3, 1]
[4, 1, 0]
[1, 1, 2]
[3, 2, 0]
[0, 2, 2]
[2, 3, 0]
[1, 0, 3]
[1, 4, 0]
[0, 1, 3]
⇒ N (11, 13, 17) = 53
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving 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 := hy1 − xa111 · · · xamm1 , . . . , yn − xa11n · · · xammn i
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving 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 := hy1 − xa111 · · · xamm1 , . . . , yn − xa11n · · · xammn i
G = Gröbner basis of I w.r.t yi ≺lex xj
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving 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 := hy1 − xa111 · · · xamm1 , . . . , yn − xa11n · · · xammn i
G = Gröbner basis of I w.r.t yi ≺lex xj
xb11 · · · xbmm ❀G h
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving 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 := hy1 − xa111 · · · xamm1 , . . . , yn − xa11n · · · xammn i
G = Gröbner basis of I w.r.t yi ≺lex xj
xb11 · · · xbmm ❀G h
h = y1σ1 · · · ynσn ⇔ (σ1 , . . . , σn ) is a natural solution.
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Solving Linear Diophantine Systems (cont.)
Example
✄
3σ1 +2σ2 +σ3 + σ4 = 10
4σ1 +σ2 +σ3 +
= 5.
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Solving Linear Diophantine Systems (cont.)
Example
✄
3σ1 +2σ2 +σ3 + σ4 = 10
4σ1 +σ2 +σ3 +
= 5.
✄ I := hy1 − x31 x42 , y2 − x21 x2 , y3 − x1 x2 , y4 − x1 i,
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Solving Linear Diophantine Systems (cont.)
Example
✄
3σ1 +2σ2 +σ3 + σ4 = 10
4σ1 +σ2 +σ3 +
= 5.
✄ I := hy1 − x31 x42 , y2 − x21 x2 , y3 − x1 x2 , y4 − x1 i,
✄ Gröbner basis of I w.r.t yi ≺lex xj is:
{y2 − y3 y4 , y1 y4 − y34 , x2 y4 − y3 , x2 y33 − y1 , x1 − y4 }
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Solving Linear Diophantine Systems (cont.)
Example
✄
3σ1 +2σ2 +σ3 + σ4 = 10
4σ1 +σ2 +σ3 +
= 5.
✄ I := hy1 − x31 x42 , y2 − x21 x2 , y3 − x1 x2 , y4 − x1 i,
✄ Gröbner basis of I w.r.t yi ≺lex xj is:
{y2 − y3 y4 , y1 y4 − y34 , x2 y4 − y3 , x2 y33 − y1 , x1 − y4 }
5
5 5
⇒ x10
1 x2 ❀G y3 y4 and (0, 0, 5, 5) is a solution.
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Integer Solutions
z; a new variable
I := hy1 − xa111 · · · xamm1 , . . . , yn − xa11n · · · xammn , y1 · · · yn z − 1i
G = Gröbner 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, if
the remainder is y1α1 · · · ynαn z α , then (α1 − α, . . . , αn − α) is a
solution of the system.
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Example

= 12
 12σ1 + 7σ2 + 9σ3
5σ2 + 8σ3 + 10σ4 = 0

15σ1
+ 21σ3 + 69σ4 = 3.
15
7 5
9 8 21
10 69
I = hy1 − x12
1 x3 , y2 − x1 x2 , y3 − x1 x2 x3 , y4 − x2 x3 , y1 y2 y3 y4 z − 1i
G = Gröbner basis of I w.r.t z ≺lex yi ≺lex xj
3
336 y 293 y 656 y 248
x12
1 x3 ❀G z
1
3
4
(293, 0, 656, 248) − (336, 336, 336, 336) = (−43, −336, 320, −88)
an integer solution
Since z 2056 y11819 y2238 y33786 y41581 − 1 ∈ I, we have the general
solution (−237k − 43, −1818k − 336, 1730k + 320, −475k − 88)
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Elimination Theory
Solving Polynomial Systems
Gröbner Bases and Tilings
Amir Hashemi
Isfahan University of Technology & IPM
CIMPA-IRAN school on Tilings and Tessellations, Isfahan, Iran, 2015
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Application to Tilings
Hakim Abolfath Omar ebn Ibrahim Khayyám
Nieshapuri (18 May 1048 -4 December 1131), born in
Nishapur in North Eastern Iran, was a great Persian
polymath, philosopher, mathematician, astronomer and
poet, who wrote treatises on mechanics, geography,
mineralogy, music, and Islamic theology.
Khayyám was famous during his times as a mathematician. He
wrote the influential treatise on demonstration of problems of
algebra (1070), which laid down the principles of algebra, part of
the body of Persian Mathematics that was eventually transmitted
to Europe. In particular, he derived general methods for solving
cubic equations and even some higher orders.
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Application to Tilings
He wrote on the triangular array of binomial
coefficients known as Khayyám-Pascal’s triangle.
In 1077, Khayyám 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
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Application to Tilings
Notations
So far, we have considered R = K[x1 , . . . , xn ]
and discussed Gröbner bases over fields + applications
In this part, we consider A = Z[x1 , . . . , xn ]
We discuss Gröbner bases over integers
and review its application in tilings.
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Application to Tilings
Main Problem
☞ Main obstacle in theory of Gröbner bases over Z is division.
Let us consider the polynomial ring R = K[x1 , . . . , xn ]. In this
ring we have 2x | 3x. However that does not hold in
A = Z[x1 , . . . , xn ]
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Application to Tilings
Main Problem
☞ Main obstacle in theory of Gröbner bases over Z is division.
Let us consider the polynomial ring R = K[x1 , . . . , xn ]. In this
ring we have 2x | 3x. However that does not hold in
A = Z[x1 , . . . , xn ]
i.e. 2x ∤ 3x
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Application to Tilings
Main Problem
☞ Main obstacle in theory of Gröbner bases over Z is division.
Let us consider the polynomial ring R = K[x1 , . . . , xn ]. In this
ring 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 ∈ h2x, 3xi
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Application to Tilings
Main Problem
☞ Main obstacle in theory of Gröbner bases over Z is division.
Let us consider the polynomial ring R = K[x1 , . . . , xn ]. In this
ring 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 ∈ h2x, 3xi
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
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Application to Tilings
Main Problem
☞ Main obstacle in theory of Gröbner bases over Z is division.
Let us consider the polynomial ring R = K[x1 , . . . , xn ]. In this
ring 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 ∈ h2x, 3xi
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
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Application to Tilings
Main Problem
☞ Main obstacle in theory of Gröbner bases over Z is division.
Let us consider the polynomial ring R = K[x1 , . . . , xn ]. In this
ring 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 ∈ h2x, 3xi
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
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner 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 ∈ h7x, 3yiZ[x,y] ❀ xy = y(7x) − 2x(3y)
✄ f − (yf1 − 2xf2 ) = −3y − 10x − 1.
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Application to Tilings
Gröbner Bases
Definition
✄ I⊂A
✄ ≺ a monomial ordering
✄ A finite set G ⊂ I is a Gröbner Basis for I w.r.t. ≺, if
∀f ∈ I ∃g ∈ G s.t. LT(g) | LT(f )
Existence of Gröbner bases
Each ideal has a Gröbner basis
Membership problem
f ∈ I iff f ❀G 0
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Application to Tilings
Example
☞ A = Z[x, y] and y ≺lex x
f1 = 4x + 1, f2 = 6y + 1 and I = hf1 , f2 i
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Application to Tilings
Example
☞ A = Z[x, y] and y ≺lex x
f1 = 4x + 1, f2 = 6y + 1 and I = hf1 , f2 i
f := 3yf1 − 2xf2 = 3y − 2x and LT(f ) = −2x ∈
/ h4x, 6yi
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Application to Tilings
Example
☞ A = Z[x, y] and y ≺lex x
f1 = 4x + 1, f2 = 6y + 1 and I = hf1 , f2 i
f := 3yf1 − 2xf2 = 3y − 2x and LT(f ) = −2x ∈
/ h4x, 6yi
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Application to Tilings
Example
☞ A = Z[x, y] and y ≺lex x
f1 = 4x + 1, f2 = 6y + 1 and I = hf1 , f2 i
f := 3yf1 − 2xf2 = 3y − 2x and LT(f ) = −2x ∈
/ h4x, 6yi
{f1 , f2 } is not a Gröbner basis for I
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Application to Tilings
Gröbner Bases Calculation over Integers
The process is the same as Buchberger’s algorithm over fields
The only difference is the division algorithm
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Application to Tilings
Gröbner 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 = hf1 , f2 i
Spoly(f1 , f2 ) =
Spoly(f1 , f2 ) =
lcm(LT(f1 ),LT(f2 ))
1 ),LT(f2 ))
f1 − lcm(LT(f
f2
LT(f1 )
LT(f2 )
6xy
6xy
2x f1 − 3y f2 = 3yf1 − 2xf2 = 3y − 2x
✄ Spoly(f1 , f2 ) ❀ Spoly(f1 , f2 ) + f1 = 3y + 1 ❀f2 0.
So, {f1 , f2 } is a Gröbner basis for I
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Application to Tilings
Polynomial Model
Definition
A celle is the square
c(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) = xi y j
y
j
(i, j)
i
Amir Hashemi
x
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Application to Tilings
Polynomial Model (cont.)
☞ A polyomino is a finite union of celles
Definition
P
T = ∪(i,j)∈Λ c(i, j) then define PT = (i,j)∈Λ Pc(i,j) .
☞ We associate 1 + x + xy + xy 2 to the following polyomino
y
xy 2
xy
1
x
Amir Hashemi
x
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner 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 F
to cover P so that the sum of signs on P at each cell is +1.
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Application to Tilings
Example
We consider the following polyomio P
y
y3
xy 3
y2
y
1
x
x
☞ We associate the polynomial f = 1 + x + y + · · · + xy 3 .
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Application to Tilings
Example (cont.)
and we would like to cover it by the following polyomino T
y
xy 2
xy
1
x
x
☞ we associate the polynomial f1 = 1 + x + xy + xy 2 .
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Application to Tilings
Example (cont.)
☞ so we shall consider all (four) rotations of T , e.g.
y
xy 2
y2
y
x
1
☞ we associate the polynomial f2 = 1 + y + y 2 + xy 2 .
☞ Let f2 , f3 , f4 be associated poly of all rotations
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Application to Tilings
Example (cont.)
☞ In addition, we shall consider all rotations of the reflection of T
y
y2
y
1
x
x
☞ we associate the polynomial g1 = 1 + y + y 2 + x.
☞ Let g2 , g3 , g4 be associated poly of all rotations
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Application to Tilings
Example (cont.)
To check whether P can be covered by T (and its rotations
and reflection), one can verify whether
f ∈ hf1 , . . . , f4 , g1 , . . . , g4 i ⊂ Z[x, y]
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Application to Tilings
Example (cont.)
To check whether P can be covered by T (and its rotations
and reflection), one can verify whether
f ∈ hf1 , . . . , f4 , g1 , . . . , g4 i ⊂ Z[x, y]
we can do this check by Gröbner bases over integers
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Application to Tilings
Example (cont.)
To check whether P can be covered by T (and its rotations
and reflection), one can verify whether
f ∈ hf1 , . . . , f4 , g1 , . . . , g4 i ⊂ Z[x, y]
we can do this check by Gröbner bases over integers
Let G be the Gröbner basis of this ideal
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Application to Tilings
Example (cont.)
To check whether P can be covered by T (and its rotations
and reflection), one can verify whether
f ∈ hf1 , . . . , f4 , g1 , . . . , g4 i ⊂ Z[x, y]
we can do this check by Gröbner bases over integers
Let G be the Gröbner basis of this ideal
since the remainder of f by G is zero,
(indeed we have f = f1 + yf2 )
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Application to Tilings
Example (cont.)
To check whether P can be covered by T (and its rotations
and reflection), one can verify whether
f ∈ hf1 , . . . , f4 , g1 , . . . , g4 i ⊂ Z[x, y]
we can do this check by Gröbner bases over integers
Let G be the Gröbner basis of this ideal
since the remainder of f by G is zero,
(indeed we have f = f1 + yf2 )
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Application to Tilings
Example (cont.)
To check whether P can be covered by T (and its rotations
and reflection), one can verify whether
f ∈ hf1 , . . . , f4 , g1 , . . . , g4 i ⊂ Z[x, y]
we can do this check by Gröbner bases over integers
Let G be the Gröbner 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
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Application to Tilings
Example (cont.)
Thus we have
y
f2
y
f1
x
☞ f = f1 + yf2
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner Bases over Integers
Application to Tilings
Thanks for your attention...
Amir Hashemi
Gröbner Bases and Tilings
Introduction
Gröbner bases
Computation of Gröbner Bases
Applications
Gröbner 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:
Gröbner 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 Gröbner bases.
American Mathematical Society, 1994.
Amir Hashemi
Gröbner Bases and Tilings