Periods of Degree 2 Ehrhart Quasipolynomials Christopher O’Neill and Anastasia Chavez.
-
Upload
shonda-kelley -
Category
Documents
-
view
217 -
download
0
Transcript of Periods of Degree 2 Ehrhart Quasipolynomials Christopher O’Neill and Anastasia Chavez.
Periods of Degree 2 Ehrhart
QuasipolynomialsChristopher O’Neill and Anastasia Chavez
Topics•Review of polytopes, lattice point
counting
•Results from readings
•Latte intro
•Complete Tour de Latte via an easy example
•Other examples in Latte
•Plan of attack for remainder of project
Review of Topic
•V-Representations / H-Representations
•Integer point enumeration
•Ehrhart quasipolynomial
•Denominator of polytope / period of quasipolynomial
•Period collapse
Results from Readings
•McAllister - Period collapse can happen with arbitrarily large denominators
•Method of proof: cut into pieces, rearrange
•Example of rational polytope whose polynomial is not the polynomial of any integral polytope
•Conjectures - Equidecomposable
Results from Readings
•McAllister, Woods - Can find a polytope and quasipolynomial given dimension, denominator, and period
•2 Dimensions: Period collapses iff Lp(t) = At^2 + (B/2)t + 1, where A is the area of P, and B is the number of boundary points
Latte
•LATTice point Enumeration
•Counts lattice points, generates Ehrhart series
•We will use it to find Ehrhart quasipolynomials of random 2d polytopes
Latte
•All command line based
•3 main commands:
•cdd - convert between H, V rep’s
•count - count lattice points
•ehrhart - find Ehrhart series
Latte
•Note - count/ehrhart only allow H-rep’s
•Denominator => need V-rep
•Thus, we need cdd
Latte Example
•Right triangle in 2 space
•V-representation - (0,0), (0,5), (5,0)
•H-representation - x1 >= 0, x2 >= 0, x1 + x2 <= 5
•# of lattice points - 21
•Ehrhart polynomial - (25/2)t^2 + (15/2)t + 1
Latte Example
•First step: cdd to convert V- to H-rep
•Input file triangle.ext, outputs triangle.ine
•Format of triangle.ext - * comments like this* m = # of vertices* d = dimension of polytope* numbertype = integral / rationalV-representationbeginm d+1 numbertype1 v1 v2 .........end
Latte Example
•Our triangle.ext - V-representationbegin3 3 integer1 0 01 5 01 0 5end
•Execute “cdd triangle.ext”
Latte Example
•cdd outputs triangle.ine - * cdd+: Double Description Method in C++:Version 0.77dev1 (Jan. 25, 2000)* Copyright (C) 1999, Komei Fukuda, [email protected]* Compiled for Rational Exact Arithmetic with GMP*Input File:triangle.ext(3x3)*HyperplaneOrder: LexMin*Degeneracy preknowledge for computation: None (possible degeneracy)*Hull computation is chosen.*Computation starts at Tue Mar 27 14:35:38 2007* terminates at Tue Mar 27 14:35:38 2007*Total processor time = 0 seconds* = 0h 0m 0s*Since hull computation is chosen, the output is a minimal inequality system*FINAL RESULT:-representationbegin3 3 rational 5 -1 -1 0 1 0 0 0 1end
Latte Example
•Second step - count lattice points
•Input file triangle.lat, output to prompt
•Format of triangle.lat - * comments like this are actually not allowed* pretend they are not here* m = # of hyperplanes (not necessarily # of facets!)* d = dimension of polytope* integers only! no fractions like cddm d+1b1 -a11 -a12 ...b2 -a21 -a22 ......
Latte Example
•Our triangle.lat - 3 35 -1 -10 1 00 0 110 0 1
•Note the lack of comments
•Also note the extra hyperplane we added
Latte Example
•Command line output excerpts:Checking whether the input polytope is empty or not...Removing redundant inequalities and finding hidden equalities....
...Ax <= b, given as (b|-A):=========================[5 -1 -1][0 1 0][0 0 1]
Time: 0.004 sec
...***** Total number of lattice points: 21 ****
Latte Example
•Extra Latte function: “ehrhart”
•Finds Ehrhart series, not Ehrhart polynomial
•Same input file as “count,” outputs triangle.lat.rat, with unsimplified series
Latte Example•Output file triangle.lat.rat -
x := (((((((1) + (-1)*t^1) * ((-933) * (-155)))^2) * (591328)) + ((-1) * ((((1) + (-1)*t^1) * (((-933) * (-11935)) + ((-434778) * (-155)))) + ((-1028)*t^1 * ((-933) * (-155)))) * ((((((1) + (-1)*t^1) * ((-933) * (-155)))^1) * (1088)) + ((-1) * ((((1) + (-1)*t^1) * (((-933) * (-11935)) + ((-434778) * (-155)))) + ((-1028)*t^1 * ((-933) * (-155)))) * (1)))) + ((-1) * (((1) + (-1)*t^1) * ((-933) * (-155))) * ((((1) + (-1)*t^1) * (((-933) * (-608685)) + ((-434778) * (-11935)) + ((-134926106) * (-155)))) + ((-1028)*t^1 * (((-933) * (-11935)) + ((-434778) * (-155)))) + ((-527878)*t^1 * ((-933) * (-155)))) * (1))) / ((((1) + (-1)*t^1) * ((-933) * (-155)))^3)) + ((((((-933) * (((1) + (-1)*t^1) * (-778)))^2) * (6612066)) + ((-1) * (((-933) * ((((1) + (-1)*t^1) * (-302253)) + ((3637) * (-778)))) + ((-434778) * (((1) + (-1)*t^1) * (-778)))) * (((((-933) * (((1) + (-1)*t^1) * (-778)))^1) * (3637)) + ((-1) * (((-933) * ((((1) + (-1)*t^1) * (-302253)) + ((3637) * (-778)))) + ((-434778) * (((1) + (-1)*t^1) * (-778)))) * (1)))) + ((-1) * ((-933) * (((1) + (-1)*t^1) * (-778))) * (((-933) * ((((1) + (-1)*t^1) * (-78182776)) + ((3637) * (-302253)) + ((6612066) * (-778)))) + ((-434778) * ((((1) + (-1)*t^1) * (-302253)) + ((3637) * (-778)))) + ((-134926106) * (((1) + (-1)*t^1) * (-778)))) * (1))) / (((-933) * (((1) + (-1)*t^1) * (-778)))^3)) + ((-1) * ((((((-155) * ((-778) * ((1) + (-1)*t^1)))^2) * (302253)) + ((-1) * (((-155) * (((-778) * (-253)*t^1) + ((-302253) * ((1) + (-1)*t^1)))) + ((-11935) * ((-778) * ((1) + (-1)*t^1)))) * (((((-155) * ((-778) * ((1) + (-1)*t^1)))^1) * (778)) + ((-1) * (((-155) * (((-778) * (-253)*t^1) + ((-302253) * ((1) + (-1)*t^1)))) + ((-11935) * ((-778) * ((1) + (-1)*t^1)))) * (1)))) + ((-1) * ((-155) * ((-778) * ((1) + (-1)*t^1))) * (((-155) * (((-778) * (-31878)*t^1) + ((-302253) * (-253)*t^1) + ((-78182776) * ((1) + (-1)*t^1)))) + ((-11935) * (((-778) * (-253)*t^1) + ((-302253) * ((1) + (-1)*t^1)))) + ((-608685) * ((-778) * ((1) + (-1)*t^1)))) * (1))) / (((-155) * ((-778) * ((1) + (-1)*t^1)))^3))):
•Needs to be simplified!!!
Latte Example
•Maple - algebraic manipulation software, similar to Mathematica
•After input to Maple, it gives us the series (1 + 18t + 6t^2)/(1-t)^3
More Latte Examples
•Rational Polytopes - Another triangle
•Vertices - (0,0), (0, 3), (1, 2/3)
•Hyperplanes - x2 >= 0, x1 + x2 <= 3, 3x2 - 2x1 <= 0
•Lattice Point count - 4
•Ehrhart Polynomial - t^2 + 2t + 1
More Latte Examples
•rational.ext - V-representationbegin3 3 rational1 0 01 1 2/31 3 0end
•Output of “cdd rational.ext” - H-representationbegin3 3 rational3 -1 -30 0 10 1 -3/2end
More Latte Examples
•rational.lat (modified rational.ine) - 3 33 -1 -30 0 10 2 -3
•Some Output from “count rational.lat” - Checking whether the input polytope is empty or not...Removing redundant inequalities and finding hidden equalities....
Ax <= b, given as (b|-A):=========================[3 -1 -3][0 0 1][0 2 -3]
***** Total number of lattice points: 4 ****Time: 0.016 sec
Harder Latte Example
•7th dilate of the 5-cube
•Vertices - {0,7}^5
•Hyperplanes - 0 <= xi <= 7
•Count - (t+1)^d = 8^5 = 32768
Harder Latte Example
• large.ext - V-representationbegin32 6 integral1 0 0 0 0 01 7 0 0 0 01 0 7 0 0 0...end
• large.ine - H-representationbegin10 6 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0...end
Harder Latte Example
•Output from “count large.lat”Ax <= b, given as (b|-A):=========================[0 0 0 0 0 1][0 1 0 0 0 0][0 0 1 0 0 0][0 0 0 1 0 0][0 0 0 0 1 0][7 0 0 0 0 -1][7 0 0 0 -1 0][7 0 0 -1 0 0][7 0 -1 0 0 0][7 -1 0 0 0 0]...***** Total number of lattice points: 32768 ****Computation done. Time: 0.048003 sec
Next Steps to Take
•Write an algorithm to generate random rational 2-polytopes, and determine their Ehrhart quasipolynomial and period
• Implement this algorithm using Latte commands and either Perl or C++
•Use the implementation to generate lots of examples of rational 2-polytopes and their Ehrhart quasipolynomials / periods
References•Tyrrell B. McAllister. Quasi-period
Collapse in Rational Polytopes. 2007.
•Tyrrell B. McAllister, Kevin M. Woods. The Minimul Period of the Ehrhart Quasipolynomial of a Rational Polytope. 2007.
•Mattias Beck, Sinai Robins. Computing the Continuous Discretely. Springer, 2006.