Normaliz

 

Winfried Bruns (wbruns@uos.de) and Bogdan Ichim (bichim@uos.de)

 

With contributions by Christof Söger (csoeger@uos.de)

 

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

 

Its input data can be specified in terms of

 

 

Normaliz computes

 

 

The user indicates the type of input data by choosing a mode and controls the computation and the output via a setup file or command line options.

 

Normaliz is provided for 3 degrees of integer precision: 32bit, 64bit or infinite. For infinite precision it uses the GMP library. The user can require arithmetic checks at critical steps of the algorithms.

 

Normaliz comes with interfaces for Macaulay2 and Singular. The Macaulay2 interface needs Macaulay2 1.1.99 or later. The Singular interface needs Singular 3-0-0 or later.

 

Normaliz is now distributed under the GPL.

 

Current version: 2.2 (uploaded August 06, 2009, Macaulay 2 package corrected October 16, 2009)

Download:

 

Windows

Linux64

Linux32

Apple (Intel)

 

Each package contains documentation, examples, source code, executables and interfaces to Singular and Macaulay2. Please unzip the downloaded package in a directory of your choice. Because of its size, one example output file has not been included in the packages. You can download 6x6.out as a zip file separately.

 

Note that it may be necessary to re-compile Normaliz on your system. Normaliz is compatible with the GNU C++ compiler and Microsoft Visual Studio. See the documentation for compilation details.

 

History: The first version of Normaliz was a C program developed by Winfried Bruns and Robert Koch in 1997/98. Witold Jarnicki improved the h-vector computation in 2003 and augmented the output options.

 

Version 2.0 (of 2008) has been completely rewritten in C++ by Bogdan Ichim. The algorithms and their implementations have been significantly improved by the authors. Moreover, additional input modes and user-controlled arithmetic checks have been added.

 

Version 2.1 has been augmented in regard to the user interface. Moreover, Pottier’s algorithm has been added for solving systems of inequalities and equations.  See the documentation for details.

 

Another addition is the Macaulay2 interface, implemented by Gesa Kämpf  (gkaempf@uos.de).

 

In version 2.2 the user interface has been improved by Christof Söger.