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

ehrhartRing(List, 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. Since these are defined in a polynomial ring with an additional variable, the function creates a new polynomial ring with an additional variable. 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];
i2 : L={x^3, x^2*y, y^3, x*y^2};
i3 : (latticePoints,ehrhart)=ehrhartRing(allComputations=>true,L);
i4 : latticePoints.cache#"cone"

o4 = RationalCone{cgr => 0                                          }
                  equ => | 1 1 -3 |
                  gen => | 3 0 1 |
                         | 2 1 1 |
                         | 1 2 1 |
                         | 0 3 1 |
                  inv => HashTable{height 1 elements => 4          }
                                   hilbert basis elements => 4
                                   homogeneous => true
                                   homogeneous weights => (0, 0, 1)
                                   index => 1
                                   multiplicity => 3
                                   number extreme rays => 2
                                   number support hyperplanes => 2
                                   rank => 2
                  sup => | 0 1  0  |
                         | 0 -1 -3 |
                  typ => | 0 3 |
                         | 1 2 |
                         | 2 1 |
                         | 3 0 |

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

o5 = RationalCone{cgr => 0                                          }
                  equ => | 1 1 -3 |
                  gen => | 3 0 1 |
                         | 2 1 1 |
                         | 1 2 1 |
                         | 0 3 1 |
                  inv => HashTable{height 1 elements => 4          }
                                   hilbert basis elements => 4
                                   homogeneous => true
                                   homogeneous weights => (0, 0, 1)
                                   index => 1
                                   multiplicity => 3
                                   number extreme rays => 2
                                   number support hyperplanes => 2
                                   rank => 2
                  sup => | 0 1  0  |
                         | 0 -1 -3 |
                  typ => | 0 3 |
                         | 1 2 |
                         | 2 1 |
                         | 3 0 |

o5 : RationalCone

Further information