Generalized Ehrhart Polynomials Nan Li (MIT) with Sheng Chen (HIT) - - PowerPoint PPT Presentation
Generalized Ehrhart Polynomials Nan Li (MIT) with Sheng Chen (HIT) - - PowerPoint PPT Presentation
Generalized Ehrhart Polynomials Nan Li (MIT) with Sheng Chen (HIT) and Steven Sam (MIT) Aug 5, 2010 Fpsac Outline Ehrhart Theorem Generalized Ehrhart polynomials by examples Main theorem in three equivalent versions Proof:
Outline
- Ehrhart Theorem
- Generalized Ehrhart polynomials by examples
- Main theorem in three equivalent versions
- Proof: “writing in base n” trick
- Further questions
Ehrhart Theorem
Let P ⊂ Rd be a polytope with rational vertices. (0, 0) ( 1
2, 0)
(0, 1) P
- (0, 0)
( 1
2n, 0)
(0, n)
- nP
- #(nP ∩ Z2) =
- 1
4n2 + n + 1
n even
1 4n2 + n + 3 4
n odd
Definition
We call f (n) a quasi-polynomial, if f (n) = fi(n) (n ≡ i mod T), for some T ∈ N and polynomials fi(n)’s.
Theorem (Ehrhart)
i(P, n) = #(nP ∩ Zd) is a quasi-polynomial. In particular, if P has integral vertices, i(P, n) is a polynomial, called the Ehrhart polynomial.
Example: non homogenous “dilation”
(0, 0) ( n
2 + 1 2, 0)
(0, n + 1)
-
2x + y ≤ n + 1 x ≥ 0 y ≥ 0 = 2x + y = n + 1 x ≥ 0 y ≥ 0 + 2x + y ≤ n x ≥ 0 y ≥ 0 ( n
2 + 1 2, 0)
(0, n + 1)
- The number of integer points on this diagonal is
f (n) = #{(x, y) ∈ Z2
≥0 | 2x + y = n + 1}
Example: non homogenous “dilation”
(0, 0) ( n
2 + 1 2, 0)
(0, n + 1)
-
2x + y ≤ n + 1 x ≥ 0 y ≥ 0 = 2x + y = n + 1 x ≥ 0 y ≥ 0 + 2x + y ≤ n x ≥ 0 y ≥ 0 ( n
2 + 1 2, 0)
(0, n + 1)
- The number of integer points on this diagonal is
f (n) = #{(x, y) ∈ Z2
≥0 | 2x + y = n + 1}
Example: non homogenous “dilation”
(0, 0) ( n
2 + 1 2, 0)
(0, n + 1)
-
2x + y ≤ n + 1 x ≥ 0 y ≥ 0 = 2x + y = n + 1 x ≥ 0 y ≥ 0 + 2x + y ≤ n x ≥ 0 y ≥ 0 ( n
2 + 1 2, 0)
(0, n + 1)
- The number of integer points on this diagonal is
f (n) = #{(x, y) ∈ Z2
≥0 | 2x + y = n + 1}
Theorem (Popoviciu’s Formula)
The number of nonnegative integer solutions (x, y) to ax + by = m, where a, b are coprime integers, is given by the formula m ab − ma′ b
- −
mb′ a
- + 1,
where {r} = r − ⌊r⌋ and a′ and b′ are any integers satisfying aa′ + bb′ = 1.
Example
For 2x + y = n + 1, we have a = 2, b = 1, a′ = 1, b′ = −1 Then n + 1 2 − n + 1 1
- −
−(n + 1) 2
- + 1 =
- n+3
2
n odd
n 2 + 1
n even
Example: nonlinear “dilation”
(0, 0) (2n + 4, 0) (0, n2 + 2n)
- = 1
2
- +
-
The number of integer points on the diagonal is f (n) = #{(x, y) ∈ Z2
≥0 | (n2 + 2n)x + (2n + 4)y = (2n + 4)(n2 + 2n)}
We can not use Popoviciu’s Formula directly, so we need the following generalizations:
- Replace GCD(a, b) = 1, a, b ∈ Z by GCD(a(n), b(n)) = 1 for all
n ∈ Z, where a(n), b(n) ∈ Z[n]
- Replace
n−1
2
- by function
- a(n)
b(n)
- , a(n), b(n) ∈ Z[n].
Example: nonlinear “dilation”
(0, 0) (2n + 4, 0) (0, n2 + 2n)
- = 1
2
- +
-
The number of integer points on the diagonal is f (n) = #{(x, y) ∈ Z2
≥0 | (n2 + 2n)x + (2n + 4)y = (2n + 4)(n2 + 2n)}
We can not use Popoviciu’s Formula directly, so we need the following generalizations:
- Replace GCD(a, b) = 1, a, b ∈ Z by GCD(a(n), b(n)) = 1 for all
n ∈ Z, where a(n), b(n) ∈ Z[n]
- Replace
n−1
2
- by function
- a(n)
b(n)
- , a(n), b(n) ∈ Z[n].
Example: nonlinear “dilation”
(0, 0) (2n + 4, 0) (0, n2 + 2n)
- = 1
2
- +
-
The number of integer points on the diagonal is f (n) = #{(x, y) ∈ Z2
≥0 | (n2 + 2n)x + (2n + 4)y = (2n + 4)(n2 + 2n)}
We can not use Popoviciu’s Formula directly, so we need the following generalizations:
- Replace GCD(a, b) = 1, a, b ∈ Z by GCD(a(n), b(n)) = 1 for all
n ∈ Z, where a(n), b(n) ∈ Z[n]
- Replace
n−1
2
- by function
- a(n)
b(n)
- , a(n), b(n) ∈ Z[n].
Example
Compute
- n2+2n
2n+4
- and GCD(n2 + 2n, 2n + 4).
- n = 2m, n2 + 2n = 4m2 + 4m = m(4m + 4).
- n2+2n
2n+4
- = 0 and GCD(n2 + 2n, 2n + 4) = 2n + 4.
- n = 2m + 1, n2 + 2n = 4m2 + 8m + 3 = m(4m + 6) + (2m + 3).
- n2+2n
2n+4
- =
- m + 2m+3
4m+6
- = 2m+3
4m+6 = 1 2.
For GCD, we apply Euclidean algorithm and get 4m + 6 = 2(2m + 3), So GCD(n2 + 2n, 2n + 4) = 2m + 3 = n + 2 Therefore, n2 + 2n 2n + 4
- =
- n even
1 2
n odd and GCD(n2+2n, 2n+4) =
- 2n + 4
n even n + 2 n odd
Example
Compute
- n2+2n
2n+4
- and GCD(n2 + 2n, 2n + 4).
- n = 2m, n2 + 2n = 4m2 + 4m = m(4m + 4).
- n2+2n
2n+4
- = 0 and GCD(n2 + 2n, 2n + 4) = 2n + 4.
- n = 2m + 1, n2 + 2n = 4m2 + 8m + 3 = m(4m + 6) + (2m + 3).
- n2+2n
2n+4
- =
- m + 2m+3
4m+6
- = 2m+3
4m+6 = 1 2.
For GCD, we apply Euclidean algorithm and get 4m + 6 = 2(2m + 3), So GCD(n2 + 2n, 2n + 4) = 2m + 3 = n + 2 Therefore, n2 + 2n 2n + 4
- =
- n even
1 2
n odd and GCD(n2+2n, 2n+4) =
- 2n + 4
n even n + 2 n odd
Example
Compute
- n2+2n
2n+4
- and GCD(n2 + 2n, 2n + 4).
- n = 2m, n2 + 2n = 4m2 + 4m = m(4m + 4).
- n2+2n
2n+4
- = 0 and GCD(n2 + 2n, 2n + 4) = 2n + 4.
- n = 2m + 1, n2 + 2n = 4m2 + 8m + 3 = m(4m + 6) + (2m + 3).
- n2+2n
2n+4
- =
- m + 2m+3
4m+6
- = 2m+3
4m+6 = 1 2.
For GCD, we apply Euclidean algorithm and get 4m + 6 = 2(2m + 3), So GCD(n2 + 2n, 2n + 4) = 2m + 3 = n + 2 Therefore, n2 + 2n 2n + 4
- =
- n even
1 2
n odd and GCD(n2+2n, 2n+4) =
- 2n + 4
n even n + 2 n odd
Example
Compute
- n2+2n
2n+4
- and GCD(n2 + 2n, 2n + 4).
- n = 2m, n2 + 2n = 4m2 + 4m = m(4m + 4).
- n2+2n
2n+4
- = 0 and GCD(n2 + 2n, 2n + 4) = 2n + 4.
- n = 2m + 1, n2 + 2n = 4m2 + 8m + 3 = m(4m + 6) + (2m + 3).
- n2+2n
2n+4
- =
- m + 2m+3
4m+6
- = 2m+3
4m+6 = 1 2.
For GCD, we apply Euclidean algorithm and get 4m + 6 = 2(2m + 3), So GCD(n2 + 2n, 2n + 4) = 2m + 3 = n + 2 Therefore, n2 + 2n 2n + 4
- =
- n even
1 2
n odd and GCD(n2+2n, 2n+4) =
- 2n + 4
n even n + 2 n odd
Generalized division and GCD
Definition
Let f (n), g(n) be polynomial functions Z → Z. Define functions q, the quotient, r, the remainder and ggcd, the generalized GCD of f and g as follows: for each n ∈ Z, q(n) = f (n) g(n)
- , r(n) =
f (n) g(n)
- g(n), and ggcd(n) = GCD(f (n), g(n)).
Theorem (Chen, L., Sam)
Functions q, r, ggcd are quasi-polynomials for n sufficiently large.
Back to example: nonlinear dilation
(0, 0) (2n + 4, 0) (0, n2 + 2n) P(n) =
- #{P(n) ∩ Z2}
= 1
2((n2 + 2n + 1)(2n + 5) + f (n)), where
f (n) = #{(x, y) ∈ Z2
≥0 | (n2 + 2n)x + (2n + 4)y = (2n + 4)(n2 + 2n)}.
Now by generalized division and GCD, we can apply Popoviciu’s Formula and get f (n) =
- 2n + 5
n even n + 3 n odd
Back to example: nonlinear dilation
(0, 0) (2n + 4, 0) (0, n2 + 2n) P(n) =
- #{P(n) ∩ Z2}
= 1
2((n2 + 2n + 1)(2n + 5) + f (n)), where
f (n) = #{(x, y) ∈ Z2
≥0 | (n2 + 2n)x + (2n + 4)y = (2n + 4)(n2 + 2n)}.
Now by generalized division and GCD, we can apply Popoviciu’s Formula and get f (n) =
- 2n + 5
n even n + 3 n odd
Generalized Ehrhart (quasi) polynomials
Theorem
Let P(n) be a polytope in Rd and the coordinates of its vertices are given by polynomial functions of n (rational functions of n). Then i(P, n) = #(P(n) ∩ Zd) is a quasi-polynomial of n for n sufficiently large.
Theorem
Define a rational polytope P(n) = {x ∈ Rd | V (n)x ≥ c(n)}, where V (n) is an r × d matrix, and c(n) is an r × 1 column vector, both with entries in Z[n]. Then #(P(n) ∩ Zd) is a quasi-polynomial of n for n sufficiently large.
Theorem
Let A(n) be an m × k matrix and b(n) be a column vector of length m, both with entries in Z[n]. If f (n) denotes the number of nonnegative integer vectors x satisfying A(n)x = b(n) (assuming that these values are finite), then f (n) is a quasi-polynomial of n for n sufficiently large. The above three theorems are equivalent.
Generalized Ehrhart (quasi) polynomials
Theorem
Let P(n) be a polytope in Rd and the coordinates of its vertices are given by polynomial functions of n (rational functions of n). Then i(P, n) = #(P(n) ∩ Zd) is a quasi-polynomial of n for n sufficiently large.
Theorem
Define a rational polytope P(n) = {x ∈ Rd | V (n)x ≥ c(n)}, where V (n) is an r × d matrix, and c(n) is an r × 1 column vector, both with entries in Z[n]. Then #(P(n) ∩ Zd) is a quasi-polynomial of n for n sufficiently large.
Theorem
Let A(n) be an m × k matrix and b(n) be a column vector of length m, both with entries in Z[n]. If f (n) denotes the number of nonnegative integer vectors x satisfying A(n)x = b(n) (assuming that these values are finite), then f (n) is a quasi-polynomial of n for n sufficiently large. The above three theorems are equivalent.
Generalized Ehrhart (quasi) polynomials
Theorem
Let P(n) be a polytope in Rd and the coordinates of its vertices are given by polynomial functions of n (rational functions of n). Then i(P, n) = #(P(n) ∩ Zd) is a quasi-polynomial of n for n sufficiently large.
Theorem
Define a rational polytope P(n) = {x ∈ Rd | V (n)x ≥ c(n)}, where V (n) is an r × d matrix, and c(n) is an r × 1 column vector, both with entries in Z[n]. Then #(P(n) ∩ Zd) is a quasi-polynomial of n for n sufficiently large.
Theorem
Let A(n) be an m × k matrix and b(n) be a column vector of length m, both with entries in Z[n]. If f (n) denotes the number of nonnegative integer vectors x satisfying A(n)x = b(n) (assuming that these values are finite), then f (n) is a quasi-polynomial of n for n sufficiently large. The above three theorems are equivalent.
Special case
Lemma
f (n) = #{x ∈ (Z≥0)k | A(n)x = b(n)} is a quasi-polynomial for n sufficiently large under the following assumptions:
- A(n) is a constant matrix A,
- terms in vector b(n) are linear functions cn + d.
Proof.
The base case is true by Ehrhart Theorem, when there are no nonhomogeneous (in)equalities. By induction on the number of variables and the number of nonhomogeneous (in)equalities. For example, f (n) = {(x, y) ∈ Z2
≥0 | 2x + y ≤ n + 1}
= {(x, y) ∈ Z2
≥0 | 2x + y ≤ n} ∪ {y = n + 1 − 2x}.
Special case
Lemma
f (n) = #{x ∈ (Z≥0)k | A(n)x = b(n)} is a quasi-polynomial for n sufficiently large under the following assumptions:
- A(n) is a constant matrix A,
- terms in vector b(n) are linear functions cn + d.
Proof.
The base case is true by Ehrhart Theorem, when there are no nonhomogeneous (in)equalities. By induction on the number of variables and the number of nonhomogeneous (in)equalities. For example, f (n) = {(x, y) ∈ Z2
≥0 | 2x + y ≤ n + 1}
= {(x, y) ∈ Z2
≥0 | 2x + y ≤ n} ∪ {y = n + 1 − 2x}.
Writing in base n trick
Fix a natural number n. Then for any integer x, there is a unique expression of x in base n: x = xdnd + xd−1nd−1 + · · · + x1n + x0 for some natural number d and 0 ≤ xi < n. Now let n grow, and consider x to be polynomial functions of n.
- f (n) = 2n2 + 3n + 5.
2n2 + 3n + 5 is the expression of f (n) in base n for any n > 5
- g(n) = 2n2 − n + 3
n2 + (n − 1)n + 3 is the expression of g(n) in base n for any n > 3.
Writing in base n trick
Fix a natural number n. Then for any integer x, there is a unique expression of x in base n: x = xdnd + xd−1nd−1 + · · · + x1n + x0 for some natural number d and 0 ≤ xi < n. Now let n grow, and consider x to be polynomial functions of n.
- f (n) = 2n2 + 3n + 5.
2n2 + 3n + 5 is the expression of f (n) in base n for any n > 5
- g(n) = 2n2 − n + 3
n2 + (n − 1)n + 3 is the expression of g(n) in base n for any n > 3.
Reduce A(n)x = b(n) to Ax = an + b
For example, 2x1 + (n + 1)x2 + n2x3 = 4n2 + 3n − 5 Step one: Writing in base n:
- 4n2 + 3n − 5 = 4n2 + 2n + (n − 5)
- x1 = x12n2 + x11n + x10, x2 = x21n + x20 and x3 = x30, with
0 ≤ xij < n. The original equation gives a upper boundary for the degree of n in the expression of the xi, so there are only finitely many new variables xij. Step two: Expand the equation (2x12+x21+x30)n2+(2x11+x21+x20)n+(2x10+x20) = 4n2+2n+(n−5).
Reduce A(n)x = b(n) to Ax = an + b
For example, 2x1 + (n + 1)x2 + n2x3 = 4n2 + 3n − 5 Step one: Writing in base n:
- 4n2 + 3n − 5 = 4n2 + 2n + (n − 5)
- x1 = x12n2 + x11n + x10, x2 = x21n + x20 and x3 = x30, with
0 ≤ xij < n. The original equation gives a upper boundary for the degree of n in the expression of the xi, so there are only finitely many new variables xij. Step two: Expand the equation (2x12+x21+x30)n2+(2x11+x21+x20)n+(2x10+x20) = 4n2+2n+(n−5).
Reduce A(n)x = b(n) to Ax = an + b
For example, 2x1 + (n + 1)x2 + n2x3 = 4n2 + 3n − 5 Step one: Writing in base n:
- 4n2 + 3n − 5 = 4n2 + 2n + (n − 5)
- x1 = x12n2 + x11n + x10, x2 = x21n + x20 and x3 = x30, with
0 ≤ xij < n. The original equation gives a upper boundary for the degree of n in the expression of the xi, so there are only finitely many new variables xij. Step two: Expand the equation (2x12+x21+x30)n2+(2x11+x21+x20)n+(2x10+x20) = 4n2+2n+(n−5).
Reduce A(n)x = b(n) to Ax = an + b (2)
Step three: Compare coefficients of n on both sides (2x12+x21+x30)n2+(2x11+x21+x20)n+(2x10+x20) = 4n2+2n+(n−5). Note 0 ≤ xij < n.
- n0: (2x10 + x20) ≡ (n − 5) (mod n) ∈ {n − 5, 2n − 5, 3n − 5}, for
0 ≤ xij < n. Let A0
i = {2x10 + x20 = n − 5 + in}, i = 0, 1, 2
- n1: Subtract the n0 term from both sides. If x satisfies A0
i , we are
left with (2x12 + x21 + x30)n2 + (2x11 + x21 + x20 + i)n = 4n2 + 2n. So let A1
ij = {2x11 + x21 + x20 + i = 2 + jn}, where j = 0, 1, 2, 3, 4.
- n2: Subtract the n0 and n1 terms. If x satisfies A1
ij, we are left with
(2x12 + x21 + x30 + j)n2 = 4n2. So let A2
j = {2x12 + x21 + x30 + j = 4}.
Notice that all these equations A0
i , A1 ij, and A2 j are of the form
Ax = an + b.
Reduce A(n)x = b(n) to Ax = an + b (2)
Step three: Compare coefficients of n on both sides (2x12+x21+x30)n2+(2x11+x21+x20)n+(2x10+x20) = 4n2+2n+(n−5). Note 0 ≤ xij < n.
- n0: (2x10 + x20) ≡ (n − 5) (mod n) ∈ {n − 5, 2n − 5, 3n − 5}, for
0 ≤ xij < n. Let A0
i = {2x10 + x20 = n − 5 + in}, i = 0, 1, 2
- n1: Subtract the n0 term from both sides. If x satisfies A0
i , we are
left with (2x12 + x21 + x30)n2 + (2x11 + x21 + x20 + i)n = 4n2 + 2n. So let A1
ij = {2x11 + x21 + x20 + i = 2 + jn}, where j = 0, 1, 2, 3, 4.
- n2: Subtract the n0 and n1 terms. If x satisfies A1
ij, we are left with
(2x12 + x21 + x30 + j)n2 = 4n2. So let A2
j = {2x12 + x21 + x30 + j = 4}.
Notice that all these equations A0
i , A1 ij, and A2 j are of the form
Ax = an + b.
Reduce A(n)x = b(n) to Ax = an + b (2)
Step three: Compare coefficients of n on both sides (2x12+x21+x30)n2+(2x11+x21+x20)n+(2x10+x20) = 4n2+2n+(n−5). Note 0 ≤ xij < n.
- n0: (2x10 + x20) ≡ (n − 5) (mod n) ∈ {n − 5, 2n − 5, 3n − 5}, for
0 ≤ xij < n. Let A0
i = {2x10 + x20 = n − 5 + in}, i = 0, 1, 2
- n1: Subtract the n0 term from both sides. If x satisfies A0
i , we are
left with (2x12 + x21 + x30)n2 + (2x11 + x21 + x20 + i)n = 4n2 + 2n. So let A1
ij = {2x11 + x21 + x20 + i = 2 + jn}, where j = 0, 1, 2, 3, 4.
- n2: Subtract the n0 and n1 terms. If x satisfies A1
ij, we are left with
(2x12 + x21 + x30 + j)n2 = 4n2. So let A2
j = {2x12 + x21 + x30 + j = 4}.
Notice that all these equations A0
i , A1 ij, and A2 j are of the form
Ax = an + b.
Reduce A(n)x = b(n) to Ax = an + b (2)
Step three: Compare coefficients of n on both sides (2x12+x21+x30)n2+(2x11+x21+x20)n+(2x10+x20) = 4n2+2n+(n−5). Note 0 ≤ xij < n.
- n0: (2x10 + x20) ≡ (n − 5) (mod n) ∈ {n − 5, 2n − 5, 3n − 5}, for
0 ≤ xij < n. Let A0
i = {2x10 + x20 = n − 5 + in}, i = 0, 1, 2
- n1: Subtract the n0 term from both sides. If x satisfies A0
i , we are
left with (2x12 + x21 + x30)n2 + (2x11 + x21 + x20 + i)n = 4n2 + 2n. So let A1
ij = {2x11 + x21 + x20 + i = 2 + jn}, where j = 0, 1, 2, 3, 4.
- n2: Subtract the n0 and n1 terms. If x satisfies A1
ij, we are left with
(2x12 + x21 + x30 + j)n2 = 4n2. So let A2
j = {2x12 + x21 + x30 + j = 4}.
Notice that all these equations A0
i , A1 ij, and A2 j are of the form
Ax = an + b.
Reduce A(n)x = b(n) to Ax = an + b (3)
When n is sufficiently large, {(x1, x2, x3) ∈ Z3
≥0 | 2x1 + (n + 1)x2 + n2x3 = 4n2 + 3n − 5}
is in bijection with the set {x = (x12, x11, x10, x21, x20, x30) ∈ Z6
≥0, 0 ≤ xij < n},
such that x satisfies
- A0
A0
1
A0
2
-
A1
00
A1
01
· · · A1
04
A1
10
A1
11
· · · A1
14
A1
20
A1
21
· · · A1
24
A2 A2
1
. . . A2
4
. Where AB = A ∩ B, A + B = A ∪ B (disjoint union) with all equations Aj
i of the form Ax = an + b