lrslib is a self-contained C
implementation of the reverse search algorithm for vertex
enumeration/convex hull problems consisting primarily
of lrs (limited multithreading) and
mplrs (openMPI). Other problems in
Polyhedral Computation can also be solved, including two person
games. The library comes with a choice of
several arithmetic packages. Input file formats are
compatible with Komei Fukuda's cddlib
package. All computations
are done exactly in either multiple precision or fixed
integer arithmetic. Output is not stored in memory, so
even problems with very large output sizes can sometimes be
solved. The program is intended for Unix/Linux platforms, but will
compile using WSL or cygwin on Windows. Precompiled
Linux/Windows binaries are supplied for small problems.
lrsarith (new)is a light self-contained C package
of arithmetic routines used in lrslib.
It contains fixed precision integer/rational arithmetic in 64 and
128-bit integers as well as extended precision interfaces to
GMP/FLINT/lrsMP. A hybrid template allows automatic use of
64/128/GMP arithmetic. Overflow protection is included. Download
includes sample programs.
Download
Binaries
Debian/Ubuntu (currently v7.1):
sudo apt install lrslib (maintained by
David Bremner <bremner at debian.org> )
Documentation:
User's Guide
online
manual lrs:Theoretical Description
Computational Results lrsarith
mplrs:Theoretical
Description
Parallel Redundancy Removal
lrslib Guide
Applications
slides
Functions of mplrs/lrs
include: