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:

  1. 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.
    cddlib (0.92)
    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.
    lrslib (4.1)
    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 versions which are most actual at the moment of releasing polymake distributions.

  2. Useful extensions.

    nauty (2.0)
    The program dreadnaut from this package is used for checking isomorphy of graphs as well as combinatorial equivalence of polytopes.
    TOPCOM (0.10.0)
    by Jörg Rambau, ZIB.
    Explores triangulations of points configurations.
    vinci (version 1)
    by Benno Büeler, Andreas Enge, and Komei Fukuda.
    Computes the volume of polytopes using floating point arithmetic.
    by Loic Pottier.
    Computes the interior integral lattice points.
    porta (1.3.2)
    by Thomas Christoph and Andreas Loebel, ZIB / Uni Heidelberg.
    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.

    Visualization

    JavaView (2.48)
    by Konrad Polthier, Samy Khadem, Eike Preuss, Ulrich Reitebuch,
    Visualizes 3D- and 4D-polytopes (and much more).
    geomview (1.8.1),
    Visualizes 3D- and 4D-polytopes. This interface is included for historical reasons.
    Graphlet (5.0.1),
    Visualizes and explores graphs.
    3D- and 4D-visualization by high-end ray-tracing.

    You should download and install these packages on your own, provided you agree with the license agreements. Don't merge them into the polymake directory tree, as they might get deleted by the next polymake upgrade.

    For your convenience, the interface routines for external software are kept in separate rule files; if you decide not to install some of them, you should simply comment out the corresponding line in the INCLUDE section of the main rule file poly.rules. 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.