external_software

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revisionBoth sides next revision
external_software [2018/01/31 11:59] – libnormaliz also possible with installed version benmuellexternal_software [2022/08/29 15:06] yuruk
Line 1: Line 1:
 ====== External Software Overview ====== ====== External Software Overview ======
  
-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.+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 woman-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 three categories: The external software used in ''polymake'' can be divided in three categories:
Line 10: Line 10:
   .. A well-known implementation of integer, rational, and floating-point 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.   .. A well-known implementation of integer, rational, and floating-point 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.
   ** [[http://www.mpfr.org/|GNU Multiple-Precision floating-point computations with correct Rounding]] (MPFR) (version 3.X)   ** [[http://www.mpfr.org/|GNU Multiple-Precision floating-point computations with correct Rounding]] (MPFR) (version 3.X)
-  .. Floating-point arithmetic with predictable and platform-independent results.  Used in polymake since release 2.9 for some constructions requiring intermediate floating-point computations, like random sphere or regular n-gon.+  .. Floating-point arithmetic with predictable and platform-independent results.  Used in polymake for some constructions requiring intermediate floating-point computations, like random sphere or regular n-gon.
   ** [[http://www.boost.org/|boost]] headers are required for the ''permlib'' interface and the bundled extension ''libnormaliz'', see below.   ** [[http://www.boost.org/|boost]] headers are required for the ''permlib'' interface and the bundled extension ''libnormaliz'', see below.
  
 ===== 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 are only bare interfaces, but others already include the corresponding library code.+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 extensions 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.
  
-=== Including the library ===+=== Shipped with polymake ===
  
-Due to license agreements and/or kind allowance of the authors, these libraries are packed together with the polymake distribution. 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 [[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).
-  ** <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.+
   .. 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: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: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. 
 +  .. **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. 
 +  ** <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.
-  ** ''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 [[http://www.mathematik.uni-rostock.de/lehrstuehle/geometrie/people/|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]]). 
-  ** ''libnormaliz'': Computations with affine monoids.\\ Provides an interface to [[https://www.normaliz.uni-osnabrueck.de|Normaliz]] (by [[http://www.mathematik.uni-osnabrueck.de/index.php?controller=studip&action=data&id=person_detail&username=wbruns|Winfried Bruns]]Bogdan Ichim and Christof Söger).\\ **Note:** This interface can also work with an installed version instead of the bundled code+ 
-  .. 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. +All of the above, except for jreality, also support using an existing installation instead of the bundled code using ''%%--with-something=PATH%%''.
-  ** <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).  Since polymake release 2.9.9, 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.+
  
 === Bare interfaces === === Bare interfaces ===
  
-  ** ''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 +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. 
-  ** ''ppl'': a modern C++ library for the manipulation of numerical information that can be represented by points in some n-dimensional vector space\\ Provides an interface to the [[http://bugseng.com/products/ppl|Parma Polyhedra Library]] (by [[http://www.cs.unipr.it/~bagnara/|Roberto Bagnara]] et al) + 
-  ** ''singular'': Working with Gröbner bases\\ Provides an interface to [[http://www.singular.uni-kl.de/|Singular]] (by [[http://www.mathematik.uni-kl.de/~decker/de/index.html|Wolfram Decker]], [[http://www.mathematik.uni-kl.de/~greuel/en/|Gert-Martin Greuel]], [[http://www.mathematik.uni-kl.de/~pfister/en/|Gerhard Pfister]], and [[http://www.mathematik.uni-kl.de/~hannes/en/|Hans Schönemann]]).\\ Please check the [[howto::installsingular|installation details]] for the bundled extension ''singular''+**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. 
-  ** ''soplex'': SoPlex is an optimization package for solving linear programming problems (LPs) based on an advanced implementation of the primal and dual revised simplex algorithm. \\ Provides an interface to [[http://soplex.zib.de/|SoPlex]] (by Roland Wunderling, [[http://www.zib.de/members/gleixner|Ambros Gleixner]], [[http://www.zib.de/members/miltenberger|Matthias Miltenberger]], [[http://www.zib.de/members/benjamin.mueller|Benjamin Müller]] and others).\\ Please build SoPlex with ''GMP=true'' and ''SHARED=true''+ 
-  ** <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: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).
   .. Visualizes 3D- and 4D-polytopes (and much more).   .. Visualizes 3D- and 4D-polytopes (and much more).
 +  ** <BOOKMARK:PPL> ''ppl'': a modern C++ library for the manipulation of numerical information that can be represented by points in some n-dimensional vector space\\ Provides an interface to the [[http://bugseng.com/products/ppl|Parma Polyhedra Library]] (by [[http://www.cs.unipr.it/~bagnara/|Roberto Bagnara]] et al)
 +  ** <BOOKMARK:Singular> ''singular'': Working with Gröbner bases\\ Provides an interface to [[http://www.singular.uni-kl.de/|Singular]] (by [[https://www.mathematik.uni-kl.de/en/agag/people/head/prof-dr-wolfram-decker/|Wolfram Decker]], [[https://www.mathematik.uni-kl.de/en/greuel/|Gert-Martin Greuel]], [[https://www.mathematik.uni-kl.de/en/pfister/|Gerhard Pfister]], and Hans Schönemann).\\ Please check the [[install:installsingular|installation details]] for the bundled extension ''singular''.
 +  ** <BOOKMARK:scip> ''scip'': Provides an interface to [[https://scip.zib.de/|SCIP]] by the [[https://scip.zib.de/index.php#developers|developers from the Zuse Institute Berlin (ZIB)]]
 +  .. SCIP is a solver for Mixed Integer Linear and Nonlinear Problems that allows for an easy integration of arbitrary constraints.
 +  .. //Note:// Please build SCIP with ''-DGMP=true'' and ''-DZIMPL=false''. The latter is necessary due to a symbol conflict with libcdd.
 +  ** <BOOKMARK:SoPlex> ''soplex'': SoPlex is an optimization package for solving linear programming problems (LPs) based on an advanced implementation of the primal and dual revised simplex algorithm. \\ Provides an interface to [[http://soplex.zib.de/|SoPlex]] (by Roland Wunderling, [[http://www.zib.de/members/gleixner|Ambros Gleixner]], [[http://www.zib.de/members/miltenberger|Matthias Miltenberger]], [[http://www.zib.de/members/benjamin.mueller|Benjamin Müller]] and others).\\ Please build SoPlex with ''GMP=true'' and ''SHARED=true''.
  
 ===== Other interfaces to external software ===== ===== Other interfaces to external software =====
  
-The following can be enabled or disabled in a running polymake session with ''reconfigure "something.rules";''Check the output of ''show_unconfigured;'' for more help.+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 [[user_guide:howto:interface_config|here]] for help.
  
 ==== Visualization ==== ==== Visualization ====
  
-See also above for the interfaces to jReality and JavaView. +We provide bundeled extensions for jReality and JavaView, see the above sectionOther interfaces to visualization software:
- +
-  ** <BOOKMARK:threejs>[[http://threejs.org|three.js]]\\ by Ricardo Cabello. +
-  .. three.js is a lightweight 3D library with a very low level of complexity. Provides 3D-visualization in a webbrowser. +
-  ** <BOOKMARK:SplitsTree>[[http://www.splitstree.org/|SplitsTree]] \\ by David Bryant and Daniel Huson, Universität Tübingen. +
-  .. Visualization of phylogenetic trees.+
   ** <BOOKMARK:geomview>[[http://www.geomview.org/|geomview]]\\ [[http://www.geom.uiuc.edu/|Geometry Center]], University of Minnesota.   ** <BOOKMARK:geomview>[[http://www.geomview.org/|geomview]]\\ [[http://www.geom.uiuc.edu/|Geometry Center]], University of Minnesota.
   .. Visualizes 3D- and 4D-polytopes.   .. Visualizes 3D- and 4D-polytopes.
 +  ** <BOOKMARK:graphviz>[[http://www.graphviz.org/|graphviz]]
 +  .. Visualizes graphs and face lattices.
   ** <BOOKMARK:povray>[[http://www.povray.org/|POV-Ray]]   ** <BOOKMARK:povray>[[http://www.povray.org/|POV-Ray]]
   .. 3D- and 4D-visualization by high-end ray-tracing.   .. 3D- and 4D-visualization by high-end ray-tracing.
-  ** <BOOKMARK:graphviz>[[http://www.graphviz.org/|graphviz]] +  ** <BOOKMARK:SplitsTree>[[http://www.splitstree.org/|SplitsTree]] \\ by David Bryant and Daniel Huson, Universität Tübingen. 
-  .. Visualizes graphs and face lattices.+  .. Visualization of phylogenetic trees. 
 +  ** <BOOKMARK:threejs>[[http://threejs.org|three.js]]\\ by Ricardo Cabello. 
 +  .. three.js is a lightweight 3D library with a very low level of complexity. Provides 3D-visualization in a webbrowser. 
 +  
  
-==== Useful additional software ==== +==== Further Interfaces ==== 
- +  ** [[http://www.4ti2.de/|4ti2]]\\ by Ralf Hemmecke, Raymond Hemmecke, Matthias Köppe, Peter Malkin, and Matthias Walter.\\ 
-  ** <BOOKMARK:TOPCOM>[[http://www.rambau.wm.uni-bayreuth.de/TOPCOM/|TOPCOM]] (version 0.16.0)\\ by [[http://www.rambau.wm.uni-bayreuth.de/|Jörg Rambau]], Universität Bayreuth+  .. A software package for algebraic, geometric and combinatorial problems on linear spaces. 
-  .. Explores triangulations of points configurations+  ** <BOOKMARK:azove>[[http://www.mpi-inf.mpg.de/~behle/azove.html|azove]] (version 2.0)\\ by [[http://www.mpi-inf.mpg.de/~behle/index.html|Markus Behle]].\\ [[:download:start#other_software_downloads|Linux RPM available]] 
-  ** <BOOKMARK:vinci>[[http://www.math.u-bordeaux1.fr/~enge/index.php?category=software&page=vinci|vinci]] (version 1.0.5)\\ by Benno Büeler, [[http://www.math.u-bordeaux1.fr/~enge/|Andreas Enge]], and [[http://www.inf.ethz.ch/personal/fukudak/|Komei Fukuda]]. +  .. azove is a tool designed for counting (without explicit enumeration) and enumeration of 0/1 vertices. Given a polytope by a linear relaxation or facet description P = {x | Ax <= b}, all 0/1 points lying in P can be counted or enumerated. This is done by intersecting the polytope P with the unit-hypercube [0,1]dThe integral vertices (no fractional ones) of this intersection will be enumerated. If P is a 0/1 polytope, azove solves the vertex enumeration problem. 
-  .. Computes the volume of polytopes using floating point arithmetic+  .. //Note:// azove2 might not run on systems with a low percentage of free memory (change LEFTOVER_FREE_MEMORY in azove.cpp) and also under linux kernel ≥3.14 due to [[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773|changes]] in ''/proc/meminfo''. This {{:azove-mem.diff|patch}} removes the dynamic memory allocationforces a fixed number of signature nodes and thus works around the problems on recent kernel versions
-  ** [[http://www.math.ucdavis.edu/~latte/|LattE]]\\ by [[http://www.math.ucdavis.edu/~deloera/|Jesus De Loera]] and his co-authors.+  ** [[http://www.kotnet.org/~skimo/barvinok/|barvinok]]\\ by Sven Verdoolaege. 
 +  .. 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. 
 +  .. Rule files using barvinok for the computation of the number of lattice points and the coefficients of the Ehrhart polynomial are currently not part of the standard polymake distribution. They are available as a [[:extensions|separate extension]] to polymake
 +  ** <BOOKMARK:gfan>[[http://home.math.au.dk/jensen/software/gfan/gfan.html|Gfan]] \\ by [[http://home.math.au.dk/jensen/|Anders Nedergaard Jensen]], Aarhus Universitet. 
 +  .. Gfan is a software package for computing Gröbner fans and tropical varieties. 
 +  ** <BOOKMARK:homology>[[http://ljk.imag.fr/membres/Jean-Guillaume.Dumas/Homology/|homology]]\\ by Jean-Guillaume Dumas, Frank Heckenbach, B. David Saunders and Volkmar Welker
 +  .. An efficient program computing homology groups of simplicial complexes
 +  ** <BOOKMARK:latte>[[http://www.math.ucdavis.edu/~latte/|LattE]]\\ by [[http://www.math.ucdavis.edu/~deloera/|Jesus De Loera]] and his co-authors.
   .. 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". We recommend to use [[http://www.math.ucdavis.edu/~mkoeppe/latte/|LattE macchiato]] instead, the improved and enhanced version of LattE by Matthias Köppe.   .. 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". We recommend to use [[http://www.math.ucdavis.edu/~mkoeppe/latte/|LattE macchiato]] instead, the improved and enhanced version of LattE by Matthias Köppe.
   ** [[http://www.math.ucdavis.edu/~mkoeppe/latte/|LattE macchiato]]\\ by [[http://www.math.ucdavis.edu/~mkoeppe|Matthias Köppe]].   ** [[http://www.math.ucdavis.edu/~mkoeppe/latte/|LattE macchiato]]\\ by [[http://www.math.ucdavis.edu/~mkoeppe|Matthias Köppe]].
-  .. LattE macchiato is an improved version of LattE, derived from the latest release 1.2. For full functionality either choose the version "LattE, for tea, too", that also installs 4ti2 and other required packages or first install [[http://www.rambau.wm.uni-bayreuth.de/TOPCOM/|TOPCOM]], [[http://www.shoup.net/ntl/|NTL]], LiDia, and [[http://www.4ti2.de/|4ti2]].  +  .. LattE macchiato is an improved version of LattE, derived from the latest release 1.2. For full functionality either choose the version "LattE, for tea, too", that also installs 4ti2 and other required packages or first install [[http://www.rambau.wm.uni-bayreuth.de/TOPCOM/|TOPCOM]], [[http://www.shoup.net/ntl/|NTL]], LiDia, and [[http://www.4ti2.de/|4ti2]]. 
-  ** [[http://www.mathematik.uni-osnabrueck.de/normaliz/index.html|Normaliz]] \\ by [[http://www.mathematik.uni-osnabrueck.de/index.php?controller=studip&action=data&id=person_detail&username=wbruns|Winfried Bruns]], Bogdan Ichim and Christof Söger. +  ** <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]]. 
-  .. Normaliz is a (command line) 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. +  .. mptopcom is a software developed at TU Berlin and Hokkaido University for computing triangulations of point configurations in parallel.
-  ** [[http://www.kotnet.org/~skimo/barvinok/|barvinok]]\\ by Sven Verdoolaege. +
-  .. 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. +
-  .. Rule files using barvinok for the computation of the number of lattice points and the coefficients of the Ehrhart polynomial are currently not part of the standard polymake distribution. They are available as a [[:download:start#extensions|separate extension]] to polymake. +
-  ** [[http://www.4ti2.de/|4ti2]]\\ by Ralf Hemmecke, Raymond Hemmecke, Matthias Köppe, Peter Malkin, and Matthias Walter.\\ [[:download:start#other_software_downloads|Linux RPM available]] +
-  .. software package for algebraic, geometric and combinatorial problems on linear spaces.+
   ** <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.
   .. If you must use it nonetheless at the very least increase the length of the char arrays fname and outfname in porta.c, say from 20 to 255, in order to avoid some segfaults.   .. If you must use it nonetheless at the very least increase the length of the char arrays fname and outfname in porta.c, say from 20 to 255, in order to avoid some segfaults.
   .. See also the function ''porta2poly'' for importing PORTA files into polymake.   .. See also the function ''porta2poly'' for importing PORTA files into polymake.
-  ** [[http://www.math.uwo.ca/~mfranz/convex/|convex]] (version 1.1.1)\\ by [[http://www.math.uwo.ca/~mfranz/|Matthias Franz]]. +  ** <BOOKMARK:qhull>[[http://www.qhull.org|Qhull]]\\ 
-  .. Convex is a Maple package for convex geometry. It can deal with polytopes andmore generallywith all kinds of polyhedra of (in principle) arbitrary dimension. The only restriction is that all coordinates must be rational. polymake interface. +  .. Qhull computes the convex hull, Delaunay triangulationVoronoi diagramhalfspace intersection about pointfurthest-site Delaunay triangulation, and furthest-site Voronoi diagram
-  ** [[http://hamilton.nuigalway.ie/Hap/www/index.html|HAP]] (version 1.3)\\ by [[http://hamilton.nuigalway.ie/|Graham Ellis]]. +  ** <BOOKMARK:TOPCOM>[[http://www.rambau.wm.uni-bayreuth.de/TOPCOM/|TOPCOM]] (version 0.16.0)\\ by [[http://www.rambau.wm.uni-bayreuth.de/|Jörg Rambau]], Universität Bayreuth. 
-  .. HAP is homological algebra library for use with the GAP computer algebra systemand is still under development. Its initial focus is on computations related to the cohomology of groups. Both finite and infinite groups are handledwith main emphasis on integer coefficients. For polyhedral computations, HAP interfaces to polymake. +  .. Explores triangulations of points configurations
-  ** [[http://wwwb.math.rwth-aachen.de/~gutsche/gap_packages/PolymakeInterface/|polymake interface in GAP]]\\ by Thomas Bächler and [[http://wwwb.math.rwth-aachen.de/~gutsche|Sebastian Gutsche]], see [[interfaces]] for more details+  ** <BOOKMARK:vinci>[[http://www.math.u-bordeaux1.fr/~enge/index.php?category=software&page=vinci|vinci]] (version 1.0.5)\\ by Benno Büeler, [[http://www.math.u-bordeaux1.fr/~enge/|Andreas Enge]], and [[http://www.inf.ethz.ch/personal/fukudak/|Komei Fukuda]]. 
-  ** [[http://www.singular.uni-kl.de/svn/trunk/callpolymake/polymake_documentation.cc|polymake interface in Singular]]\\ by [[http://www.mathematik.uni-kl.de/~boehm/|Janko Böhm]] and Yu Rensee [[interfaces]] for more details+  .. Computes the volume of polytopes using floating point arithmetic.  
-  ** <BOOKMARK:azove>[[http://www.mpi-inf.mpg.de/~behle/azove.html|azove]] (version 2.0)\\ by [[http://www.mpi-inf.mpg.de/~behle/index.html|Markus Behle]].\\ [[:download:start#other_software_downloads|Linux RPM available]] +  ** <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]]. 
-  .. azove is a tool designed for counting (without explicit enumeration) and enumeration of 0/1 vertices. Given a polytope by a linear relaxation or facet description P = {x | Ax <= b}all 0/1 points lying in P can be counted or enumerated. This is done by intersecting the polytope P with the unit-hypercube [0,1]d. The integral vertices (no fractional ones) of this intersection will be enumerated. If P is a 0/1 polytope, azove solves the vertex enumeration problem. +  .. Generates the isomorphism classes of planar triangulations that are imbedded on the sphere.
-  .. //Note:// azove2 might not run on systems with a low percentage of free memory (change LEFTOVER_FREE_MEMORY in azove.cpp) and also under linux kernel ≥3.14 due to [[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773|changes]] in ''/proc/meminfo''This {{:azove-mem.diff|patch}} removes the dynamic memory allocation, forces a fixed number of signature nodes and thus works around the problems on recent kernel versions. +
- +
-==== Topology ==== +
- +
-  ** [[http://www.cis.udel.edu/~dumas/Homology/|homology]]\\ by Frank Heckenbach and his co-authors. +
-  .. An efficient program computing homology groups of simplicial complexes. +
-  ** <BOOKMARK:GAP>[[http://www-gap.dcs.st-and.ac.uk/~gap/|GAP]] +
-  .. 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 agreementsDon'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 rulefiles. The auto-configuration routines defined there try to find the installed software (usually by examining your ''PATH'' variable). In the case of a failure, the rulefile gets disabled until you install the lacking software package and [[general#configuration|repeat the configuration]]. +
- +
-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 as long as the backward compatibility (API and/or interchange file format, whatever appropriate) is preserved. 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 as long as the backward compatibility (API and/or interchange file format, whatever appropriate) is preserved.
  • external_software.txt
  • Last modified: 2022/08/29 15:07
  • by yuruk