polymake: Computations with polyhedra, fans, simplicial complexes, matroids, graphs, tropical hypersurfaces#
Description#
polymake is open source software for research in polyhedral geometry. It deals with polytopes, polyhedra and fans as well as simplicial complexes, matroids, graphs, tropical hypersurfaces, and other objects. Supported platforms include various flavors of Linux, Free BSD and Mac OS.
License#
GPL v3
Upstream Contact#
Dependencies#
Polymake needs a working installation of Perl, including its shared
library and some modules (XML::Writer XML::LibXML XML::LibXSLT
Term::ReadLine::Gnu JSON SVG
). The Polymake interface in Sage
additionally needs File::Slurp
. For full functionality including
polymake’s polyDB, also the Perl module MongoDB
is needed.
These are not provided by a Sage package. The dummy package
perl_cpan_polymake_prereq
will signal an error at build time if the
required prerequisites are not met.
The configure
script will inform you about the equivalent system
packages that you should install. Otherwise, you can use CPAN (see
below).
Sage might install the Term::ReadLine::Gnu
module, however, when you
install polymake, if it is not provided by the system, or if Sage
installs its own readline
library.
A distribution-independent way to install Perl modules (into a user’s
home directory or /usr/local
) is using CPAN. This is also the way to
install the modules on macOS. For this, if you don’t have root access,
you will need the local::lib
Perl module installed:
cpan -i XML::Writer XML::LibXML XML::LibXSLT File::Slurp Term::ReadLine::Gnu JSON SVG MongoDB
Several Sage packages should be installed before installing the polymake
package to give a more featureful Polymake installation:
sage -i 4ti2 latte_int topcom qhull
Software that would need to be installed manually (no Sage package
available) for a more featureful Polymake installation: azove
, porta
,
vinci
, SplitsTree4
.
Information on missing Polymake prerequisites after installing polymake:
$ sage -sh
(sage-sh) $ polymake
polytope> show_unconfigured;
In order to use Polymake from Sage, you will also need the jupymake
package:
sage -i jupymake
Debugging polymake install problems#
# apt-get install libdevel-trace-perl
$ cd src
$ perl -d:Trace support/configure.pl
Type#
optional
Dependencies#
$(MP_LIBRARY)
bliss: Computing automorphism groups and canonical forms of graphs
cddlib: Double description method for polyhedral representation conversion
lrslib: Reverse search algorithm for vertex enumeration and convex hull problems
perl_cpan_polymake_prereq: Represents all Perl packages that are prerequisites for polymake
perl_term_readline_gnu: Perl extension for the GNU Readline/History libraries
Version Information#
package-version.txt:
4.12
Equivalent System Packages#
$ sudo pacman -S polymake
$ sudo apt-get install polymake libpolymake-dev
$ sudo yum install polymake
$ brew install apaffenholz/polymake/polymake
$ nix-env --install polymake
$ sudo zypper install polymake
See https://repology.org/project/polymake/versions
If the system package is installed, ./configure
will check if it can be used.