For all basic functionalities of the HeLP-package (using only the solver normaliz) the standard GAP-installation should suffice to make everything work: Get the most recent GAP from the GAP-webpage by following the instructions on the Download-page. Make sure to also install all packages needed to run HeLP. Then just start GAP and type LoadPackage("HeLP");
.
Here is a checklist what to do, if the package does not work or you also want to use the solver 4ti2:
Make sure you have sufficiently new versions of the following software:
GAP (at least 4.8.2)
the GAP-package CTblLib (at least 1.2.2)
the GAP-package IO (at least 4.2; see also the next bullet point if this package can not be loaded)
the GAP-package 4ti2Interface (at least 2015.04.29; this package needs the IO-package)
the GAP-package NormalizInterface (at least 0.9.6)
Usually all these packages should come with a sufficiently recent GAP-installation (4.8.3 or newer) and should be contained in the pkg-folder of the GAP-installation. To see if they are working you can load them by typing LoadPackage("[name]");
after starting GAP, where [name]
is the name of the package.
The IO-package needs a C-part to be compiled. To see if this has already been done on your system, you can enter LoadPackage("IO");
after starting GAP. If the result is fail
and the package is contained in the pkg-folder, than most likely the C-part is not yet compiled. For information on installation and in particular on how to compile the C-part, see the manual (in particular Chapter 2) or the README-file of that package.
The installation of normaliz is possible via the GAP-package NormalizInterface (at least 0.9.6). Just access the folder in a terminal and do ./build-normaliz.sh; ./configure; make
.
If you want to use 4ti2, please make sure that 4ti2.github.io (Version 1.6.5 or newer) is properly installed. In case of an error-message "The executable 'zsolve' provided by the software 4ti2 was not found." after typing LoadPackage("HeLP");
either the software is not properly installed or installed in a directory where GAP can not find it, i.e. a directory not contained in the path-variable. The content of this variable can typically be displayed by typing echo $PATH
(Linux, Mac) echo %PATH%
(Windows) in a terminal or a command prompt. The manual of 4ti2 contains several pages of information on how to install the program. Note that the installation of 4ti2 requires gcc (g++) and gmp installed (which come with many Linux installations or can be installed using a package manager). Make sure to execute all four commands indicated in the 4ti2 manual (possibly without the --prefix=
-part):
./configure --prefix=INSTALLATION-DIRECTORY
make
make check
make install-exec
Depending on the settings of your system you might need root privileges (type sudo
in front of every command) to unpack the files and install them. To check whether the installation worked, you can enter zsolve
in a terminal. In case one of the required programs (g++ or gmp) was not installed when running make
for the first time, you might need to run make clean
and the above commands afterwards again (several times) to compile 4ti2 successfully. If you already have 4ti2 installed in a directory not contained in the path-variable and want to avoid a re-installation, in many cases the following helps:
Start a terminal and access a path written in your bash or system_bash. Typically usr/local/bin
should work.
Run ln -s /[PathToZsolve] zsolve
, where [PathToZsolve]
is the path to the executable zsolve. This sets a symlink to the right place. E.g. ln -s /opt/4ti2/bin/zsolve zsolve
was used on the (Linux) computers in Stuttgart.
In case you use 4ti2, we also recommend to install lrslib, at least version 4.3. This software provides the 'redund' command, which can be switched on and off within HeLP, but which often leads to better performances (cf. HeLP_UseRedund
(3.5-2)). For installation see the User's Guide or the Readme-file on the above mentioned homepage. Usually, after unpacking in a directory contained in the path-variable it should be enough to call
make all
(possibly as root) inside the lrslib-directory.
If this does not help to get HeLP running, please feel more than welcome to contact one of the maintainers of the package.
The reason, why the programs 4ti2 and normaliz are used in this package, is basically that they can solve systems of linear inequalities efficiently and there exist good GAP-Interfaces for them. However there is only one line of code where a function is called which accesses 4ti2 and a few more for normaliz. Thus the effort of using another solver of inequalities would be not so big, if there is a GAP-Interface for it. If you are aware of such a solver and would like to use it in this package, please contact the authors of this package. We will be happy to help.
generated by GAPDoc2HTML