Release date: June 20, 2011.
polytope
: The system can now work with arbitrary cones, possibly with a lineality space of positive dimension. Polytopes are derived from these cones; this is backwards compatible with polymake
s description of a polytope via its homogenization.
fan
to deal with polyhedral fans and polyhedral complexes. Have a look at our tutorial on polyhedral complexes!
We have a first preliminary interface to Gfan which is used for computing secondary fans.
polytope > $sec_fan_of_square=fan::secondary_fan(cube(2)->VERTICES); polymake: used package gfan Gfan is a software package for computing Groebner fans and tropical varieties. Copyright by Anders Jensen http://www.math.tu-berlin.de/~jensen/software/gfan/gfan.html
The crosscut complex of a polytopal complex is homotopy equivalent.
polytope > $crosscut=new topaz::SimplicialComplex(FACETS=>rows($sec_fan_of_square->MAXIMAL_CONES));
This can be exploited to compute the (reduced integral) homology:
polytope > print rows_labeled($crosscut->HOMOLOGY); 0:{} 1
The two connected components are the two vertices of the 0-sphere corresponding to the two ways to triangulate a square.
polymake
learned how to deal with permutation groups via an interface to the C++-library PermLib written by Thomas Rehn.
It is now possible to relate one (or more) GroupOfCone
to a cone or a polytope via the new property GROUP
which encapsulates symmetry information about the object. A GroupOfCone
is a permutation group given by some GENERATORS
that can act on three different domains: RAYS (DOMAIN⇒1), FACETS (DOMAIN⇒2), or COORDINATES (DOMAIN⇒3), see the following example:
polytope > $p=cube(3); polytope > $g=new group::GroupOfCone(DOMAIN=>3,GENERATORS=>[[1,2,0],[0,2,1]]); polytope > $p->GROUP=$g; polytope > print $p->GROUP->RAYS_IN_ORBITS; polymake: used package permlib A callable C++ library for permutation computations. Written by Thomas Rehn. http://www.math.uni-rostock.de/~rehn/software/permlib.html {0} {1 2 4} {3 5 6} {7} polytope > print $p->GROUP->FACETS_IN_ORBITS; {0 2 4} {1 3 5} polytope > print $p->GROUP->COORDINATES_IN_ORBITS; {0 1 2}
TPLib implements the tropical version of the double description method.
tropical > $p=new TropicalPolytope(POINTS=>[[1,0,0],[0,1,0],[0,0,1]]); tropical > print $p->HALF_SPACES; polymake: used package tplib TPLib: Tropical Polyhedra Library Copyright by Xavier Allamigeon https://gforge.inria.fr/projects/tplib/ (<0 0 0> {0 2}) (<0 0 1> {2}) (<1 0 0> {0}) (<0 0 0> {1 2}) (<0 1 0> {1}) (<0 0 0> {0 1})