August 24, 2018: 4ti2 version 1.6.8 is released on the occasion of the Oberwolfach workshop on New Directions in Stochastic Optimisation. This is a bugfix release.
August 19, 2018: 4ti2 is now on GitHub at https://github.com/4ti2/4ti2.
News in 4ti2 version 1.6.9, compared to 1.6.8: * Updates to test suite. * qsolve/groebner code: More detailed warnings for PROJECT vs. PROJECT.mat * Fix out of bounds vector access in circuits. Reported by Jerry James for Fedora. News in 4ti2 version 1.6.8, compared to 1.6.7: * Updates to test suite and build. * Fix _4ti2_rays_create_state, _4ti2_circuits_create_state. Reported by Alfredo Sánchez-R. Navarro. * Merge Debian patch for PATH_MAX on Hurd. Patch from Jerome Benoit. News in 4ti2 version 1.6.7, compared to 1.6.6: * Add missing amsabbrvurl.bst file required for rebuilding the documentation. Reported by Jerome Benoit for Debian. * Add tests for "walk -p arb" to testsuite * Build fix for Debian bug 801117 (underlinked library). Patch from Jerome Benoit. * Fix division-by-zero in "walk -p arb" for testcase 344. Reported by Jerome Benoit for Debian. News in 4ti2 version 1.6.6, compared to 1.6.5: * Fix segfault in graver when a matrix with trivial kernel is input (testcase graver/trivial-kernel). Reported by Alfredo Sanchez. News in 4ti2 version 1.6.5, compared to 1.6.4: * Fix build failure with gcc 4.9.2. News in 4ti2 version 1.6.4, compared to 1.6.3: * Improved error checking while reading zsolve input files. Reported by Sebastian Gutsche. * The PDF manual has been updated to include a reference to commands and their options and a reference to the API. The command reference on www.4ti2.de has also been updated. * Better option handling. Make long options available in non-GNU platforms such as Mac OS X. All commands now support the standard --help and --version options. * Minor fix to the test suite. Reported by Luis David Garcia-Puente. News in 4ti2 version 1.6.3, compared to 1.6.2: * The manual has been updated. * Minor build fixes. News in 4ti2 version 1.6.2, compared to 1.6.1: * Use GLPK's new glp_* API instead of the old lpx_* API (declared obsolete in glpk 4.47 and removed in 4.52). (Patch by Jerry James for Fedora.) News in 4ti2 version 1.6.1, compared to 1.6: * Compile fix for XCode 5.0.2, Apple LLVM version 5.0 (clang-500.2.79). News in 4ti2 version 1.6, compared to 1.5.2: * Restore the functionality of "hilbert" in versions up to 1.3.2 to accept "rel" files. This signalled an error in the 1.4 and 1.5 series. (Note that "zsolve" did accept "rel" files in the 1.4 and 1.5 series.) * When the cone is not pointed, "hilbert" now outputs a "zfree" file, containing a lattice basis, in addition to the "hil" file. Note that in the non-pointed case, Hilbert bases are not uniquely determined. Let zfree_1, ..., zfree_k be the vectors in the "zfree" file and hil_1, ..., hil_l be the vectors in the "hil" file. Then a Hilbert basis of the non-pointed cone is hil_1, ..., hil_l, -(hil_1 + ... + hil_l), zfree_1, ..., zfree_k. (In the 1.3 series, "hilbert" silently appended the lattice generators to the "hil" file. Thus the list of vectors in the "hil" file was not a Hilbert basis of the non-pointed cone; this was a bug. Note that "zsolve" did work correctly in the 1.3 series.) * Fix a bug of zsolve and hilbert on 64-bit platforms (where sizeof(unsigned long) > sizeof(int)), which affected problems with more than 32 variables and could lead to wrong results. (Testcases a1, dutour-testcase-2013-08-21). * Accept longer filenames. * Enable shared library builds on the Cygwin platform (using the libtool -no-undefined flag). (However, this requires that shared libraries of GMP, GLPK are available.) * Use gnulib to provide getopt_long if not available in the system libraries. * If the C++ compiler does not have int32_t and int64_t, use int and long int instead. * Fixed bug in lattice transformation with too few rows. (Reported by Jerry James for Fedora.) * Fix a build failure with gcc 4.7. (Patch by Jerry James for Fedora.) News in 4ti2 version 1.5.2, compared to 1.5.1: * Build a GMP-only 4ti2 if the C++ compiler does not have int32_t and int64_t. News in 4ti2 version 1.5.1, compared to 1.5: * Fix a build problem with --enable-shared. News in 4ti2 version 1.5, compared to 1.4: * Latest version of new qsolve. News in 4ti2 version 1.4, compared to 1.3.2: * Portability fixes * New abstract C and C++ API (callable library), header files in 4ti2/ * New implementation of zsolve in C++Changes in version 1.3.2
This release fixes minor bugs and portability problems. It is a source-only release, using a new build system (GNU Autotools). It has been tested on GNU/Linux (i386 and AMD64 architectures), Windows (with Cygwin), Solaris (SPARC), and Mac OS X.
New functionality in version 1.3.1
There are quite some changes and new functions with this version (compared to version 1.2).
IMA tutorial problems
Talk at IMA, 25 October, 2006