Normaliz

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

Computation goals

  • automorphism groups of polyhedra and monoids
  • 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
  • polynomial constraints for lattice points in polytopes
  • 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
  • special functions for fusion rings

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

  • Normaliz was supported by the DFG project “Normaliz: development and long term sustainability”.
  • The Normaliz project was partially supported by the DFG SPP 1489 “Algorithmische und experimentelle Methoden in Algebra, Geometrie und Zahlentheorie”.