next | previous | forward | backward | up | top | index | toc | Macaulay2 website
Normaliz :: ehrhartRing(List,RingElement,allComputations=>...)

ehrhartRing(List,RingElement,allComputations=>...) -- Ehrhart ring

Synopsis

Description

The exponent vectors of the given monomials are considered as vertices of a lattice polytope P. The Ehrhart ring of a (lattice) polytope P is the monoid algebra defined by the monoid of lattice points in the cone over the polytope P; see Bruns and Gubeladze, Polytopes, Rings, and K-theory, Springer 2009, pp. 228, 229. The function returns two monomial subalgebras, the first has as generators the monomials representing the lattice points of the polytope, the second is the Ehrhart ring. If there is already a free variable in the original ring (i.e. a variable that does not appear in any of the monomials in L), you can give the function that variable as second input. The function then uses it instead of creating a new one. If the option allComputations is set to true, all data that has been computed by Normaliz is stored in a RationalCone in the CacheTable of the monomial subalgebras returned (it is the same cone for both subalgebras).

i1 : R=ZZ/37[x,y,t];
i2 : L={x^3, x^2*y, y^3, x*y^2};
i3 : (latticePoints,ehrhart)=ehrhartRing(allComputations=>true,L,t);
i4 : latticePoints.cache#"cone"

o4 = RationalCone{cgr => | 0 |                                        }
                         | 4 |
                  equ => | 1 1 -3 |
                  gen => | 0 3 1 |
                         | 1 2 1 |
                         | 2 1 1 |
                         | 3 0 1 |
                  inv => HashTable{ => (1, 1)                        }
                                   class group => (0, 3)
                                   degree 1 elements => 4
                                   dim max subspace => 0
                                   embedding dim => 3
                                   external index => 1
                                   graded => true
                                   grading denom => 1
                                   grading => (0, 0, 1)
                                   hilbert basis elements => 4
                                   hilbert quasipolynomial denom => 1
                                   hilbert series denom => (1, 1)
                                   hilbert series num => (1, 2)
                                   inhomogeneous => false
                                   integrally closed => true
                                   internal index => 1
                                   multiplicity denom => 1
                                   multiplicity => 3
                                   number extreme rays => 2
                                   number support hyperplanes => 2
                                   rank => 2
                                   size triangulation => 3
                                   sum dets => 3
                  sup => | -1 0 3 |
                         | 1  0 0 |

o4 : RationalCone
i5 : ehrhart.cache#"cone"

o5 = RationalCone{cgr => | 0 |                                        }
                         | 4 |
                  equ => | 1 1 -3 |
                  gen => | 0 3 1 |
                         | 1 2 1 |
                         | 2 1 1 |
                         | 3 0 1 |
                  inv => HashTable{ => (1, 1)                        }
                                   class group => (0, 3)
                                   degree 1 elements => 4
                                   dim max subspace => 0
                                   embedding dim => 3
                                   external index => 1
                                   graded => true
                                   grading denom => 1
                                   grading => (0, 0, 1)
                                   hilbert basis elements => 4
                                   hilbert quasipolynomial denom => 1
                                   hilbert series denom => (1, 1)
                                   hilbert series num => (1, 2)
                                   inhomogeneous => false
                                   integrally closed => true
                                   internal index => 1
                                   multiplicity denom => 1
                                   multiplicity => 3
                                   number extreme rays => 2
                                   number support hyperplanes => 2
                                   rank => 2
                                   size triangulation => 3
                                   sum dets => 3
                  sup => | -1 0 3 |
                         | 1  0 0 |

o5 : RationalCone

Further information

Functions with optional argument named allComputations :