**Normaliz**

Winfried Bruns, Bogdan Ichim, Tim Römer and Christof
Söger

The Normaliz project
is supported by the DFG SPP 1489

"Experimentelle Methoden in Algebra, Geometrie und Zahlentheorie"

Normaliz
is a tool for computations in affine monoids, vector
configurations, lattice polytopes, and rational
cones.

Its input
data can be specified in terms of

- a system of generators or
vertices or
- a system of linear homogeneous
Diophantine equations, inequalities and congruences
or
- a binomial ideal.

Normaliz
computes

- the dual cone of a rational
cone (in other words, given generators, Normaliz
computes the defining hyperplanes, and vice
versa)
- a placing (or lexicographic)
triangulation of a vector configuration (resulting in a triangulation of
the cone generated by it)
- the Hilbert basis of a rational
cone
- the lattice points of a
rational polytope
- NEW: the lattice points of a
rational (unbounded) polyhedron
- the normalization of an affine monoid
- the Hilbert (or Ehrhart)
series and the Hilbert (or Ehrhart) (quasi)
polynomial under a Z-grading (for example, for rational polytopes)
- NEW: Ehrhart
series for semiopen cones
- generalized (or weighted) Ehrhart series and Lebesgue
integrals of polynomials over rational polytopes
via NmzIntegrate
(also in the semiopen case)
- a description of the cone and
lattice under consideration by a system of inequalities, equations and congruences

Normaliz
can be started from the command line or from the GUI interface jNormaliz
(written by Vinicius Almendra
and Bogdan Ichim). jNormaliz is included in the
distribution. See the Normaliz documentation for details.

The user
indicates the type of input data in the input file and controls the computation
and the output via the GUI interface or command line options.

Normaliz
is provided for 2 degrees of integer precision: 64 bits or infinite. For
infinite precision it uses the GMP (Linux, Mac) and MPIR (Windows) libraries.
The user can require arithmetic checks at critical steps of the algorithms.

NmzIntegrate is based on CoCoALib.

Normaliz
comes with interfaces for Macaulay2 and Singular. The Macaulay2 interface
(written by Gesa Kämpf)
needs Macaulay2 1.1.99 or later. The Singular interface needs Singular 3-0-0 or
later. Normaliz is accessible from polymake (thanks to an interface written by the polymake team) and is used by B. Burton's

Some interesting and challenging examples document
the power of Normaliz. Please send examples that you would like to
add to the collection to one of the authors!

References
to articles about Normaliz are included in the
documentation and their pdf files can be found in the
distribution.

Normaliz
is distributed under GPL.

**Current version:** 2.11.1 (including NmzIntegrate 1.2) (uploaded

Known
problems: 1) The rank of the recession cone and (therefore) the affine
dimension of the polyhedron are almost always computed incorrectly for
inhomogeneous input with –d. This bug will be corrected in the next version.
Please contact the authors for an update of the source code if you want to
recompile Normaliz now.

2) In some
cases an implicit grading is found in the inhomogeneous case although this
should be suppressed. If you observe it, please ignore all data that depend on
the grading (multiplicity, Hilbert series). This bug will be corrected in the
next version. Please contact the authors for an update of the source code if
you want to recompile Normaliz now.