Some functions, like convex-hull computation or graph visualization, are implemented in several fashions, using
different algorithms, libraries, or visualization engines. The choice between the implementations can't always be made
from the sole algorithmical complexity point of view; instead, you are allowed to establish own preferences, based
on your subjective taste.
Let's recall that preferences can be manipulated in two ways. Permanent settings introduced by prefer statements
in the rule files or prefer user comands, are stored in the user's private file ~/.polymake/prefer.pl.
Temporary changes are made by calling user functions with the same names as the top-level labels.
They hold until the user script finishes, or the input line in the interactive mode is interpreted completely.
The top-level labels defined in the application polytope are:
Use JavaView - default tool for the visualization of 3- or 4-dimensional geometric objects.
Recently you can also use it for graph visualization. The 3-d spring embedder starts with random node placement, so
you have a chance to get various embeddings when trying it several times.
Use the double description method as implemented in cddlib.
It is the default algorithm for computation of facets from points or dually.
It operates with arbitrary precision arithmetic (GMP).
Use the sequential (beneath-beyond) convex hull algorithm. It performs well at lower dimensions
and produces a triangulation of the polytope as a byproduct. There is no dual (vertex enumeration)
implementation of this algorithm.
Run the porta program, implementing the Fourier-Motzkin elimination method.
The essential drawback of this tool is that it employs a limited-precision arithmetic,
and therefore can fail on numerically difficult problems.