GAP (HeLP) - Chapter 6: Remarks on technical problems and the implementation

Goto Chapter: Top 1 2 3 4 5 6 Bib Ind
[Top of Book] [Contents] [Previous Chapter] [Next Chapter]

[MathJax on]

6 Remarks on technical problems and the implementation
6.1 Making the HeLP-package run
6.2 How much 4ti2 and normaliz is really there?

### 6 Remarks on technical problems and the implementation

#### 6.1 Making the HeLP-package run

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 run `InstPackages.sh` as explained there. This should install all packages needed to run HeLP. Just start GAP and type `LoadPackage("HeLP");`. In GAP 4.8.2 the NormalizInterface has to be updated to version 0.9.6 or newer which can be obtained from the website of the package. For GAP 4.8.3 or newer this should not be necessary anymore.

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.2 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 www.4ti2.de (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 (note that version 4.2 or older sometimes produces unwanted behavior). 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.

#### 6.2 How much 4ti2 and normaliz is really there?

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.

[Top of Book] [Contents] [Previous Chapter] [Next Chapter]
Goto Chapter: Top 1 2 3 4 5 6 Bib Ind

generated by GAPDoc2HTML