January 29,2024 lrslib linux binaries v7.3 http://cgm.cs.mcgill.ca/~avis/C/lrs.html These binaries are intended for linux users with a fairly standard setup. 1. lrs/plrs use hybrid arithmetic and are recommended for most applications. plrs is a parallel version of lrs that should give good improvement for H-rep to/from V-rep conversion. Arithmetic is 64bit/128bit/GMP(using mini-gmp) lrsnashgmp computes Nash equlibiria for two person games. 2. Timing and interrupts are not supported. 3. lrsgmp/plrsgmp use GMP(mini-gmp) arithmetic only and may be much slower. 4. Input files should be plain text files, so be careful about preparing them on text editors that have hidden formatting features. vim.exe is supplied to produce plaintext inputs. 5. For the full package including full GMP support and the OpenMPI mplrs code download from https://cgm.cs.mcgill.ca/~avis/C/lrslib/archive/ ------------------------------------------------------------------------------------- Example 1: hello world % lrs cube.ine lrs:lrslib_v.7.3_2023.12.7(64bit,lrslong.h,hybrid_arithmetic) *Input taken from cube.ine cube V-representation begin ***** 4 rational 1 1 1 1 1 0 1 1 1 1 0 1 1 0 0 1 1 1 1 0 1 0 1 0 1 1 0 0 1 0 0 0 end *Totals: vertices=8 rays=0 bases=8 integer_vertices=8 max_vertex_depth=3 *Dictionary Cache: dict_limit=400 dict_count=4 misses= 0/7 Tree Depth= 3 --------------------------------------------------------------------------- Example 2: uses plrs for multithreading and illustrates hybrid arithmetic % plrs mp5.ext plrs:lrslib_v.7.3_2023.12.7(64bit,lrslong.h,hybrid_arithmetic) *Input taken from mp5.ext mp5 *volume *starting 8 threads H-representation begin ***** 11 rational 0 0 0 0 0 0 0 0 1 -1 1 0 0 0 0 0 0 1 -1 0 0 1 *lrs:overflow possible: restarting with 128 bit arithmetic plrs.exe:lrslib_v.7.3_2023.12.7(128bit,lrslong.h,hybrid_arithmetic) *Input taken from lrs_restart9lVK7d mp5 *volume *starting 8 threads H-representation begin ***** 11 rational 0 0 0 0 0 0 0 0 1 -1 1 0 0 0 0 0 0 1 -1 0 0 1 0 0 -1 1 0 0 0 0 1 0 0 0 0 0 1 -1 0 0 0 0 0 1 2 0 -1 0 -1 0 0 0 0 -1 0 2 0 0 0 0 -1 0 -1 0 -1 0 0 0 0 0 0 1 0 1 0 -1 0 0 0 0 0 0 -1 1 0 1 0 0 0 0 0 0 0 0 -1 1 0 0 1 0 1 0 1 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 -1 1 1 2 -1 0 -1 0 0 -1 0 0 0 0 0 -1 0 1 0 0 1 0 0 0 0 2 -1 0 0 -1 0 0 -1 0 0 0 2 0 0 0 0 0 -1 -1 0 0 -1 0 0 1 1 0 0 0 0 -1 0 0 0 1 1 0 0 -1 0 0 0 0 0 0 0 0 0 0 1 -1 0 1 0 0 0 0 0 0 0 1 1 0 -1 0 0 0 0 -1 0 1 0 0 0 0 1 0 0 0 0 0 0 -1 0 1 0 1 0 0 1 0 0 1 0 0 -1 0 0 0 0 -1 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 -1 0 0 0 -1 1 0 0 0 0 0 1 0 1 0 -1 0 0 1 0 0 0 0 0 1 0 0 -1 0 0 1 0 0 0 0 0 1 0 -1 0 0 0 0 1 0 0 -1 0 0 1 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 -1 0 0 0 0 0 0 0 1 1 0 0 -1 2 0 0 0 0 0 0 0 -1 -1 -1 0 0 0 0 0 1 0 -1 0 1 0 2 0 0 0 0 -1 -1 0 -1 0 0 0 0 1 -1 0 0 0 0 1 0 0 0 1 -1 0 0 1 0 0 0 0 0 2 -1 -1 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 -1 2 0 0 -1 -1 0 0 0 0 0 -1 2 0 -1 -1 0 0 0 0 -1 0 0 end *Volume=4/1701 *Totals: facets=40 bases=14108 max_facet_depth=12 *Dictionary Cache: dict_limit=400 dict_count=114 misses= 0/14077 Tree Depth= 17 *threads=8 counts: 445 41 3532 3808 2195 1235 2804 47 *children=11 counts: 47 3 3532 14 2195 1235 2804 14 3805 27 431 *overflow checking on lrslong arithmetic *plrs:lrslib_v.7.3_2023.12.7(128bit,lrslong.h,hybrid arithmetic)*elapsed time: 0 seconds ------------------------------------------------------------------------------------- Example 3 Compute Nash equilibria % lrsnashgmp game *lrsnash:lrslib_v.7.3_2024.1.24(64bit,lrsgmp.h)mini-gmp 2 1/3 2/3 4 1 2/3 1/3 0 2/3 2 2/3 1/3 3 1 0 1/3 2/3 8/3 2 1 0 3 1 0 0 1 4 *Number of equilibria found: 3 *Player 1: vertices=5 bases=5 pivots=8 *Player 2: vertices=3 bases=1 pivots=8 *lrsnash::lrslib_v.7.3_2024.1.24(64bit,lrsgmp.h)