Normaliz 2.5
Winfried Bruns (wbruns@uos.de),
Bogdan Ichim (bogdan_ichim@yahoo.com)
and Christof Söger (csoeger@uos.de)
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
Normaliz
computes
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.
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 Andreas Paffenholz).
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.5 (uploaded
Installation:
1. Download
the basic package below.
2. Download one of the executable packages below. (Windows users may have to
install the Microsoft Visual C++ 2008 SP1 Redistributable Package; see below.)
3. Unzip both of them in a directory of your choice.
In this directory you will then find a directory Normaliz2.5 that contains the
complete Normaliz system.
4. In the directory Normaliz 2.5 you will find jNormaliz.jar. You can run
jNormaliz by clicking it in the appropriate way on your desktop.
5. If you want to run Normaliz from the command line, it may be necessary to
copy norm64 and normbig to a directory in your search path.
Download:
Basic
package Normaliz 2.5 source, documentation, examples,
jNormaliz
This
package contains documentation, examples, source code, and interfaces to
Singular and Macaulay2. Please unzip the downloaded package in a directory of
your choice. Because of their size, some example output files have not been
included in the package. You can download ExtraOutput.zip
separately.
Executables
(to be unzipped in the same directory):
The following
Windows executables use OpenMP and therefore require the installation of the
Microsoft Visual C++ 2008 SP1 Redistributable Package x86
(Windows 32) or the corresponding package x64
(Windows 64). (There is a good chance that the package exists on your machine.
Just try to run norm64. If it starts, the package has already been installed.)
The following
two executables should run without any preparations:
Note that
it may be necessary to re-compile Normaliz on your system. Normaliz is
compatible with the GNU C++ compiler (source included in the main package) 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. In 2002 Bruns added a
Singular library. Witold Jarnicki improved the h-vector computation in 2003 and
augmented the output options.
Version 2.0
(of 2008) was completely rewritten in C++ by Bogdan Ichim. The algorithms and
their implementations were significantly
improved by the authors. Moreover, additional input modes and user-controlled
arithmetic checks were added.
Version 2.1
was augmented in regard to the user interface. Moreover, Pottier’s algorithm
was added for solving systems of inequalities and equations.
Another
addition was the Macaulay2 interface, implemented by Gesa Kämpf.
In version
2.2 the user interface was improved by Christof Söger.
Version 2.5
adds congruences, allowing the combination with equations and inequalities, and
binomial ideals as further input types.
Algorithms for large examples give access to hitherto unreachable cones.
Various aspects, in particular the computation of shellings, have been improved
considerably, and Normaliz can now exploits parallelization on shared memory
systems via OpenMP. The main output file
is re-organized.