PORTA is a collection of routines for analyzing polytopes and polyhedra. The polyhedra are either given as the convex hull of a set of points plus (possibly) the convex cone of a set of vectors, or as a system of linear equations and inequalities.

The name PORTA is an abbreviation for POlyhedron Representation Transformation Algorithm and points to the basic function 'traf'. This function performs a transformation from one of the two representations to the other representation. For this, 'traf' uses a Fourier - Motzkin elimination algorithm which projects a linear system on subspaces x i = 0 . This projection of a given system of linear inequalities can be done separately by using the function 'fmel'.

Sometimes it is of interest to know all integral points contained in a polyhedron which is given by a system of linear equations and inequalities. For this one has the function 'vint' which enumerates all the valid integral points within given bounds. As a special function in this context 'fctp' checks the facet inducing property of a set of linear inequalities for a polyhedron given as a convex hull plus a convex cone. The function 'fctp' uses a function 'dim', which computes the dimension of a polyhedron given as a convex hull plus a convex cone. Finally 'portsort' is helpful to make datafiles readable. portsort sorts and formats given systems.

All functions read and write the data from and to files. Such files can be manipulated by the user with a default texteditor. PORTA guarantees correct numerical results, because only integer operations are performed. If an arithmetic overflow occurs with the systems integer arithmetic then the computations can be restarted with a double precision integer arithmetic.

© 1997 Thomas Christof, Andreas Loebel


Originally, PORTA has been written by Thomas Christof and maintained later on by Andreas Löbel. The current maintainer of this website is Sebastian Schenker. There is currently no official support for PORTA. If you encounter problems or bugs, you can send Sebastian a decent problem description or a bugfix and he will try to deal with it. However, a response cannot be promised.


Current release version: 1.4.1

Source code: zip


PORTA is distributed under the GNU General Public Licence.