### What's new in
lrslib
March 4, 2022

What's new in Version 7.2

What's new in Version 7.1
What's new in Version 6.2
(User's
guide for V6.2 and earlier)
What's new in Version 6.1
What's new in Version 6.0

### What's New in Version 7.2

1. Fourier elimination
is now included in lrs/mplrs

2. lrs now runs in 4 modes depending on presence of options:

default: H/V to V/H conversion

redund: remove
redundant lines in input

extract: remove
linearities for H, extract columns for V

project/eliminate: fourier
elimination

3. checkpred/projred
checks for redundancy of halfspaces in the projection of an
H-representation using an SMT solver

4. mplrs renumbers B# when printcobasis is set in lrs causing
global B# numbers to be output

5. maxdepth lrs option implemented in mplrs

6. various shell scripts are now in the scripts directory

plotB produces a plot from mplrs output showing B#
and height for each new vertex/ray/facet output

7. man pages (groff and html versions) are included for most
lrsliboperations

### What's New in Version 7.1

1. All C version replaces Version 7.0 (which was a work in progress
and has been removed from distribution)

2. redund programs are replaced by an option
in mplrs/lrs with parallel version now available

3. hybrid (64bit/128bit/GMP) arithmetic implemented: speedups of
roughly 3-5 times (64bit) and 2 times(128bit) over GMP arithmetic
for problems using small integers.

4. overflow checking for 64/128 bit arithmetic

5. __int128 (gcc v.4.6.0 or later) and FLINT arithmetic now
supported

6. lrsgmp, mplrsgmp uses only GMP
arithmetic, same as lrslib-062

7. lrs/mplrs start in 64 bit
moving to 128 bit and then to gmp arithmetic as necessary

8. single arithmetic versions (64bit/128bit/GMP) of lrs/mplrs available for comparison purposes

9. single arithmetic versions of lrsnash
are available with overflow checking

10. extract option in lrs (only) can be used
to eliminate variables in
H-representation and extract columns
in a V-representation

11. hvref program makes a cross reference list between H and V
representations

12. lponly option extended to
include four different pivot rules: Dantzig, Bland, random edge and
combined Dantzig/random edge

13. Communication between mplrs and lrs is by data structures rather
than temporary files

14. plrs is no longer supported

15. removing the -DSAFE option disables overflow checking in 64/128
bit mode and results are unpredicable if overflow occurs

16. mplrs now prints maximum tree
depth at end and supports printcobasis option in input files

### What's New in Version 6.2

**mplrs:** new command-line options, improved
performance on large-output instances, volume output added

### What's New in Version 6.1

**lrs: **memory leaks fixed
**mplrs:** checkpointing after
restart fixed
**nash:** new version of nash driver and new nash library, mostly by
Terje Lensberg, memory leak and earlier bug in nash fixed

### What's New in Version 6.0

** mplrs:** C wrapper prepared
by Skip Jordan for lrs that allows for parallelization using the
MPI library over a network of multi-core machines. It is derived
from Gary Roumanis' earlier C++ wrapper **plrs**.
**mplrs **includes many
modifications to ensure load balancing.

Installation and usage are described here.

**plrs** is designed for shared
memory machines and should improve on **lrs**
even on dual core machines. **mplrs**
is designed for machines and/or networks with at least 4
processors. (plrs is discontinued from
Version 7.1)

Some additonal options were added to **lrs** in order to help with load
balancing, in particular maxc