Normaliz

is an open source tool for computations in affine monoids, vector configurations, lattice polytopes, and rational cones. The variant QNormaliz now computes algebraic polyhedra, i.e., polyhedra defined over real algebraic extensions of Q.

Computation goals

  • convex hulls and dual cones
  • conversion from generators to constraints and vice versa
  • projections of cones and polyhedra
  • triangulations, disjoint decompositions and Stanley decompositions
  • Hilbert basis of rational, not necessarily pointed cones
  • normalization of affine monoids
  • lattice points of rational polytopes and (unbounded) polyhedra
  • Euclidean and lattice normalized volumes of polytopes
  • Hilbert (or Ehrhart) series and (quasi) polynomials under Z-gradings (for example, for rational polytopes)
  • generalized (or weighted) Ehrhart series and Lebesgue integrals of polynomials over rational polytopes

Normaliz offers the API libnormaliz that allows the user to access the Normaliz computations from any C++ program.

Online exploration of Normaliz: https://mybinder.org/v2/gh/Normaliz/NormalizJupyter/master

Acknowledgements

The Normaliz project was partially supported by the DFG SPP 1489 “Algorithmische und experimentelle Methoden in Algebra, Geometrie und Zahlentheorie”.