By far not every feature of polymake system is developed by the polymake
project team itself. Instead, we purposely rely on the expertise of various
research groups in the community. It is one of the main goals of our project
to increase the interoperability of all the fascinating publicly
available geometric software. And last but not least, having quite constrained
man-power and time resources, it is obviously much easier to interface a
well-tested, ready-to-use software package than to implement everything
from scratch.
The external software used in polymake can be divided in two categories:
Libraries implementing essential parts of the core functionality.
A well-known implementation of integer, rational, and floating-poing arithmetic (and beyond) with unlimited
precision. It became a standard arithmetic engine in many geometric and algebraic software packages in the last years.
polymake makes massive use of the GMP integers and rationals via own C++ wrapper classes.
Contains the double description method (dual Fourier-Motzkin) for convex hull and vertex enumeration,
as well as a dual simplex LP solver, both implemented for floating-point and unlimited precision rational numbers.
Contains the reverse search method of Avis and Fukuda, and a primal simplex LP solver,
both using unlimited precision arithmetic.
Due to license agreements and/or kind allowance of the authors, the libraries are packed together with the polymake
distribution; you don't need to download and install them separately. We are keeping track of their further development
and always include the most recent versions at the moment of releasing polymake distributions.
LattE is a software dedicated to the problems of counting and detecting lattice points inside convex
polytopes, and the solution of integer programs. LattE contains the first ever implementation of Barvinok's
algorithm. LattE stands for "Lattice point Enumeration".
barvinok is a library for counting the number of integer points in parametrized and non-parametrized polytopes. For
parametrized polytopes an explicit function in the shape of a piece-wise step-polynomial is constructed. This is a
generalization of both Ehrhart quasi-polynomials and vector partition functions. Alternatively, a generalized Ehrhart
series can be constructed as well.
It comes with a polymake client in the projects polymake subdirectory.
An implementation of Fourier-Motzkin elimination. This program seems not to be further developed nor maintained any more;
moreover, the limited precision arithmetic used in it makes it fail on complex problems.
We offer an interface mostly for historical reasons.
The famous group-theoretical software package. Can be used to analyze the fundamental group
of a simplicial complex.
You should download and install these packages on your own, provided you accept the license agreements.
Don't merge them into the polymake directory tree, as they might get overwritten by the next polymake upgrade.
For your convenience, the interface components for external software are kept in separate rule files.
The auto-configuration routines defined there try to find the installed software (usually by examining your
PATH variable). In the case of failure, the rule file gets disabled until you install the lacking
software package and repeat the auto-configuration ( polymake --reconfigure).
At any rate, we strongly recommend you to install some visualization software (preferably JavaView),
as polymake were much more boring without all these colorful pictures.
Note: Version numbers given in the descriptions are not binding. These are the latest versions that we are aware of
and proven to work with polymake. You are free to use other versions, provided the compatibility (API and/or
interchange file format, whatever appropriate) is preserved.