Polymake

In particular, its capability to compute the convex hull and lattice points of a polytope proved itself to be quite useful for different kinds of research.

[5] Secondly, it exhibits an internal client-server scheme to accommodate the usage of Perl for object management and interfaces as well as C++ for mathematical algorithms.

polymake builds a dependency graph outlining the steps to process each request and selects the best path via a Dijkstra-type algorithm.

[7] polymake version 1.0 first appeared in the proceedings of DMV-Seminar "Polytopes and Optimization" held in Oberwolfach, November 1997.

[19] polymake is highly modularly built and, therefore, displays great interaction with third party software packages for specialized computations, thereby providing a common interface and bridge between different tools.