Both sides previous revision Previous revision Next revision | Previous revision |
external_software [2019/04/25 09:36] – mradons | external_software [2022/08/29 15:07] (current) – yuruk |
---|
===== Bundled extensions for polymake ===== | ===== Bundled extensions for polymake ===== |
| |
The following are polymake extensions that are included in the main package and provide interfaces to important external software. Some include the source code of the librarys they interface, others come as bare interfaces to software that you have to install seperately. | The following are polymake extensions that are included in the main package and provide interfaces to important external software. Some include the source code of the libraries they interface, others come as bare interfaces to software that you have to install separately. |
| |
** Note: ** The ''-minimal'' archive of polymake excludes the bundled code but still has the interfaces for cdd, libnormaliz, lrs and nauty. Furthermore, the bundled extension for jreality is removed. | ** Note: ** The ''-minimal'' archive of polymake excludes the bundled code but still has the interfaces for cdd, libnormaliz, lrs and nauty. Furthermore, the bundled extension for jreality is removed. |
| |
These libraries are packed together with the polymake distribution, thanks to license agreements and/or kind allowance of the authors. You don't have to download and install them separately. We are keeping track of their further development and always include the most recent versions available at the moment of making the current polymake release. | These libraries are packed together with the polymake distribution, thanks to license agreements and/or kind allowance of the authors. You don't have to download and install them separately. We are keeping track of their further development and always include the most recent versions available at the moment of making the current polymake release. |
** <BOOKMARK:cddlib>''cdd'': Convex hull computations\\ Provides an interface to [[http://www.inf.ethz.ch/personal/fukudak/cdd_home/index.html|cddlib]] (by [[http://www.inf.ethz.ch/personal/fukudak/|Komei Fukuda]], Institute for Operations Research, ETH Zürich).\\ **Note:** This interface can also work with an installed version instead of the bundled code. | ** <BOOKMARK:cddlib>''cdd'': Convex hull computations\\ Provides an interface to [[https://github.com/cddlib|cddlib]] (by [[http://www.inf.ethz.ch/personal/fukudak/|Komei Fukuda]], Department of Mathematics and Institute of Theoretical Computer Science, ETH Zürich). |
.. 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 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. |
** <BOOKMARK:jreality>''jreality'': Provides an interface to [[http://www3.math.tu-berlin.de/jreality/|jReality]] (by Charles Gunn, Tim Hoffmann, Markus Schmies, Steffen Weissmann et al., [[http://www3.math.tu-berlin.de/geometrie/lab/index.shtml|Geometry Group]], TU Berlin).\\ Needs [[http://ant.apache.org/|ant]] to be built. | ** <BOOKMARK:jreality>''jreality'': Provides an interface to [[http://www3.math.tu-berlin.de/jreality/|jReality]] (by Charles Gunn, Tim Hoffmann, Markus Schmies, Steffen Weissmann et al., [[http://www3.math.tu-berlin.de/geometrie/lab/index.shtml|Geometry Group]], TU Berlin).\\ Needs [[http://ant.apache.org/|ant]] to be built. |
.. High-end visualization in 3D (experimental). A stable snapshot of jReality source code is bundled with polymake. You don't need to download it separately unless you will try a most recent version of it. | .. High-end visualization in 3D (experimental). A stable snapshot of jReality source code is bundled with polymake. You don't need to download it separately unless you will try a most recent version of it. |
** <BOOKMARK:Normaliz>''libnormaliz'': Computations with affine monoids.\\ Provides an interface to [[https://www.normaliz.uni-osnabrueck.de|Normaliz]] (by [[http://www.home.uni-osnabrueck.de/wbruns/|Winfried Bruns]], Bogdan Ichim and Christof Söger).\\ **Note:** This interface can also work with an installed version instead of the bundled code. | .. **Packages:** This interface is usually disabled when installing polymake via the package manager (on Debian, Fedora, Gentoo, macOS (brew + bundle), Ubuntu). |
| ** <BOOKMARK:Normaliz>''libnormaliz'': Computations with affine monoids.\\ Provides an interface to [[https://www.normaliz.uni-osnabrueck.de|Normaliz]] (by [[http://www.home.uni-osnabrueck.de/wbruns/|Winfried Bruns]], Bogdan Ichim and Christof Söger). |
.. Normaliz is a tool for computations in affine monoids, vector configurations, lattice polytopes, and rational cones. Since version 2.8 it comes with a very fast parallelized algorithm for lattice point enumeration. | .. Normaliz is a tool for computations in affine monoids, vector configurations, lattice polytopes, and rational cones. Since version 2.8 it comes with a very fast parallelized algorithm for lattice point enumeration. |
** <BOOKMARK:lrslib>''lrs'': Convex hull computations\\ Provides an interface to [[http://cgm.cs.mcgill.ca/~avis/C/lrs.html|lrslib]] (by [[http://cgm.cs.mcgill.ca/~avis/|David Avis]], McGill University).\\ **Note:** This interface can also work with an installed version instead of the bundled code. | ** <BOOKMARK:lrslib>''lrs'': Convex hull computations\\ Provides an interface to [[http://cgm.cs.mcgill.ca/~avis/C/lrs.html|lrslib]] (by [[http://cgm.cs.mcgill.ca/~avis/|David Avis]], McGill University). |
.. Contains the reverse search method of Avis and Fukuda, and a primal simplex LP solver, both using unlimited precision arithmetic. | .. Contains the reverse search method of Avis and Fukuda, and a primal simplex LP solver, both using unlimited precision arithmetic. |
** <BOOKMARK:nauty> ''nauty'': Computing of automorphism groups of graphs\\ Provides an interface to [[http://cs.anu.edu.au/~bdm/nauty/|nauty]] (version 2.5r9)\\ by [[http://cs.anu.edu.au/~bdm/|Brendan McKay]], Australian National University.\\ **Note:** This interface can also work with a custom source directory instead of the bundled code, since 3.0r2.\\ Alternative: bliss | ** <BOOKMARK:nauty> ''nauty'': Computing of automorphism groups of graphs\\ Provides an interface to [[http://cs.anu.edu.au/~bdm/nauty/|nauty]] (version 2.5r9)\\ by [[http://cs.anu.edu.au/~bdm/|Brendan McKay]], Australian National University.\\ Alternative: bliss |
.. Computes automorphism groups of graphs. ''polymake'' uses it for checking combinatorial equivalence and congruence of polytopes as well as isomorphy of graphs. | .. Computes automorphism groups of graphs. ''polymake'' uses it for checking combinatorial equivalence and congruence of polytopes as well as isomorphy of graphs. |
** <BOOKMARK:sympol>''sympol'': Dealing with symmetric polytopes\\ Provides an interface to [[http://www.math.uni-rostock.de/~rehn/software/sympol.html|SymPol]] (by [[http://www.math.uni-rostock.de/~rehn/|Thomas Rehn]] and [[https://www.mathematik.uni-rostock.de/struktur/professuren-apl-prof/geometrie/people/achill/|Achill Schürmann]]). | ** <BOOKMARK:sympol>''sympol'': Dealing with symmetric polytopes\\ Provides an interface to [[http://www.math.uni-rostock.de/~rehn/software/sympol.html|SymPol]] (by [[http://www.math.uni-rostock.de/~rehn/|Thomas Rehn]] and [[https://www.mathematik.uni-rostock.de/struktur/professuren-apl-prof/geometrie/people/achill/|Achill Schürmann]]). |
| |
| All of the above, except for jreality, also support using an existing installation instead of the bundled code using ''%%--with-something=PATH%%''. |
| |
=== Bare interfaces === | === Bare interfaces === |
| |
polymake provides interfaces to the software listed here, but does not ship the software itself. You have to install it yourself and configure polymake to use your installation. See the [[install:install#configuration|instructions on configuration]] for help with this. | polymake provides interfaces to the software listed here, but does not ship the software itself. You have to install it yourself and configure polymake to use your installation. See the [[install:install#configuration|instructions on configuration]] for help with this. |
| |
| **Packages:** When installing ''polymake'' via a package manager, usually only a subset of the following interfaces will be available, please check the output of ''show_extensions;'' for details. |
| |
** <BOOKMARK:bliss> ''bliss'': Computing of automorphism groups of graphs\\ Provides an interface to [[http://www.tcs.hut.fi/Software/bliss/|bliss]] (by [[http://users.ics.aalto.fi/tjunttil/|Tommi Junttila]] and [[http://users.ics.aalto.fi/pkaski/|Petteri Kaski]]).\\ Requires headers to be installed in a subfolder ''bliss'' in the include directory, as in the debian package.\\ Alternative: nauty | ** <BOOKMARK:bliss> ''bliss'': Computing of automorphism groups of graphs\\ Provides an interface to [[http://www.tcs.hut.fi/Software/bliss/|bliss]] (by [[http://users.ics.aalto.fi/tjunttil/|Tommi Junttila]] and [[http://users.ics.aalto.fi/pkaski/|Petteri Kaski]]).\\ Requires headers to be installed in a subfolder ''bliss'' in the include directory, as in the debian package.\\ Alternative: nauty |
| ** <BOOKMARK:flint> ''flint'': Fast Library for Number Theory\\ Provides an interface to [[http://www.flintlib.org/|FLINT]] (by William Hart).\\ Used for fast univariate polynomial arithmetic and number theory. |
** <BOOKMARK:JavaView> ''javaview'': Provides an interface to [[http://www.javaview.de/|JavaView]] (by [[http://page.mi.fu-berlin.de/polthier/|Konrad Polthier]], Felix Kälberer, Samy Khadem, Eike Preuss, Ulrich Reitebuch, Sonderforschungsbereich 288, TU Berlin). | ** <BOOKMARK:JavaView> ''javaview'': Provides an interface to [[http://www.javaview.de/|JavaView]] (by [[http://page.mi.fu-berlin.de/polthier/|Konrad Polthier]], Felix Kälberer, Samy Khadem, Eike Preuss, Ulrich Reitebuch, Sonderforschungsbereich 288, TU Berlin). |
.. Visualizes 3D- and 4D-polytopes (and much more). | .. Visualizes 3D- and 4D-polytopes (and much more). |
In order to use the following software from within polymake, you need download and install the 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. | In order to use the following software from within polymake, you need download and install the 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. |
| |
They can then be enabled or disabled in a running polymake session with ''reconfigure "something.rules";''. The auto-configuration routines try to find the installed software (usually by examining your ''PATH'' variable). See [[install:interface_config|here]] for help. | They can then be enabled or disabled in a running polymake session with ''reconfigure "something.rules";''. The auto-configuration routines try to find the installed software (usually by examining your ''PATH'' variable). See [[user_guide:howto:interface_config|here]] for help. |
| |
==== Visualization ==== | ==== Visualization ==== |
** <BOOKMARK:mptopcom>[[https://polymake.org/doku.php/mptopcom|mptopcom]]\\ by [[https://www-alg.ist.hokudai.ac.jp/~skip/|Skip Jordan]], [[http://page.math.tu-berlin.de/~joswig/|Michael Joswig]] and [[http://page.math.tu-berlin.de/~kastner/|Lars Kastner]]. | ** <BOOKMARK:mptopcom>[[https://polymake.org/doku.php/mptopcom|mptopcom]]\\ by [[https://www-alg.ist.hokudai.ac.jp/~skip/|Skip Jordan]], [[http://page.math.tu-berlin.de/~joswig/|Michael Joswig]] and [[http://page.math.tu-berlin.de/~kastner/|Lars Kastner]]. |
.. mptopcom is a software developed at TU Berlin and Hokkaido University for computing triangulations of point configurations in parallel. | .. mptopcom is a software developed at TU Berlin and Hokkaido University for computing triangulations of point configurations in parallel. |
| ** <BOOKMARK:plantri>[[https://users.cecs.anu.edu.au/~bdm/plantri/|plantri]] (version 5.3)\\ by Gunnar Brinkmann, and [[http://users.cecs.anu.edu.au/~bdm/|Brendan McKay]]. |
| .. Generates the isomorphism classes of planar triangulations that are imbedded on the sphere. |
** <BOOKMARK:porta>[[http://www.iwr.uni-heidelberg.de/groups/comopt/software/PORTA/|PORTA]] (version 1.3.2)\\ by Thomas Christoph and Andreas Loebel, ZIB / Universität Heidelberg. | ** <BOOKMARK:porta>[[http://www.iwr.uni-heidelberg.de/groups/comopt/software/PORTA/|PORTA]] (version 1.3.2)\\ by Thomas Christoph and Andreas Loebel, ZIB / Universität 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 in ways hard to predict or analyze. This is why its use is heavily **deprecated**. We offer an interface mostly for historical reasons. | .. 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 in ways hard to predict or analyze. This is why its use is heavily **deprecated**. We offer an interface mostly for historical reasons. |